“Chorus” is a popular effect that tends to add a sense of movement and depth to sounds. It is particularly popular with guitarists, but can also be used to good effect for creating ethereal synthesizer sounds, or for thickening or adding character to other instrument of vocal sounds. Stereo Chorus can also be used to widen a stereo image.
As with most effects it can become tiresome if used too much but used in moderation it can enhance and enliven recordings.
The name comes from a “chorus” or “ensemble” of players or singers, though the sound of this effect only loosely approximates to a real ensemble.
When a group of (real) instruments play together, there is invariably small differences in the pitch, timing and tone of the notes being played by each instrument. What a Chorus effect does is to create a slightly delayed and detuned copy of the input sound and mix it in with the original sound. The amount of pitch difference and delay slowly changes over time. A “multi-voice” Chorus effect produces several copies of the sound, each delayed and pitch shifted by a different amount.
In spite of its popularity, Audacity has never included a Chorus effect, so I thought it was time to make one.
The controls of this chorus effect are similar to what might be found on a guitar “stomp box” chorus effect, but with the addition of a “limiter” that can prevent the output from exceeding 0 dB. This is a stereo effect, but is also compatible with mono tracks.
Speed: (0 to 10) Higher values cause the effect to vary more rapidly. Low settings can produce a slow “flanging” effect.
Depth: (0 to 10) How much variation in pitch (and delay). Low settings can produce a subtle “shimmer” to the sound. Very high settings can create an “out of tune” warble.
Voices: (1 to 4) The number of copies of the sound that are delayed / pitch shifted (per channel). For a simpler, cleaner effect try using one or two voices. For a more complex effect try increasing the number of voices.
Mix: (0 to 10) How much of the effect is mixed in with the original signal. Low settings produce a more subtle effect.
Output Limiter: (Enabled or Disabled) The output from this effect may be higher than the original sound. When the output limiter is enabled, any peaks that would exceed 0 dB will be compressed so as to prevent clipping.
My only suggestion is that “Mix” become “Dry/Wet” so one can duplicate a track then apply the effect 100% wet to the duplicate, then later control the mix between the dry and wet tracks - similar to handling reverb. This moves it somewhat out of the “stomp box” category and more into the mixing desk effect category.
Thanks for the comments Bill.
One of the “strange” things about a chorus effect is that “100% wet” has less “chorus” effect than 50% wet, so while I can appreciate where’ you’re coming from I think it could be a bit confusing for many users to provide a maximum of “100% wet”.
Currently the code mixes “up to 100% wet signal” with the original unprocessed signal.
How about, as a compromise, “Mix” kept the 0 to 10 scale, but allow the “Mix” to be set to greater than 10 by text entry, where > 10 reduces the dry signal such that when Mix is set to 20 the mix is 100% wet and 0% dry?
If the chorus is set to 1 voice, then 100% wet would have no chorus effect on its own, right? It would just be a slightly delayed and detuned version of the original. If more voices, then 100% wet would have the multiple processed voices but not the original and would sound “chorus-y”. Am I missing something here?
Anyway, it is probably simpler to leave it in the stomp box category rather than the unintuitive method of setting the mix to 20 to get 100% wet for side-chain use.
This version of the effect creates multiple “voices” that all have exactly the same “speed” and “depth” (as set by the “Speed” and “Depth” controls), but different “phase”.
“Speed” is the frequency of the LFO that controls the variable delay, which in turn controls the “detuning”.
“Depth” controls how much the delay varies and so how much detuning there is.
“Phase” is the starting phase of the LFO.
So without the original signal, the pitch of the voices remain “in step” with each other, thus producing amplitude modulation rather than a “chorus-y” effect.
What you are envisioning is what would happen if the frequencies of the voices were (slightly) different from each other. This is a practical proposition, and possibly a good “enhancement” to the current effect, though it would require either, an executive decision about how much “frequency spread” between the (now independent) LFOs, or an additional control to set the frequency spread.
I like the idea of this enhancement, though the wiki feature request seems to suggest that a simpler effect might be preferred:
Chorus: (9 votes)
Only needs rate and depth controls (8 votes)
Multi-voice Chorus (1 votes)
I’ll try adding this feature so that we can see if the sound justifies the additional complexity. (watch this space…)
Here’s a version with a “Voice Variance” control.
Depending on the source material and the other settings the effect of this control can be quite subtle or can produce a more “complex” and less “mechanical” effect.
Is it worth the extra control in the interface?
I’ve also tweaked some of the other parameters to (hopefully) make the working ranges more useful.
The default setting is pretty similar to the previous version. MultiVoiceChorus.ny (2.92 KB)
Thanks Trebor. Yes you can get some really weird effects with Chorus.
Here’s some more “chorusy” settings using your sound sample. I added a little reverb before the chorus to make it a bit more “ethereal”:
I was intending to upload this to the wiki today, but have discovered a minor bug.
(the “maxdelay” is exceeded by the “vardelay” in some cases, which is unintentional and does not produce the intended effect. http://www.cs.cmu.edu/~rbd/doc/nyquist/part8.html#index692)
Also noted that in the later version, the “Voice Variance” does not quite work correctly, and playing with this effect with a fresh perspective, I miss not having a “Stereo Width” control.
The effect could also do with updating to a version 4 plug-in, so all in all I’ve decided to rework this effect.
Eventually I’d be very keen to see a built-in Chorus effect as it’s considered by many (including myself) to be one of the ‘standard set’ of electronic musical effects (along with Eq. Reverb, Delay, Echo, etc.) With over 3600 downloads of the experimental version in the first post, there is clearly a demand.