I need an audio processing library/API (in any programming language, preferably Java or Python) that is able to do things to sound waves such as: sum/mix sources together, apply EQ, dynamic EQ where you can change a frequency peak or amplitude setting over time, pitch shift, distortion, and convolution reverb, all programmatically without any need for a user interface.

Someone asked "If there were, why would there be a market for premium commercial DAW software?" Obviously this wouldn't be for the actual music-making composer or sound engineer because it would be unusable (it wouldn't have a GUI). I need it to automatically manipulate sound so I can churn out millions of random not-necessarily-musical sound files, without a GUI.

This is not same as the "OpenCV for audio" question, because I don't need intelligent audio feature extraction; I just need the standard features of DAW such as EQ and convolutional reverb, available as an API call, like soundFile.applyEq(myEq).applyConvReverb(myReverb);


For python, I'd try out:

  1. pydub for basic audio manipulation and arrangement (slicing, concatenation, fading, repeating, etc).
  2. For effects processing, pyo is a good python signal processing module with a musical focus. Here's a comprehensive review, with inline clips.

Together you should be able to get good coverage of most DAW functions. There are also fantastic python audio libraries like librosa, in case you do decide to do any feature extraction or audio analysis. Good luck!


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