The chorus effect thickens a sound by mixing the dry signal with a slightly delayed and detuned copy. It is the effect that makes a clean electric guitar sound wide, and a clean vocal sound like a choir. The `chorus` filter in libavfilter is a multi-voice chorus with adjustable depth, rate, and delay.

The command

ffmpeg -i in.wav -af "chorus=0.7:0.9:55|60:0.4|0.32:0.25|0.4:2|2:1" out.wav

What it does

The filter has three stages: input gain, voice count, and per-voice modulation. The first two numbers are the input gain and the output gain. The third number is the number of voices (here, 2). The remaining numbers are per-voice: delay in ms, decay, speed in Hz, depth, and a wet/dry mix. The default values produce a subtle chorus; raise the depth and the speed for a more dramatic effect.

Requirements

Any audio input. The filter is in libavfilter. CPU-only, single-pass. The filter is stereo by default; for mono input, the output is still stereo, with the chorus applied to the left channel and the right channel being the dry signal.

Things to avoid

  • Using a very high depth. A depth of 1.0 detunes the voice by a full semitone, which is closer to a flange than a chorus. Start at 0.25 and increase by taste.
  • Combining chorus with a heavy reverb. The two effects compound, and the result sounds like the source is in a large hall with a phasing problem.
  • Using chorus on a transient-heavy source like a snare drum. The detuning smears the transient, making the drum sound loose.
  • Forgetting that the chorus is added in parallel. The dry signal is still present; the output is a mix, not a replacement.