03 May 2007

chorus

chorus~

This block simulates the very famous chorus effect. It adds several variants of the input signal to the input signal as if it was
several people playing at the same time. The imperfections of such a choir are simulated with variable delays, variable phase and variable volumes.

version

v1.0: built 28/04/2007 with Pd v0.40-2 [pd][pdf]

interface

Input 1: the mono input signal
Input 2: the frequency of the variation of the delays of the four outputs (all the same). This is expressed in Hertz. Because we're talking about a control signal or modulation here, it gives the best results to use small frequencies like 1Hz.
Input 3: The modulation level. This changes how great the variation is of the delays. 4 is a good value.
TO DO: add default values that load at start

Output 1, 2, 3, 4: These are four variably delayed output signals with a phase difference of Pi/2. They can be added to each other with or without specific weights.

implementation

The input audio signal is put in a delay line with a maximal length of 1000msec. This extract will be read by four identical variable delays whose delay time is controlled by the following logic: a phasor~ objects' frequency is taken from the inlet. When the frequency is changed at the given inlet, the line~ object makes this a smooth change with a default ramp of 50msec before reaching the new value. This sawtooth signal is then used as an input for several cos~ blocks. It's nothing more than a run through all values between 0 and 1, repeating with the specified frequency. Each cos~ block receives a sawtooth with a different phase, a difference of Pi/2. The delay times will thus be out of phase, giving different delay times. These cosine signals are shifted to positive values between 0 and 2 with the [+~1] block. The a modulation value (also smoothed when changed) is multiplied with the cosine making it more or less expressive by changing it's amplitude. With this final cosine signal a variable delay is driven and output via the outlets.

No comments: