Abstract
A recently introduced structure to implement a continuously smooth spectral delay, based on a cascade
of first-order 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 time-varying
filter coefficients are discussed. In addition, the stability conditions for the feedback and the
time-varying structures are derived. A spectral delay filter can be used for synthesizing chirp-like
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/dafx09-sdf/.
Keywords
Effects processing, allpass filters, feedback, time-varying 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 time-invariant SDF, with K = 1, with the coefficient -0.9, and without an EQ filter
A time-invariant SDF, with K = 1, with the coefficient -0.9, and with an EQ filter
A time-invariant SDF, with K = 3, with the coefficient -0.9, and with an EQ filter
A time-invariant SDF, with K = 1, with the coefficient -0.9, with an EQ filter, and with a
feedback path performing scaled two-point moving average filtering and delaying the result by one
sample, i.e., the feedback signal is w(n) = c(y(n-1) + y(n-2))
M = 256, with c = 1⁄436
|
M = 512, with c = 1⁄872
|
M = 1024, with c = 1⁄1744
|
A time-varying 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 time-varying SDF, with K = 3, with coefficients modulated by an envelope follower
a(n) = 0.1|v(n)| + 0.9a(n-1) 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
|