Any OpenCV-like C/C++ library for Audio processing?

bdutta74 picture bdutta74 · Aug 4, 2011 · Viewed 46.6k times · Source

Is there anything more out there, that resembles (in spirit) OpenCV, but for processing audio and deriving some intelligence from it ? Capabilities could range from:-

  1. Multiplatform audio capture and audio playback
  2. DSP - Audio filters
  3. Tone detection
  4. Tonal property analysis
  5. Tone synthesis (various standard waveforms)
  6. Recognition given some recognition corpus and model (e.g. determine musical instruments, beats, human speech etc.) -- could potentially use other open-source projects for the actual recognition part (sphinx)
  7. Speech / music synthesis -- could be again using some other open-source projects (festival)

It is fine if the library works on raw audio s.t. format/encoding conversion are external issues handled by other existing libraries (s.a. from ffmpeg).

I am not an expert in this field, but need to use such API, and wondering if such libraries exist, so my choice of terms to determine capabilities is probably not the best, so experts might like to edit this question.

Answer

Jong Bor Lee picture Jong Bor Lee · Aug 4, 2011

For audio capture and playback, portaudio comes to my mind.

For audio processing, STK looks promising.

Have a look at this related question too: Can anyone recommend a decent DSP/speech library in C++?

I recommend these three libs:

  1. very easy to use and friendly for general signal processing Aquila-dsp

  2. strong lib for audio signal processing although hard to use and it's very big and complicated for beginners: CLAM Project

  3. another one I have no experience about it, is worth considering though. tspl