How to Use the Reverb Filter in FFmpeg

This article provides a straightforward guide on how to use the freeverb filter in FFmpeg to add high-quality reverberation to your audio files. You will learn the basic command syntax, the key parameters that control the environment's sound, and practical examples for creating different acoustic spaces like small rooms and large halls.

The FFmpeg freeverb Filter

FFmpeg utilizes the freeverb audio filter, which is based on the popular Freeverb studio algorithm. This filter emulates the reflection of sound in a physical space by mixing the original "dry" audio with the reverberated "wet" audio.

The basic syntax for applying the filter is:

ffmpeg -i input.mp3 -af "freeverb=parameter1=value1:parameter2=value2" output.mp3

Key Parameters

To customize the reverb effect, you can adjust the following parameters (all values range from 0.0 to 1.0):

  • roomsize: Sets the size of the virtual room. Higher values result in a longer reverb decay time (default is 0.5).
  • damp: Controls high-frequency absorption. Higher values simulate soft surfaces (like carpets or curtains) that absorb high frequencies, creating a darker sound (default is 0.5).
  • wet: Adjusts the volume of the reverb (processed) signal (default is 0.33).
  • dry: Adjusts the volume of the original (unprocessed) signal (default is 0.4).
  • width: Controls the stereo spread of the reverberation (default is 1.0).

Practical Examples

1. Small, Warm Room Reverb

For a subtle effect that simulates a small acoustic space with dampening, use a small room size and high dampening value:

ffmpeg -i input.wav -af "freeverb=roomsize=0.2:damp=0.8:wet=0.2:dry=0.8" output.wav

2. Large Cathedral Reverb

To create a massive, echoing space, increase the room size, lower the dampening to allow high frequencies to ring out, and increase the wet signal:

ffmpeg -i input.wav -af "freeverb=roomsize=0.85:damp=0.2:wet=0.5:dry=0.5" output.wav

3. Default Reverb

If you want to quickly apply a balanced, default reverb without fine-tuning, you can run the filter without extra parameters:

ffmpeg -i input.wav -af "freeverb" output.wav