A Schroeder allpass filter is given by the difference equations
where x(t)
is the input signal, y(t)
is the output signal, D
is the delay time, and k
is the allpass coefficient.
In this UGen, k
is computed as k == 0.001 ** (delay / decay.abs) * decay.sign
(0.001 is -60 dBFS).
See also AllpassN which uses no interpolation, and AllpassL which uses linear interpolation. Cubic interpolation is more computationally expensive than linear, but more accurate.
in |
The input signal. |
maxdelaytime |
The maximum delay time in seconds. Used to initialize the delay buffer size. |
delaytime |
Delay time in seconds. |
decaytime |
Time for the echoes to decay by 60 decibels. If this time is negative then the feedback coefficient will be negative, thus emphasizing only odd harmonics at an octave lower. |
mul |
The output will be multiplied by this value. |
add |
This value will be added to the output. |