Decode MP3, then increase the audio volume, and then encode the new audio

Blue Sky picture Blue Sky · Feb 1, 2014 · Viewed 7.3k times · Source

I want to first decode a MP3 audio file, and then increase the volume of the audio, and then encode it again into a new MP3 file. I want to use libavformat or libavcodec for this. Can you help me how I can do this? Any example?

Answer

Gabriel Magno picture Gabriel Magno · Feb 2, 2014

You can use the "-filter" parameter with the "volume" option to set a multiplier for the audio. More info: http://ffmpeg.org/ffmpeg-filters.html#volume

Since you are dealing only with MP3 files (that have only one audio track), you can use the "-af" parameter, which is an alias for "-filter:a".

For instance,

ffmpeg -i input.mp3 -af 'volume=1.5' output.mp3

would increase the volume in 50% and create the output file with the same codec as input (MP3).