How to Boost Sub-Bass in FFmpeg with asubboost

The asubboost filter in FFmpeg allows you to isolate, synthesize, and enhance deep low-end frequencies in an audio track. This guide explains how to use the filter to amplify sub-bass, details its core configuration parameters—such as cutoff frequency, wet/dry mix, and feedback—and provides command-line examples to achieve clean, punchy low frequencies without audio clipping.

Understanding the asubboost Filter

The asubboost filter operates by filtering out low-end audio below a specified frequency, processing that isolated signal to add resonance, sustain, or volume, and then blending it back with the original audio.

The filter accepts several key parameters:

  • cutoff: Sets the cutoff frequency in Hertz (Hz) below which the bass will be boosted. The valid range is 2 to 300 Hz (default is 100).
  • wet: Sets the volume factor for the boosted sub-bass signal. The range is 0 to 1 (default is 1).
  • dry: Sets the volume factor for the original, unprocessed signal. The range is 0 to 1 (default is 1).
  • decay: Controls the decay rate of the boosted signal, determining how long the sub-bass sustains. The range is 0 to 1 (default is 0).
  • feedback: Controls the resonance or amount of signal fed back into the filter. The range is 0 to 1 (default is 0.9).
  • delay: Sets the delay time in milliseconds for the resonance effect. The range is 1 to 100 ms (default is 20).
  • slope: Sets the filter slope steepness. The range is 0.0001 to 1 (default is 0.5).

Basic Usage Example

To apply the filter with default settings to an audio file:

ffmpeg -i input.mp3 -af "asubboost" -c:a libmp3lame -q:a 2 output.mp3

Customizing Sub-Bass Parameters

In many cases, the default settings may sound too boomy or cause distortion. You can customize the parameters by chaining key-value pairs separated by colons.

For example, to focus strictly on sub-bass below 80 Hz, lower the feedback to prevent excessive ringing, and balance the wet signal:

ffmpeg -i input.wav -af "asubboost=cutoff=80:feedback=0.5:wet=0.7:dry=1.0" output.wav

Preventing Clipping and Distortion

Boosting sub-bass frequencies increases overall signal amplitude, often leading to digital clipping. To maintain clear sound, pair asubboost with a limiter like alimiter or slightly reduce the input volume:

ffmpeg -i input.wav -af "asubboost=cutoff=60:wet=0.8,alimiter=limit=0.95" output.wav

In this command:

  1. asubboost isolates and enhances frequencies below 60 Hz.
  2. alimiter catches any peaks exceeding -0.45 dB (0.95), preventing distortion on playback systems.