Effects
Chorus
A lush stereo tri-chorus with three delay lines modulated 120 degrees out of phase, inspired by the Roland Juno-60 and Solina String Ensemble.
Try one in your browser →
What is a Chorus?
A chorus simulates the sound of multiple instruments playing the same note. When two violinists play in unison, they're never *exactly* in tune or *exactly* in time - tiny pitch and timing variations between them create the rich, shimmering 'string section' sound. A chorus effect manufactures that richness electronically by mixing the dry signal with one or more pitch-modulated copies of itself.
The mechanism is dead simple: delay the input by a few milliseconds, then slowly modulate that delay time with an LFO. As the delay time changes, the delayed signal's pitch shifts very slightly (the Doppler effect of varying read position). When you sum the dry and the modulated copy, the slight pitch difference creates the characteristic 'detune and beat' chorus sound. Add a second delay line modulated 120 degrees out of phase, and a third modulated 240 degrees, and you have a tri-chorus - the lush, three-voice ensemble sound that defines vintage chorus.
The classic implementations are bucket-brigade analog delay chips (BBDs) modulated by triangle LFOs. The Solina String Ensemble (1974) used three of these in a tri-chorus to fake a string section so convincingly that thousands of records used it instead of real strings. The Roland Juno-60 (1982) put a similar circuit on every voice and made 'Juno chorus' a sound in its own right - listen to any 80s synth-pop ballad and you're hearing it. The Boss CE-1 brought the same idea to guitar pedals.
Variants of the chorus form: flanger is chorus with much shorter delay time (sub-5 ms) and feedback - creates jet-engine sweeps; phaser is chorus's electrical cousin using allpass filters instead of delay lines; ensemble is chorus with more voices and wider modulation. They're all the same family of effects, just tuned to different sweet spots.
Our Chorus
Our chorus is a tri-chorus with three delay lines modulated by 120-degree phase-offset triangle LFOs - exactly the architecture of the Solina String Ensemble and the Juno-60. Center delay is ~7 ms and depth modulates ±3 ms around that center, the classic ensemble range. Linear-interpolated fractional delay reads keep the modulation smooth and artifact-free; no clicks even at high depth and high rate.
Voices spread across stereo: voices 1+3 sum to left, voices 2+3 sum to right, with the spread knob controlling how much they pull apart. A mono input becomes a wide stereo chorus. Rate (0.1-5 Hz exponentially) and depth both have CV inputs - patch a slow LFO into rate for evolving chorus speed, or an envelope into depth for swelling effects.
6 HP, 4 parameters, no menu diving. The defaults (rate 0.5 Hz, depth 0.5, mix 0.5, spread 0.7) sit in the Juno-60 sweet spot - patch it in and it sounds right immediately.
In a patch
Chorus typically sits late in the signal chain, after the VCA and before delay or reverb. The order matters: chorus before reverb sounds like 'a chorused sound in a room', chorus after reverb smears the reverb tail and usually sounds wrong. Distortion before chorus is fine; distortion after chorus turns the lush wash into pure noise.
On pads and held notes, chorus is almost mandatory - even tiny amounts add the kind of motion that keeps a sustained chord from sounding static. On leads, a touch of chorus thickens single voices into something that sounds like multiple unison voices. On drums and percussion, chorus is rarer (the modulation pulls transients around in unmusical ways), but on cymbals and metallic sounds it can add nice shimmer.
For modular fun, patch an LFO into the rate CV input to vary the chorus speed in time, or an envelope to make chorus depth swell on each note. Modulating the depth from zero up to high during a long held pad is one of the most beautiful tricks in synthesis.
Inputs
- IN L (audio) — Left audio input. If only IN L is patched, the signal feeds all three chorus voices for mono-to-stereo widening.
- IN R (audio) — Right audio input. Patch both for true stereo chorus processing.
- Rate CV (cv) — Voltage control over the LFO rate. Modulate with another LFO for complex, evolving chorus movement.
- Depth CV (cv) — Voltage control over modulation depth. Use an envelope to fade the chorus in over the attack of a note.
Outputs
- OUT L (audio) — Left output with dry/wet mix applied. Voices 1 and 3 are summed to this channel.
- OUT R (audio) — Right output. Voices 2 and 3 are summed here, creating natural stereo decorrelation.
Controls
- Rate — LFO speed from 0.1Hz to 5Hz. Slow rates (under 1Hz) give a gentle, dreamy shimmer. Faster rates create a more obvious vibrato-like warble.
- Depth — How much the delay time is modulated (0 to 1). Low depth creates subtle thickening. High depth gives a pronounced, watery chorus effect with more pitch variation.
- Mix — Dry/wet blend (0 = fully dry, 1 = fully wet). Around 0.5 gives a balanced chorus. At 100% wet, you hear only the modulated voices with no dry signal.
- Spread — Stereo width (0 to 1). At 0, the output is mono. At 1, maximum stereo separation between the three voices. Use high values for headphone listening, moderate values for speakers.
Inspired by
The classic ensemble/chorus sound comes from multiple modulated delay lines summed back together. The Solina String Ensemble (1974) pioneered the tri-chorus topology with three triangle LFOs phased 120 degrees apart; the Juno-60 used a similar architecture and made the sound a signature of 80s synth records. We reproduce that exact topology with linear-interpolated fractional delays for smooth, artifact-free modulation.
- Roland Juno-60 chorus
- Solina String Ensemble
- Boss CE-1
- Eventide Instant Phaser
← Back to all modules