I am starting audio production after many years in software development. I have produced some audio for video in Final Cut Pro and now I want to go to the next level. After I finish the project, I may want to change some settings, which is cumbersome in FCPX (if I want to increase sound adjustment from 10 dB to 11 dB, I need to select them by hand and adjust, instead of doing "find-and-replace" of 10 dB to 11dB). Also, the size of the Final Cut Pro project is quite large.

I am looking for an audio editor where the project file is plain text, which I understand to be an edit decision list (EDL). My goals are:

  • to separate heavy digital assets from the light edit decision list
  • to put the edit decision list into a version control system like Git and GitHub
  • to automate some parts of editing, e.g. find-and-replace on pauses and dB levels
  • to use standard audio production techniques: noise gate, noise removal, frequency spectrum adjustment, limiter, compressor, and depulsive filter (removing the pop's in the plosives B and P)

Ideally, the editor would be open source and work on macOS, but I'm open to anything.

I understand that Audacity does all of these except the plain-text part, which means that any edits are destructive, so "version-control" works by saving the project each time.

Three examples outside of audio production are AviSynth, whose Edit Decision Lists are very a few KB of text; OpenSCAD in 3D modelling, which generates STL files from plain-text files that are two orders of magnitude smaller; Inkscape, which reads and writes plain-text SVG files.

Does such a tool exist?

1 Answer 1


You can script Audacity from an external python script (with the output file being separate from the input file so as to provide non-destructive editing) with the scripts being plain text, python, files.

There is a huge selection of Audio processing and production software in the Python work some of which may provide what you need. A curated list can be found in the python wiki.

  • I like the ability to batch-process files, e.g. applying a compressor-limiter of segments of a file. I presume this is a more advanced solution; my idea was an entry-level program where I could work on the audio in real time and see the edit decision list in plain text at the same time.
    – emonigma
    Commented Sep 4, 2020 at 18:45
  • 1
    @miguelmorin - it is worth noting that an Audacity project file (*.aup) is plain text (in an XML format) and that Audacity edits are non-destructive as long as you do not export the file over the original. Commented Sep 5, 2020 at 9:28
  • Yes, I confirm that Audacity files are plain text. The digital assets are saved at <project name>_data/eff/d1b/eff1b038.au and I can't immediately see the relation to the source files. I've had trouble scripting Audacity and noise reduction is not available from scripting.
    – emonigma
    Commented Sep 6, 2020 at 10:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.