How to Use FFmpeg Superequalizer Filter

The FFmpeg superequalizer filter is a high-fidelity, 18-band audio equalizer used to adjust specific frequency ranges of an audio stream. This article provides a quick guide on how to implement the superequalizer filter in your FFmpeg commands, detailing its parameters, band frequencies, and practical command-line examples for boosting bass, enhancing treble, or balancing your audio.

Understanding the Superequalizer Parameters

The superequalizer filter operates on 18 fixed frequency bands. Each band is controlled by a parameter from b1 to b18. The value for each parameter is a gain multiplier, where 1.0 represents no change (default), values greater than 1.0 boost the frequency, and values between 0.0 and 1.0 attenuate (cut) the frequency. The allowed range is 0.0 to 20.0.

The 18 bands correspond to the following center frequencies:

Basic Syntax

To use the filter, apply the -af (audio filter) flag followed by superequalizer and your desired band settings separated by colons.

ffmpeg -i input.mp3 -af "superequalizer=b1=g1:b2=g2...:b18=g18" output.mp3

Any band parameter that you do not explicitly define in the command will remain at its default value of 1.0.

Practical Examples

1. Boosting the Bass

To boost the low-end frequencies (65 Hz to 185 Hz) while leaving the rest of the audio untouched, increase the values of b1, b2, b3, and b4:

ffmpeg -i input.wav -af "superequalizer=b1=2.0:b2=2.0:b3=1.8:b4=1.5" output.wav

2. Enhancing Treble and High Frequencies

To add brightness and clarity to a muddy audio file, boost the higher frequency bands (from ~8 kHz to 23 kHz):

ffmpeg -i input.mp3 -af "superequalizer=b15=1.5:b16=1.8:b17=2.0:b18=2.0" output.mp3

3. Creating a Mid-Range Cut (Scooped Sound)

To reduce the midrange frequencies for a “scooped” sound profile, lower the values of the middle bands:

ffmpeg -i input.wav -af "superequalizer=b8=0.5:b9=0.4:b10=0.4:b11=0.5" output.wav

4. Applying a Custom 18-Band Curve

You can define values for all 18 bands simultaneously to shape a highly specific equalization curve:

ffmpeg -i input.mp3 -af "superequalizer=b1=1.5:b2=1.4:b3=1.3:b4=1.2:b5=1.1:b6=1.0:b7=0.9:b8=0.8:b9=0.8:b10=0.8:b11=0.9:b12=1.0:b13=1.1:b14=1.2:b15=1.3:b16=1.4:b17=1.5:b18=1.6" output.mp3