Configure FFmpeg Highpass Cutoff Frequency and Poles

This article explains how to configure the cutoff frequency and filter poles in the FFmpeg highpass audio filter. You will learn the correct command-line syntax, parameter options, and practical examples to successfully roll off low-frequency noise from your audio files.

The FFmpeg highpass filter is used to attenuate low-frequency audio signals below a specified threshold while letting higher frequencies pass through. To configure this filter, you modify two primary parameters: frequency (or f) and poles (or p).

The Highpass Parameters

  • frequency (f): Sets the cutoff frequency in Hertz (Hz). Audio frequencies below this value are attenuated. The default value is 3000 Hz.
  • poles (p): Sets the number of filter poles, which dictates the steepness of the attenuation slope (roll-off). FFmpeg supports either 1 or 2 poles. The default value is 2.
    • 1 Pole: Creates a gentler slope (6 dB per octave).
    • 2 Poles: Creates a steeper slope (12 dB per octave), providing more aggressive attenuation of frequencies below the cutoff.

Command Syntax

The basic structure for applying the filter in your command line is:

ffmpeg -i input.mp3 -af "highpass=f=cutoff_value:p=pole_value" output.mp3

Practical Examples

1. Set a standard cutoff frequency To cut out rumbling bass or low-end hum below 150 Hz using the default 2-pole setting:

ffmpeg -i input.wav -af "highpass=f=150" output.wav

2. Configure a gentle roll-off To apply a gentler roll-off at 200 Hz, configure the filter to use a single pole (p=1):

ffmpeg -i input.wav -af "highpass=f=200:p=1" output.wav

3. Configure a steep roll-off for vocal clarity To apply a steep, aggressive cut at 80 Hz to clean up a voice recording, use two poles (p=2):

ffmpeg -i input.wav -af "highpass=f=80:p=2" output.wav