FFmpeg Chorus Filter: How to Apply to Vocals

Adding a chorus effect to a vocal track can make it sound wider, richer, and more professional by simulating multiple voices singing in unison. This guide will show you how to use FFmpeg's built-in chorus audio filter to apply this effect to your vocal tracks, detailing the command-line syntax and explaining key parameters to help you customize the sound.

The Basic FFmpeg Chorus Command

To apply a basic chorus filter to an audio file, you use the -af (audio filter) flag followed by the chorus parameter. Here is a standard template command:

ffmpeg -i input.wav -af "chorus=0.5:0.9:50:0.4:0.25:2" output.wav

Parameter Breakdown

The chorus filter syntax is structured as follows: chorus=decay_in:decay_out:delay:decay:speed:depth[:delay:decay:speed:depth...]

  • decay_in (0.5): Sets the input gain (volume of the original dry signal).
  • decay_out (0.9): Sets the output gain (volume of the wet, affected signal).
  • delay (50): The delay in milliseconds. For vocals, a delay between 20ms and 60ms works best.
  • decay (0.4): The volume decay of the delayed signal.
  • speed (0.25): The modulation speed in Hz. Lower values (under 1 Hz) create a subtle, natural chorus, while higher values create a vibrato effect.
  • depth (2): The modulation depth in milliseconds, which determines how much the delay time varies.

Creating a Rich, Multi-Voice Chorus

To create a lush, thick chorus effect, you can add more "voices" by appending extra sets of delay:decay:speed:depth parameters separated by colons.

Here is a command that simulates a three-voice chorus:

ffmpeg -i input.wav -af "chorus=0.6:0.9:50:0.4:0.25:2:60:0.32:0.4:2.3:40:0.3:0.3:1.5" output.wav

In this command:

  • Voice 1: Delay of 50ms, decay of 0.4, speed of 0.25Hz, depth of 2ms.
  • Voice 2: Delay of 60ms, decay of 0.32, speed of 0.4Hz, depth of 2.3ms.
  • Voice 3: Delay of 40ms, decay of 0.3, speed of 0.3Hz, depth of 1.5ms.

Varying the delays and modulation speeds slightly for each voice prevents phase cancellation and creates a much more natural, spacious stereo feel.