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...]

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.