How Do I Automate Audacity?

I need to automate the process of applying a noise removal filter, reduce echo, use the sound finder to find audio, and then get its length in milliseconds. How do I do this?

What sort of noise do you want to remove?

How do you intend to do that? Reducing echo is notoriously difficult to do in post production.

And do what with it? Read it? write it to a file?

Have you thought this through?
What’s the job?

This is what I am recording:

It represents a beep from my computer and then following is the beginning of a print job.
I am using Audacity to record the process and then to find the length of each section automatically. Is there a way to determine the length of each individual beep and print and output it to a file?

What I would like to do is have a program that applys the StereoToMono, ChangeSpeed, Compressor, and NoiseRemoval effects and then uses the Sound Finder analysis to find the audio and return each parts length in order to get an average time, all done automatically. Is this possible?

Some, but not all of the tasks can be automated.
See here:

Tasks and if they can be done in Chains:
Stereo to Mono - Yes
Change Speed - Yes
Noise Removal -Yes, but you will need to use the same noise profile for all files.
Reduce echo - No, not in a chain or manually. Probably the closest would be to use a Noise Gate.
Compressor - Yes

Sound Finder can not run in a Chain and does not output a file - it just outputs labels. However, as this is a Nyquist effect it would be possible to modify the code so that it can run in a Chain and output to a text file. Unless you already have experience programming in Nyquist or LISP, making the necessary modifications will be moderately difficult, but I can help you if you want to give it a go.

Okay I have figured out how to automate those effects with the Chain, but can you show me how to add the Sound Finder to the Chain and how I can output the time of each of the labels in order to find an average time? I appreciate all the help!

Thank you. Can you assist me in making SoundFinder used in my Chain as well as outputting each length of audio to an output file for processing?


The first things that you will need are:

  1. A good text editor. For Windows I would recommend Notepad++ which you can get (free) here:
  2. The latest development version of Audacity (we will be using a feature that is not yet in the release version. The most recent “nightly” build is available here:

I’ll start a new topic dealing with the customisations, but in the mean time:

  • Install the latest Nightly “Unicode Release Zip” and check that it works correctly,
  • Install Notepad++ and find out: (a) how to set the language to “LISP” (b) how to enable parentheses matching (bracket matching) - this is probably enabled by default but I don’t remember for sure.
  • Familiarise yourself with how to install Nyquist plug-ins
  • Have a browse through these pages to get a basic idea about Nyquist programming:

I’ll post a link to the new topic shortly.

Okay. Which build should I have downloaded exactly?

Unicode Release, zip, 11 June 2012, r11774 — 8.0 MB

It doesn’t need “installing”, just unzip (extract) it into a new folder somewhere convenient.

If you want to “sandbox” this version from your normal production version of Audacity (recommended):
After extracting the ZIP file, go into the folder where you extracted it and create a new empty folder and name it Portable Settings.
This will now be a self-contained Audacity 2.0.1 (alpha) installation with its own preferences and plug-ins.

Okay I am installed and ready. What is the next step?

I’ve started a new topic here:

I’ll be referring to line numbers in the code, so ensure that you have line numbers showing in Notepad++
I’ll post the next “instalment” in an hour or so (got a few things that I need to do).

It should be all pretty straightforward so far.
Have a read through this page:

See you over at the new topic in a bit.

Okay thank you, Ill be here waiting for you to come back

I’ve posted some stuff here:
We can continue the conversation there.