Mix a signal with delayed copies of itself whose delay time keeps moving. Each copy drifts slightly sharp then slightly flat, which is why the result sounds like more than one performance instead of one performance with an echo.
Rate and depth
Rate is how many times per second the delay time sweeps through its range, from 0.05 Hz to 5 Hz. Slow settings drift; fast ones warble.
Depth is how far the delay moves, in milliseconds. Because a moving delay line shifts pitch while it moves, depth and rate together decide how far out of tune the copies get. A 3 ms depth at 0.6 Hz is a gentle detune. The same depth at 4 Hz is a vibrato.
The base delay sits at 12 ms. That is long enough to read as a separate voice rather than as comb filtering, which is the line between chorus and flanging.
Voices
Each voice is a separate tap on the same delay line, spaced evenly around the modulation cycle so no two are at the same delay at the same moment.
One voice is the plainest version and stays closest to the source. Two is the familiar chorus sound. Three fills the most but softens transients, so it suits sustained material more than a plucked or struck source.
Changing the count during playback fades the new voice in rather than switching it on, and the level is divided across the voices so adding one does not raise the wet level.
Stereo spread
Spread offsets the modulation phase between channels. At 100% the two sides sit half a cycle apart, so while one is at its longest delay the other is at its shortest, and the image pulls apart instead of moving as a block.
On a mono file spread does nothing, since there is no second channel to offset.
Mix
Chorus is at its most usable well under fully wet. Around 30 to 40% the copies sit behind the source and thicken it. At 100% only the moving copies are heard, which is a distinctive sound but loses the definition of the original.
At 0% the file passes through untouched and the delay lines are cleared, so re-entering later starts clean.
Example: a thin backing vocal
A single doubled vocal that sits flat behind a lead.
Set 2 voices, rate 0.5 Hz, depth 4 ms, spread 100%, mix 35%. The part widens and stops competing with the lead for the centre, while the lead itself, which was never processed, keeps its position.