automation scripts with triggers / arm?

I use Audacity to digitize a lot of speaking audiocassettes. Lots.

Would love a way to help automate the digitizing process.

Any ideas that might scripting, e.g.

  • help by offering scripts that would start, take a sample of the tape hiss silence at the head and tail, apply noise reduction based on the tape hiss silence, trim silence at the head and tail, insert a small sound effect to indicate the 2nd side of the tape, and then add the 2nd side of the tape in the same way the first way (i.e. detection of tape flip area), etc.

  • also reporting on peak volume, and probable noise floor, estimated length of tape, detection of wow and flutter

  • advanced automated plugins for the next decade would be: speaker identification database, speech to text conversion, library duplicate audio detection, automated cataloging database of speech recordings (by speed of speaker, language complexity, language spoken, voice sound (typical note), cadence detection, etc.


  • also before all those latter ideas which require additional other FOSS libraries to be developed…

  • please consider adding some sort of “trigger button” input so that I could wire up an sensor on the deck to automatically start/stop recording, rr/ff etc.

  • lastly, is there any reason the Linux version wouldn’t port easily to Raspberry Pi? Such a device embedded into a cassette recorder/player running automated audacity could be pretty great.

Noise Reduction is tricky to use in scripts because it is a two stage process, and selecting “Get noise profile” is already automated within the effect as the default action when Noise Reduction is used for the first time in the session. Although it is possible to work around this limitation to some degree, it’s not really suitable as a script for public release.


The ACX Check plug-in can show noise floor and peak level (See: Missing features - Audacity Support)
As ACX-Check is a Nyquist plug-in, it is relatively easy to modify.
The Nyquist code to get the length of a selection is:

(get-duration 1)

I don’t know how you would detect the amount of wow and flutter. I think that would be extremely difficult unless using a calibrated test signal tape,


Audacity can be built on Raspberry Pi (searching Google will reveal several people have already done so), but it is not easy to build and does not run very well due to the hardware limitations. A classic case of “your mileage may vary”.