libmp3lame Default Low-Pass Filter Cutoff Frequency
This article explains the exact cutoff frequency of the default
low-pass filter used in the libmp3lame encoder. It covers
how this frequency changes depending on the chosen bitrate or quality
settings, and how the default behavior affects your encoded audio
files.
When you encode audio using libmp3lame with its absolute
default settings (which defaults to a Constant Bitrate of 128 kbps), the
default low-pass filter cutoff frequency is exactly 17,000 Hz
(17 kHz).
However, libmp3lame does not use a single fixed cutoff
frequency for all encoding modes. Instead, the low-pass filter is
dynamic and automatically adjusts based on the selected bitrate (CBR) or
quality level (VBR) to optimize the psychoacoustic model.
Default Low-Pass Frequencies by Encoding Mode
The table below outlines the exact default low-pass filter cutoff
frequencies for the most common libmp3lame
configurations:
- Default CBR (128 kbps): 17,000 Hz (17 kHz)
- 320 kbps CBR (Maximum Quality): 20,000 Hz (20 kHz)
- Default VBR (-V 4 / ~165 kbps): 16,500 Hz (16.5 kHz)
- Standard VBR (-V 2 / ~190 kbps): 18,500 Hz (18.5 kHz)
- Maximum VBR (-V 0 / ~245 kbps): 19,500 Hz (19.5 kHz)
Why the Low-Pass Filter is Applied
Human hearing generally ranges from 20 Hz to 20,000 Hz, but
sensitivity drops significantly above 16,000 Hz. The
libmp3lame encoder applies a low-pass filter to discard
very high frequencies that are difficult for the human ear to perceive.
Removing these frequencies allows the encoder to allocate more data
(bits) to the mid- and low-range frequencies, resulting in a cleaner and
perceptually higher-quality audio file at lower bitrates.
How to Modify or Disable the Low-Pass Filter
If you want to manually control or completely disable the low-pass
filter in libmp3lame, you can use the following
command-line parameters:
- To disable the low-pass filter entirely: Use the
--lowpass -1switch. This forces the encoder to keep all high frequencies up to the Nyquist frequency limit (half of the sample rate). - To set a custom cutoff frequency: Use the
--lowpass <freq>switch, where<freq>is the desired frequency in kHz. For example,--lowpass 19sets the cutoff to 19,000 Hz.