Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to write C++ audio processing applications? [closed]

I'm an Electronics and Telecommunications student, next to my graduation. I'm gonna work on a project that involves my knowledge about DSP, music and audio in general. I allready know all the basic mathematic instruments and all the stuff I need to manage it, such as FFT, circular convolution ecc ecc.

I want to learn C++ programming basically for one reason: it's very important in the professional world!!! And I think it's one of the most used to write applications working with audio, especially when it's about real time processing.

Ok, after this small introduction I would like to know first, which are the most used libraries to work with audio processing in c++?? I was longer looking on the web but i couldn't find a lo of working stuff. (I work under linux with eclipse CDT enviroment).

Then I would like to know if there are good sources to learn how to write some working code, such as for example how to write a simple low pass filter. Basically now i will not write real time applications, I would like to start from the processing of a WAV file, or even better an MP3 file, so basically on vectors of samples.

Let's say that basically for now I would like to extract the waveform from an audio file, and save it to a thumbnail or to a PNG image.

Ok, for now I think it's all I would need.

Any ideas, advices, libraries, books, interesting sources about that?

Thanks a lot in advance for any kind of answer.

Giovanni.

like image 354
Cesko82 Avatar asked Mar 08 '10 06:03

Cesko82


2 Answers

I would suggest for you to write your own WAVE file reader and writer in C++, without relying on external libraries. The WAVE format is fairly straight forward, at least if you only intend on supporting the most common wave files.

Then you'll have access to the audio data, which you can easily manipulate in C++. I would recommend starting by modifying the volume, the number of channels to calculating statistics on the audio. Creating a PNG of the audio waveform requires some more advanced C++ skills...

like image 57
Warpin Avatar answered Sep 28 '22 02:09

Warpin


Checkout this link which will give you some information on the available (commercial and open source) audio editing softwares.

Some interesting open source audio editing tools which are written in c++,

  1. Audacity
  2. LMMS
  3. Qtractor
  4. Ardour
  5. Rosegarden

C++ library for audio processing.

  1. SndObj
  2. The Synthesis ToolKit in C++

C++ Code and links related Filters and audio processing..

C++ code for Filter,Audio Processing

Code Guru,Low pass filter

like image 39
RP. Avatar answered Sep 28 '22 03:09

RP.