Abstract
A recently introduced structure to implement a continuously smooth spectral delay, based on a cascade
of firstorder allpass filters and an equalizing filter, is described and the properties of this
spectral delay filter are reviewed. A new amplitude envelope equalizing filter for the spectral
delay filter is proposed and the properties of structures utilizing feedback and/or timevarying
filter coefficients are discussed. In addition, the stability conditions for the feedback and the
timevarying structures are derived. A spectral delay filter can be used for synthesizing chirplike
sounds or for modifying the timbre of arbitrary audio signals. Sound examples on the use of the
spectral delay filters utilizing the structures discussed in this paper can be found at
http://www.acoustics.hut.fi/publications/papers/dafx09sdf/.
Keywords
Effects processing, allpass filters, feedback, timevarying filters
Files
Demos
The following sound examples are generated with the following notation on the spectral delay filter
structure:

M The number of allpass filters in cascade

K The stretching factor
Other parameters are given in the corresponding section.
Original sounds to be filtered
A timeinvariant SDF, with K = 1, with the coefficient 0.9, and without an EQ filter
A timeinvariant SDF, with K = 1, with the coefficient 0.9, and with an EQ filter
A timeinvariant SDF, with K = 3, with the coefficient 0.9, and with an EQ filter
A timeinvariant SDF, with K = 1, with the coefficient 0.9, with an EQ filter, and with a
feedback path performing scaled twopoint moving average filtering and delaying the result by one
sample, i.e., the feedback signal is w(n) = c(y(n1) + y(n2))
M = 256, with c = 1⁄436

M = 512, with c = 1⁄872

M = 1024, with c = 1⁄1744

A timevarying SDF, with K = 1, with coefficients modulated by an 8 Hz sine having amplitude
0.9, without EQ filter, and with a feedback path performing scaling by 0.99
A timevarying SDF, with K = 3, with coefficients modulated by an envelope follower
a(n) = 0.1v(n) + 0.9a(n1) where v(n) is the sum of the input and feedback signals multiplied by
0.2, without an EQ filter, with a feedback path performing scaling by 0.99
