58
$\begingroup$

I understand OpenCV is the de facto library for programming image processing in C/C++; I'm wondering if there is a C or C++ library like that for audio processing. I basically want to filter raw waves from a microphone, and analyze them with some machine learning algorithms. But I may eventually also need:

  • Multiplatform audio capture and audio playback
  • DSP - Audio filters
  • Tone detection
  • Tonal property analysis
  • Tone synthesis
  • Recognition given some recognition corpus and model
  • Speech / music synthesis

Any advice would be appreciated.

$\endgroup$

5 Answers 5

31
$\begingroup$

Consider the following:

clam-project.org:

CLAM (C++ Library for Audio and Music) is a full-fledged software framework for research and application development in the Audio and Music Domain. It offers a conceptual model as well as tools for the analysis, synthesis and processing of audio signals.

MARF:

MARF is an open-source research platform and a collection of voice/sound/speech/text and natural language processing (NLP) algorithms written in Java and arranged into a modular and extensible framework facilitating addition of new algorithms. MARF can run distributedly over the network and may act as a library in applications or be used as a source for learning and extension.

aubio:

aubio is a tool designed for the extraction of annotations from audio signals. Its features include segmenting a sound file before each of its attacks, performing pitch detection, tapping the beat and producing midi streams from live audio.

$\endgroup$
0
9
$\begingroup$

If you are into music information retreival you should definitely check out:

MARSYAS

$\endgroup$
8
$\begingroup$

These may be at a different level but worth a look > http://the.echonest.com/ and http://vamp-plugins.org/

$\endgroup$
1
8
$\begingroup$

You may want to check out the different code libraries available from the Princeton Sound Lab such as STK (MARSYAS mentioned by cufmo is but one of their projects). You may be able to achieve the goals for your project by combining the relevant features of the different libraries there.

$\endgroup$
1
$\begingroup$

Despite this is not library but it can also help:

https://paperswithcode.com/task/speech-enhancement

This place is repository for usefull algorithms (through paper submission) and also you may find it's code implementation. And I think it's deserve if we could help it to grow.

$\endgroup$

Your Answer

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

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