Professional Documents
Culture Documents
File 3 PDF
File 3 PDF
Abstract
In this paper, we present the implementation of different reverberation algorithms in the Matlab programming
environment. This is a useful tool to analyze the algorithms behavior from the signal processing and sounding
point of view. With Matlab environment is possible and simple to view the filter characteristics, impulse
response, phase response and all the relevant characteristics of the filters. In addition, the possibility of hearing
the results is quite simple and fast. We present the main aspects of programming these algorithms using
Matlab and the results produced with these techniques.
1. Introduction
Reverberation is a very common and often
unnoticeable phenomenon in our lives. The
surrounding walls in a concert hall and in the
office, the walls of the buildings in the street, every
object around us reflects the sound that is
propagating through the space. Because these
reflections, what we hear is not only the
information that leaves from the sound source;
some additional components are added to the
original sound. The reflections modify the
perception of the sound, changing its loudness,
timbre and its spatial characteristics [1].
The presence of reverberation is especially
interesting in music. This effect adds life and a
sense of space. The reverberation is associated
with the architecture and acoustic of concert halls,
and this factor is critical for good sounding in
concert performances. In recorded music, there has
been a great effort in simulating this effect through
some electro-acoustic devices. Nowadays, digital
signal processing techniques are mostly used for
these purposes.
From the first Schroeder work (early 1960's) about
artificial reverberators based on discrete-time
signal processing [2][3], many implementations
have been presented in different publications.
Some of them are very relevant (Dattorro,
Gardner, and Jot) offering different approaches to
obtain a reverberation algorithm with some
specific characteristics: natural sounding, absence
f
g = 2 cos 2 c
fs
the
(3)
cutoff
1-g
GAIN
Out
g
GAIN
-1
DELAY
In
X(z)
g
GAIN
-g
GAIN
Y(z)
U(z)
z-l
z -k
S(z)
DELAY
V(z)
cos 2 f c 2 1
f s
-k
Z
DELAY
g
GAIN
Out
-g
GAIN
In
F(z)
Out
g
GAIN
Delay
266
2974
1913
1996
1990
187
1066
Sign
+
+
+
-
Node
n_out_1
n_out_1
n_out_2
n_out_3
n_out_4
n_out_5
n_out_6
Delay
353
3627
1228
2673
2111
335
121
Sign
+
+
+
-
bandwidth
Z
PREDELAY
input diffusion 2
-277
LOW PASS 1
input diffusion 2
-379
Z
ALLPASS 4
input diffusion 1
-672
-142
Z
ALLPASS 2
n_out_1
decay diffusion 1
input diffusion 1
-107
Z
ALLPASS 3
Z
ALLPASS 1
n_out_2
-4453
n_out_3
damping
Z
DELAY
LOW PASS 2
decay
DECAY
ALLPASS 5
-3720
decay
Z
DELAY
-3163
decay
Z
DELAY
DECAY
decay diffusion 1
Z
-908
-1800
ALLPASS 6
DECAY
decay diffusion 2
-4217
Z
DELAY
damping
LOW PASS 2
decay diffusion 2
decay
DECAY
ALLPASS 5
-2656
ALLPASS 6
n_out_4
n_out_5
n_out_6
H1(z)
H2(z)
n_in
Fd ( z )
F ( z)
, where F(z) = n
Fd ( z ) gFn ( z )
Fd ( z )
(9)
ref
In
F(z)
Out
g
GAIN
INPUT
Z-352, g=0.3
Z-529, g=0.3
ALLPASS 1
ALLPASS 2
Z-176
Z-749
DELAY
DELAY
GAIN
0.34
GAIN
0.34
Z-661
DELAY
Z-1367
DELAY
S_NESTED ALLPASS
D_NESTED ALLPASS
gain
fc =2.6 kHz.
GAIN
LOW PASS
OUTPUT
k1
k=
b1
z-d1
K1
b2
X 2(z)
b3
b4
z -d2
K2
X 3(z)
X 4(z)
z -d3
K3
z-d4
C1
Y 1(z)
X 1(z)
Y 2(z)
C2
C3
C4
Y 3(z)
K4
Y 4(z)
FTJ
in
co0
X 4 ( z )
Y4 ( z )
(10)
out
k2
k3
z -d1
and z d =
k4
z -d 2
z
- d3
z -d 4
(11)
6. Conclusions
In this paper we have presented the main aspects
of the Matlab implementation of some well-known
reverberation algorithms. This tool helps us to
understand the behaviour of the different blocks
(filters, delays, gains, feedback loops, etc) in which
these algorithms are based. Using this tool it is
also possible to compare the algorithms complexity
and computing time required for them.
References
[1]
Gardner,
W.G.
1998.
Chapter
3.
Reverberation Algorithms, in Kahrs, M. and
Brandenburg, K. Editors. Applications of
Digital Signal Processing to Audio and
Acoustics. Kluwer Academic Publishers.
[2]
[3]
[4]
[5]
[6]