DESC 9115, 2014, LAB REPORT 2
SCHROEDER BASED REVERBERATOR WITH SIMULATED STEREO AMBIENCE
Marc D. Cruz (430566248)
Digital Audio Systems, DESC 9115, Semester 1 2014
Graduate Program in Audio and Acoustics
Faculty of Architecture, Design and Planning, The University of Sydney
Introduction
The proposed effect is a digital reverberator for mono input signals, and a stereo
ambience simulator at its outputs. Aimed at musicians and sound designers, the effect uses a
digital algorithm originally proposed by Manfred Schroeder in 1961. The effect is a response to
a market saturated with refined reverbs, and harkens back to the days of raw digital reverbs. The
purpose of this effect is not to create a conventional reverb, but rather use the imperfections that
stem from the Schroeder algorithm, and create original spatial soundscapes, that have a place in
the world of Sound Design. This report focuses on understanding the origins of the effect and
its implementation using the Max-Msp digital programming language.
Design
Schroeders initial design was composed of four parallel connected comb-filters and two
series connected all-pass filters. The basic idea was for the comb-filters to simulate the
reflections that occur between the walls within a concert hall. However, because the filters alone
lack a sufficient buildup of echoes needed for realistic diffuse reflections, they were fed into two
allpass filters which rectified the issue. According to todays standards, Schroeder's reverb is
considered poor in accuracy and rough sonically, often dubbed the lost reverberator, however,
Fig 1. MaxMSP Reverberator Network
its design has recently come into a resurgence, not for its accuracy, but for its spatial identity.
While the reverberator is not accurate, when manipulated properly and coupled with additional
effects, it proves to be a very versatile sound design tool.
Figure 1 shows the reverberator network of the system. Within this effect there are eight
comb-filters with varying time delays ranging from 17.3 to 35. 9 ms. These comb-filters, upon
receiving their initial input signals, are subsequently summed together and fed into four allpass
filters, also with varying time delays (ranging from 3 to 11 ms).
Presentation Mode
Upon opening the patch in Presentation Mode, the user is greeted with a simple graphical
user interface (GUI), to operate the effect. The GUI is composed of an Open File button, which
opens up a dialog box that allows the user to fill the effects buffer with an audio file of their
choosing. In this demonstration the supplied audio file Gtr_Input_Dry.wav would be imported
this way. In addition there are four playback buttons that give the user a choice between playing
the audio file once or looping the file for realtime reverberation configuring. The LED light to
the right of the playback buttons turn on whenever the loop function is toggled. Above this area
are two slider controls that manipulate the feedback depth and the Wet, Dry balance of the
generated reverberation. At the bottom of the GUI, a simulated stereo ambience can be toggled
by pressing the Stereo Amb On/Off Button, which is also paired with a helpful LED light, to
alert the user when it is in effect. The On/Off switch beside it, performs a necessary reset of the
effect for transferring between both Mono and Simulated Stereo modes. Lastly, there are volume
controls, paired with LED metering to aid users in monitoring input levels.
FIG 2.
Patch Mode
There are five basic sections within the patch, four of which are derived from the three
inputs and one output of the my_monoverb sub-patch where the main reverberator is found.
The sub-patch shows a Max/Msp circuit representation of the reverberator network composed of
the eight comb-filters and four allpass filters. Figure 2 shows that each comb-filter fulfils the
Infinite Impulse Response (IIR) equation y(n) = (0.5*x[n]) +/-(0.5* y[n-1]), where x(n) is equal
to the current input and y(n-1) is equal to signal leaving the delay network and entering the
summing amp object +~.' This particular IIR comb-filter has a fixed frequency response, which
was created by adding a one-pole~ lowpass filter to the feedback path. Figure 3 shows the
allpass filter circuit which combines feedforward and feedback systems according to the
following equation: y(n) = (-g * x[n]) + x[n-D] + (g* y[n-D]), where the current output is equal
to the current input multiplied by the negative gain and the previous input. This is then added
Fig 3.
with the previous output and multiplied by the positive gain, allowing the negative scalar -g to
cancel out the comb filter effects of values D > 1.
Fig. 4 Reverberator Sub-Patch
Signal Flow
Figure 4 shows that the first input of each of the comb-filters receives signal from the
groove~ function outside of the sub-patch, which stores the opened audio file. This signal
passes through a *~ object which scales the amplitude. The second input receives information
from a loadmess object which dispenses an array of different fixed delay values, stored
specifically for each comb-filter. The final input receives signal from the feedback depth
controls outside the sub-patch. The signal then hits a clip object, which limits the feedback
parameters between 0. to 0.99. Anything surpassing these increments would start degrading the
system dramatically.
Upon receiving all aforementioned signals, each comb-filter feeds into a +~ object
which sums them together and subsequently sends them into the series configured allpass filters.
Afterwards the newly summed signal reaches an output and leaves the reverberator sub-patch.
The signal is then multiplied with the output of the sinusoidal generator cycle~ which receives
a scalar of messages from the slider control section of the patch delineating the wet attributes of
the effect. Consequently, the reverberated signal joins the original dry signal (which has also
been multiplied by a cycle~ object), at the exponentially scaling volume slider, which sums and
controls their amplitude. After leaving the volume slider, the signal is split three ways entering
both channel 1 and channel 2 of the ezdac~ digital to analogue converter object, and a sub-
patch which triggers the modulated delay effect.
Time Delay Modulation
The modulated delay sub-patch within the effect is specifically responsible for the
simulated stereo ambience. The effect is built upon decorrelation principles jettisoned by David
Griesinger. According to Griesinger, Mono reverberations sound poor because they do not
reproduce the spatial properties of a space adequately which requires a scattering of reflections
reaching each ear distinctively. One technique to simulate this ambience in a mono signal is by
adding a short time delay (generally 8 - 12 ms) and modulate it by a Low Frequency Oscillator
(LFO). The delayed reverberation when summed with the original signal, reproduces a
decorrelation effect that creates a temporal spread, creating a sense of envelopment and width.
Figure 5, shows a cycle~ LFO object propagating a frequency of 2 and modulating a
tapin~, tapout~ system that delays the signal by 12 ms. In addition the modulation amplitude
Fig. 5
is scaled by 25% before reaching the delay system and its eventual output into the main patch.
Upon its output, the delayed signal reaches a gsswitch object, allowing an output to be selected
from two inputs, one of which is directed toward a toggle object and LED connected to the
Stereo Amb button, in charge of triggering the effect on and off. The output of the switch
object feeds into channel 2 of the ezdac object where it convolves with the original non delayed
signal and creates the decorrelated simulated stereo ambience.
Mono and Stereo Applications
At its present state this reverberator is specifically tailored for mono signals. However
stereo implementation would be relatively seamless, needing only for the initial reverberator sub-
patch to be doubled. In addition the spatiality of the effect can be experimented with, by varying
the delay times of the second reverberator, so it would be distinct from the first.
Evaluation and Further Development.
The effect created within this report does work successfully as a reverberator, based on
Schroeder's design. In addition, while subtle, a simulated stereo ambience is audibly
distinguishable when the effect is toggled. The overall sound of the reverb is raw and dirty
bordering on distortion, which makes the effect ripe for further customisation with additional
DSP parameters such as pitch shifting, EQ, phasing and flanging. In this retrospect the delay
modulation section of this effect should be expanded in future development to allow user
modification. Given the data supplied, I believe this effect would be a welcomed addition to the
already expansive cannon of digital reverberators.
References
I. Schroeder M, Logan B. Colorless artificial reverberation. IRE Trans Audio 1961;9(6):209
14.
II. Schroeder M. Natural sounding artificial reverberation. J Audio Eng Soc 1962;10(3):219
23.
III. Griesinger, D., 1986. SPACIOUSNESS AND LOCALIZATION IN LISTENING ROOMS -
HOW TO MAKE COINCIDENT RECORDINGS SOUND AS SPACIOUS AS SPACED
MICROPHONE ARRAYS. Journal of the Audio Engineering Society, [Online]. 34,
p255-268. Available at: http://www.davidgriesinger.com/spatialization_and_loc.doc
[Accessed 16 May 2014].
IV. Griesinger, D., (2000). How to use Electronic Reverberation to Add Depth and
Envelopment Without Reducing Clarity. In Tonmeister Conference. Hanover, Germany,
November, 2000. Hanover: AES. 1 - 28.
V. Gardner, W. G., 1992. The Virtual Acoustic Room. Master of Science. Cambridge,
Massachusetts: MASSACHUSETTS INSTITUTE OF TECHNOLOGY.
VI. allpass~ Reference. 2014. allpass~ Reference. [ONLINE] Available at: http://
cycling74.com/docs/max5/refpages/msp-ref/allpass~.html. [Accessed 18 May 2014].
VII. MSP Tutorial 28: Delay Lines with Feedback. 2014. MSP Tutorial 28: Delay Lines with
Feedback. [ONLINE] Available at: http://cycling74.com/docs/max5/tutorials/msp-tut/
mspchapter28.html. [Accessed 18 May 2014].
VIII.MSP Tutorial 31: Comb Filter. 2014. MSP Tutorial 31: Comb Filter. [ONLINE] Available
at: http://cycling74.com/docs/max5/tutorials/msp-tut/mspchapter31.html. [Accessed 18 May
2014].
IX. MSP Tutorial 29: Flanging. 2014. MSP Tutorial 29: Flanging. [ONLINE] Available at:
http://cycling74.com/docs/max5/tutorials/msp-tut/mspchapter29.html. [Accessed 19 May
2014].