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).
This UGen quantizes the delay time to the nearest sample period, and will produce aliasing artifacts if the delay time is modulated. If these are undesirable properties, the more CPU-expensive alternatives are AllpassL which uses linear interpolation, and AllpassC which uses cubic interpolation.
| 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 |
Output will be multiplied by this value. |
| add |
This value will be added to the output. |