Spring Reverb Emulation
Spring Reverb Emulation
Research Article
Efficient Dispersion Generation Structures for
Spring Reverb Emulation
Julian Parker
Department of Signal Processing and Acoustics, Aalto University, 02150 Espoo, Finland
Copyright © 2011 Julian Parker. This is an open access article distributed under the Creative Commons Attribution License, which
permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
Spring reverberation is a sonically unique form of artificial reverberation, desirable as an effect distinct from that of more
conventional reverberation. Recent work has introduced a parametric model of spring reverberation based on long chains of all-
pass filters. Such chains can be computationally expensive. In this paper, we propose a number of modifications to these structures,
via the application of multirate and multiband methods. These changes reduce the computational complexity of the structure to
one third of its original cost and make the effect more suitable for real-time applications.
Chf +
The property of spring reverberation that gives it its special ohigh
sound is its dispersivity—the way different frequencies take
differing amounts of time to traverse the spring from one Clf
end to the other. In fact, the relationship between frequency olow
and traversal time is not one-to-one, it is one-to-many.
Figure 1: Block diagram showing high-level structure of the
A particular frequency may travel through the spring at a
parametric spring reverberation model [7].
number of different speeds simultaneously [4].
Like any reverberant system, the impulse response of a
spring is made up of a series of echoes of the input impulse.
However, this series of echoes has a number of qualities of k by replacing one of the internal unit delays with an
which distinguish it from, for example, a reverberant room. interpolating first-order all-pass filter [7]. Finally, many of
Firstly, the series of echoes produced by the spring is these stretched all-pass filters are cascaded, lengthening the
relatively regular and equally spaced, in contrast to the sparse chirp even further. This cascaded structure is given by
set of irregularly spaced early reflections followed by a later M
diffuse tail which is exhibited by a room [6]. Secondly, a + z−k
Hcascade (z) = AM zk = , (3)
individual echoes are altered more drastically by the system 1 + az−k
than is usual in a reverberant space—in addition to the usual
attenuation and change in frequency content of the echoes, where M is the number of cascaded sections.
the dispersivity of the spring bends the echoed impulses into Välimäki et al. [7] propose a simple algorithm to produce
chirps. the spring reverberation effect. It consists of two parallel
Broadly speaking, the impulse response of a spring can delay lines with feedback, with an appropriately designed
be thought of as two series of these dispersive echoes or spectral delay filter placed within each feedback loop to
chirps. The main series of chirps is present only below a produce the dispersion required. One feedback structure
certain frequency, referred to as the transition frequency, fC . produces the chirped echo sequence below fC . This structure
This frequency is dictated by the geometry of the spring, is referred to as Clf . This feedback structure is followed by
and its material properties [4]. The group delay has a a lowpass filter, in order to suppress any behaviour above
maximum at fC . The second set of echoes is present over fC . The other feedback structure produces the wide-band
the whole audio band, but at much lower amplitudes than chirped echoes and is referred to as Chf . The parallel Clf
the lower-frequency echoes. This set of chirped echoes has and Chf structures are shown in Figure 1 whilst their internal
its maximum group delay at low frequencies, decreasing as structures are shown in Figures 2 and 3, respectively. The
frequency increases. output of these structures is then mixed with a user-variable
The chirped echoes produced by a spring reverberation amount of the “dry” input signal to produce the final output
unit can be modelled in a number of ways. Välimäki et al. [7] of the effect.
propose the use of long cascades of all-pass filters, known as Välimäki et al. [7] also include other features in the
“spectral delay” filters [8]. In this case, the starting point is a design of the effect, including random modulation of the
first-order all-pass filter, whose transfer function is given by delay lines, cross-coupling of the two feedback structures
and an equalisation filter, in order to reproduce other
a + z−1 qualities of the spring reverberator’s sound. These features
A(z) = , (1) are computationally light (on the order of 10 multiplications
1 + az−1
per sample period) compared to the dispersion generating
where a is the all-pass filter coefficient. We then replace the all-pass filters, and, therefore, are ignored for the purpose of
unit delay within the filter with a longer delay element, giving this work.
the following equation:
3. Efficient Dispersion Generating Structures
a + z−k
k
Hsingle (z) = A z = . (2)
1 + az−k 3.1. Chirp Straightening. In this section we describe a
method for reducing the number of all-pass filters necessary
The length of this delay line, k, is known as the “stretch to model the dispersion required by the spring reverberation
factor”. This stretching process aliases the curve describ- effect. The genesis of this method lies in a basic property
ing the relationship between group-delay and frequency, of the “stretched” all-pass filters used [8]—the strong
squashing it and reflecting it around a number of points dependence of the total group-delay provided by one all-
and hence resulting in several peaks of maximum group- pass section on its stretch factor, k. If we maximize the
delay. The stretching process also increases the overall group- stretch factor of the filters used, we can reduce the number of
delay of the structure multiplicatively, hence “stretching” cascaded sections needed to produce the required dispersion,
the chirp which describes the filter’s impulse response. This and, hence, reduce the computational load. The problem
structure can also be extended to allow noninteger values then becomes finding a way of increasing the stretch factor of
EURASIP Journal on Advances in Signal Processing 3
where D is the total delay in samples, k is the stretch factor, 3.2. Modifying Clf . The structure Clf can be made less com-
M is the number of cascaded all-pass stages, a is the all-pass putationally intensive via the chirp-straightening method
filter coefficient, and ω is the angular frequency. described in Section 3.1. However, this is not the only saving
4 EURASIP Journal on Advances in Signal Processing
7 7 7
6 6 6
5 5 5
Frequency (kHz)
Frequency (kHz)
Frequency (kHz)
4 4 4
3 3 3
2 2 2
1 1 1
0 0 0
0 25 50 0 25 50 0 25 50
Time (ms) Time (ms) Time (ms)
(a) (b) (c)
Figure 4: Spectrograms showing (a) a single Clf chirp, produced by the original structure, (b) the modified chirp, and (c) the modified chirp
after straightening of the bottom half. All chirps have been low-pass filtered to remove information above the desired fC .
7 7
6 6
5 5
Frequency (kHz)
Frequency (kHz)
4 4
3 3
2 2
1 1
0 0
0 0.1 0.2 0.3 0.4 0.5 0 0.1 0.2 0.3 0.4 0.5
Time (s) Time (s)
(a) Clf chirp sequence (b) Clf chirp sequence after modifications
20 20
15 15
Frequency (kHz)
Frequency (kHz)
10 10
5 5
0 0
0 0.1 0.2 0.3 0.4 0.5 0 0.1 0.2 0.3 0.4 0.5
Time (s) Time (s)
(c) Chf chirp sequence (d) Chf chirp sequence after modifications
Figure 6: Spectrograms showing chirp sequences produced by the original and modified structures.
M
High Alowlow (zk )
Decimation Linkwitz-Riley ×4
+ + interpolation Hlow (z)
block − crossover
Low z−Dlow
glf
Delay line
Table 1: Modifications required to the parameter values of the all-pass cascades in structures Clf and Chf , after chirp straightening and
downsampling.
Mhigh Table 2: Multiplications required (per sample period at full fs ) for
Low Ahigh (z)
Linkwitz-Riley
effect structure, broken into sections and shown with and without
+ + the suggested modifications.
− crossover
High z −Dhigh
ghf
Section Element Original mult. Efficient mult.
Delay line M
Alowlow 600 75
Figure 8: Block diagram showing Chf with modifications. glf 1 0.25
Hlow 18 18
Clf
L-R crossover 0 10
Time-aligning delay 0 2
multiplications necessary, we must make some assumptions Antialiasing filter 0 20
about the implementation of the structures involved. Firstly, Mhigh
we assume that all filters are implemented in direct form II Ahigh 400 200
(DFII), and hence require 2(N + 1) multiplications, where N ghf 1 1
Chf
is the order of the filter in question. Some of the filters in the L-R crossover 0 24
effect structure could potentially be implemented in a more Time-aligning delay 0 2
efficient manner, particularly the all-pass filters [12]. How-
General Output mix gains 3 3
ever, assuming the use of DFII provides us with a reasonable
baseline estimate of complexity in order to show the savings Total 1023 355.25
produced by the changes. Table 2 shows a comparison of
the number of multiplications, broken down into sections of
the structure, before and after the modifications are applied. the main low-frequency chirps. Note that the downsampling
Values shown are given as multiplications per sample period of the Clf structure means that care must be taken over
at full fs , therefore, the sections which are undersampled can the interpolation method used for the random delay line
produce a fractional number of operations. In this example, modulation, in order to avoid unwanted filtering of the
we assume initial all-pass chain lengths before modification signal. We, therefore, use low-order Lagrange interpolation
of Mlow = 100 and Mhigh = 200, as used by Välimäki et al. instead of the linear interpolation originally suggested by
[7]. According to this technique of evaluating the savings, the Välimäki et al. [7]. The response produced by both the
new structure possesses around one third of the computa- modified and original Clf and Chf structures are shown. The
tional complexity of the unmodified structure. parameters of the effect are chosen as discussed in [7] and
This evaluation of the efficiency of the spring reverbera- are of very similar value as the examples given in that work.
tion structure raises an interesting question. In its modified The modified and unmodified structures appear to produce
state, the majority of the computational cost of the effect an output which is in reasonably close agreement, albeit
is produced by the Chf structure. Given that the wide-band with some changes in frequency-dependent reverberation
chirped echo sequence that this structure replicates is less time, especially around the crossover frequency in Clf .
important perceptually in real spring reverberation units Informal listening tests show that audibly the modified and
due to its low amplitude (generally at least 30 dB below the unmodified model are reasonably similar. The notch in
other chirp sequence) [4], it may be acceptable to discard it reverberation time introduced by the crossover is not easily
completely and use only Clf . This would produce an even audible. The straightening of the lowest part of the Clf chirps
lower cost spring reverberation effect at the cost of some is audible as a slight hardness of the echoes compared to the
realism. original structure, especially when presented with percussive
Figure 9 shows spectrograms of the impulse response of material. However, the effect is not major, especially when
the complete parametric spring reverb model including the listening to the effect applied to musical signals rather than
additional features described in [7], such as random delay examining the impulse response in isolation. If desired, the
line modulation and a series of “pre-echoes” before each of modified effect can be tweaked further in an attempt to more
EURASIP Journal on Advances in Signal Processing 7
10 10
8 8
Frequency (kHz)
Frequency (kHz)
6 6
4 4
2 2
0 0
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
Time (s) Time (s)
(a) Complete model before modifications (b) Complete model after modifications
10
8
Frequency (kHz)
0
0 0.2 0.4 0.6 0.8 1
Time (s)
(c) Complete model after modifications and lowering of Clf all-pass
coefficient
Figure 9: Spectrograms of the impulse response of the complete spring reverberation effect, before and after the efficiency modifications are
implemented.
closely match the original effect. For example, the coefficient 5. Conclusion
of the dispersion-generating all-pass filters used in Clf may
be lowered slightly, in order to match the original chirp In this work, we examined a simplified version of the para-
shape a little more closely. The result of this alteration is metric spring reverberation structure proposed by Välimäki
shown in Figure 9(c). Unfortunately, this tweak comes at the et al. [7] and proposed a number of changes which greatly
cost of reducing the overall dispersion of the structure and reduce its computational cost. These modifications are
exacerbating the notch in the frequency response around mainly based on splitting the signal into frequency bands
the crossover frequency, and, therefore, its appropriateness which require dispersion and frequency bands which do not.
depends on the relative subjective importance of these quali- We then design more efficient dispersion generation struc-
ties. tures for the bands which do require dispersion, reducing
Sound examples can be obtained at the website associated the overall computational complexity. We also exploit the
with this work [13], and present the impulse responses of the limited bandwidth of parts of the structure to apply multirate
original and modified structures, the impulse responses of methods. The result is a structure that produces a similar
the original and modified Clf structures alone, and examples spring-reverberation effect at approximately one third of the
of the original and modified effect applied to a short vocal computational cost of the original structure proposed by
passage and a short synthesized drum loop. Välimäki et al.
8 EURASIP Journal on Advances in Signal Processing
Acknowledgments
Many thanks are due to Vesa Välimäki for proofreading and
guidance, and to the anonymous reviewers for improving
this paper through their many useful comments. This paper
was supported by the Academy of Finland (Project no.
122815).
References
[1] L. Hammond, “Electrical musical instrument,” US Patent no.
2230836, February 1941.
[2] J. Parker, Spring reverberation: a finite difference approach, M.S.
thesis, University of Edinburgh, 2008.
[3] J. S. Abel, D. P. Berners, S. Costello, and J. O. Smith III, “Spring
reverbemulation using dispersive allpass filters in a waveguide
structure,” in Proceedings of the 121st Convention of the AES,
San Francisco, Calif, USA, 2006.
[4] J. Parker and S. Bilbao, “Spring reverberation: a physical per-
spective,” in Proceedings of the 12th International Conference
on Digital Audio Effects (DAFx ’09), pp. 416–421, Como, Italy,
2009.
[5] S. Bilbao and J. Parker, “A virtual model of spring rever-
beration,” IEEE Transactions on Audio, Speech and Language
Processing, vol. 18, no. 4, pp. 799–808, 2010.
[6] W. G. Gardner, “Reverberation algorithms,” in Applications of
Digital Signal Processing to Audio and Acoustics, pp. 85–131,
2002.
[7] V. Välimäki, J. Parker, and J. S. Abel, “Parametric spring
reverberation effect,” Journal of the Audio Engineering Society,
vol. 58, no. 7-8, pp. 547–562, 2010.
[8] V. Välimäki, J. S. Abel, and J. O. Smith, “Spectral delay filters,”
Journal of the Audio Engineering Society, vol. 57, no. 7-8, pp.
521–531, 2009.
[9] S. P. Lipshitz and J. Vanderkooy, “In-phase crossover network
design,” Journal of the Audio Engineering Society, vol. 34, no.
11, pp. 889–894, 1986.
[10] T. Parks and C. Burrus, Digital Filter Design, Wiley-
Interscience, New York, NY, USA, 1987.
[11] P. Vaidyanathan, Multirate Systems and Filter Banks, Prentice
Hall, New York, NY, USA, 1993.
[12] S. K. Mitra and K. Hirano, “Digital all-pass networks,” IEEE
Transactions on Circuits and Systems, vol. 21, no. 5, pp. 688–
700, 1974.
[13] [Link]