How to decode mp3 into wav using lame in C/C++?

Yana D. Nugraha picture Yana D. Nugraha · Sep 7, 2011 · Viewed 9.7k times · Source

I learned how to encode wav into an mp3 using lame_encode_buffer_interleaved from this question: Is there any LAME c++ wraper\simplifier (working on Linux Mac and Win from pure code)?

Now I want to decode the mp3 back into wav. I know there's lame_decode but I don't know how to use it since it requires two pcm buffers (pcm_l and pcm_r). I don't understand how to put them together into a well-formed wav file, because I don't really know how they works.

Now can someone provide a simple working example on decoding an mp3 into a wav using lame in C/C++?

Thanks.

Answer

Fox32 picture Fox32 · Sep 7, 2011

Take a look into the lame frontend source code. Start at the lame_decoder() function in the .../frontend/lame_main.c file, it decodes an MP3 file and writes the wave header.