Table of Contents:
CAGChorus1 consist of two delay lines (110 samples) with each two variable tap points. The tap samples can be mixed with the original and send back to the input (=feedback). The feedback can be done in a complex manor. The variation of the tap points is controlled by a LFO. Every tap point can feed from a different phase of the LFO signal. Due to this modulation of the delay time one can make the famous chorus effect. If one use only one tap or if both tap points use a similar LFO phase, flanger effects are also possible. With a trigger it is also possible to synchronize the modulation.
As you can see in the screen dump, there are quite a number of parameters. It might not be so easy to understand their relation to each other or what they exactly do. I created an extra drawing to give an overview of the basic building blocks, how they are connected and which parameter influences which block.
Architecture of CAGChorus1:
The amount of feedback is controller by the FB parameter. However which signal (FBL and or FBR) is send back to the left or right channel is controller by RealFB and FBAngle.
If RealFB == 1 then FBAngle sets up a normal feedback or cross feedback:
If RealFB == 0 then FBAngle sets up a vector angle. In this case FBL and FBR are considered to be a complex number signal. Even for real audio signals this sounds very interesting, one can hear an extra flanging/filtering like effect.
This is a single user parameter that controls the way tap1 and tap2 are to be mixed.
If FBMix == -1 then the mix is 0.5*tap1 - 0.5*tap2
If FBMix == 0 then the mix is tap1
If FBMix == 1 then the mix is 0.5*tap1 + 0.5*tap2
All values in between are possible.
The LFO is a sine wave oscillator running in control rate. The waveform is linear interpolated internally to get smooth delay changes. The Trigger and LFOStart parameters can be used to synchronize the LFO waveform to other events (for example tempo using a bpm trigger). With LFOWarp one can deform the sine wave up or down so the taps stay longer at one end of the modulation. The frequency of the LFO one sets with LFOFreq and a random deviation can be set with LFOJitter. The amount tap1 is modulated in time can be set by ModAmount1. ModAmount2 is for tap2. If the tap points are not fully modulated, one can add a manual offset to the delay time of the tap with ModShift1 or ModShift2 respectively. With ModLRDiff one sets a phase difference between the LFO signals going to the left and right taps. This enables nice phase delay panning. With Mod12Diff one can create also a difference between the LFO signal going to tap1 and tap2. With a maximum phase difference between the LFO signals (Mod12Diff = 1) a nice warm wobbling detuning of the original signal can be created. With the addition of some LFOJitter one gets the famous chorus effect.