Search code examples
audioffmpegnoise-reduction

How to gain volumes of specific bands of audio files using ffmpeg?


I want increase or decrease volume of specific frequency bands with ffmpeg.

I think bandreject and bandpass filter can do similar thing. But is there any way to reject 80% of energy of specific bands?

Thanks in advance?


Solution

  • Use the equalizer filter.

    Example to attenuate 10 dB at 1000 Hz with a bandwidth of 200 Hz and attenuate 5 dB at 8000 Hz with a bandwidth of 1000 Hz:

    ffmpeg -i input.mp3 -af equalizer=frequency=1000:width=200:width_type=h:gain=-10,equalizer=frequency=8000:width=1000:width_type=h:gain=-5 output.wav
    

    Or you can do it in one filter instance using the anequalizer filter.