Schroeder Reverbs: the forgotten algorithm

I am a bit of a reverberation algorithm fanatic. For 10+ years now, I have read every paper I can find on reverb design, and have listened to every hardware and software reverb I can lay my hands on. I have created literally hundreds of reverberation algorithms during that time. Most of them sucked. Some of them are pretty good.

As a reverb snob, I have tended to avoid working with the algorithms that people refer to as “Schroeder Reverbs.” Generally speaking, these refer to 4 or more parallel comb filters (delay lines with feedback) of unequal length, with the outputs summed and run through two or more allpass delays. There are many published examples of such reverbs, and most of them sound pretty bad: ringing, metallic, etc. Even the famous Freeverb algorithm has these qualities, at least to my ears.

However, the “Schroeder” reverb as it is commonly known is only one of several reverberator algorithms that were disclosed by Manfred Schroeder in his early papers. In his seminal 1962 AES Paper, “Natural Sounding Artificial Reverberation,” Schroeder describes 2 algorithms:

  • The parallel comb filters into series allpasses, as described above.
  • Series allpass delays. Schroeder describes a reverberator using 5 allpass delays in series. This type of reverberator can have a less-colored sound than the parallel comb filters / series allpass approach. However, the amplitude response can become very “Gaussian,” and the allpasses can still display a metallic sound.

Schroeder describes a way of mixing the input and output of the series allpass reverberator, in such a way that the resulting sound is allpass. The algorithm consists of a single delay line, feeding into 5 series allpass delays, with allpass feedforward/feedback around the whole structure:

Schroeder acknowledges that such a reverberator would have a non-exponential decay. What Schroeder does not seem to recognize in his paper is that this is a fundamentally different algorithm than the simple series allpass reverb. By turning the “wet” gain up, the coefficient of the outer allpass is increased, which will result in an echo density that increases with time, as well as a longer reverb time.

Why is this important? The reason this is notable is that real rooms and acoustic spaces have an echo density that increases with time, while the parallel combs and series allpass reverberators have a constant echo density. By placing the allpasses in a feedback path, a much more natural reverberation decay is created. Schroeder’s paper is the first description of a nested allpass delay that I have found in the literature. The idea of putting allpasses inside of delayed feedback loops is fundamental to the algorithms of Lexicon, Alesis, and other high end reverberator manufacturers, and is still used to this day.

I have implemented the Schroeder nested allpass reverberation algorithm before, and it sounds surprisingly good. People have looked at Schroeder’s claims of “natural sounding reverberation” with skepticism, and attributed it to how long it took to render the sound in 1962, the type of material being reverberated, and so on. Undoubtedly it was difficult to audition the sound under such circumstances, but I am now of the belief that Schroeder was using the nested allpass reverberator in his experiments, and might have been getting better results than what he is commonly credited with.

About the author:

Sean Costello is the "algorithmic reverb plugin wizard" [citation needed] at Valhalla DSP.

Comments (9)

  1. Hello, very interesting post. I’d like to know what do you think about other reverberation algorithms like: gardner, dattorro or jot. These are algorithms particulary recurrent on literature.

    What book (if there is one) would you suggest to study for develop new kind of perceptual reverberator (IIR filter)?

    Best regreads from Italy.


  2. Hi, the Schroeder reverb model was used in the Eventide SP-2016 which has been released again under the “princeton” name. Its covered in a deatiled article Angello and Steven Hoge did for Computer Music Journal in 1985. Steven Hoge worked on the RFX-32 for the E-Mu Ultra Samplers. I’m not sure what model was used for that Reverb.

    1. My guess is that the Schroeder reverb in the CMJ article (which I have read a lot!) is there for the sake of example. A lot of reverb developers followed the following process in their algorithm development:

      – Create hardware that can realize reverbs in real time.
      – Code up Schroeder reverbs.
      – Decide that Schroeder reverbs aren’t to their liking.
      – Figure out algorithms that sound better.

      In an article from 1988, Ken Bogdanowicz and Robert Belcher discuss the H3000, and the reverb cited in that article is a 6-delay FDN. The same architecture is described in the H3000 manual. I haven’t heard an SP2016 in person, but the Eventide Stereo Room plugin is supposed to be a port of one of the SP2016 algorithms, and it sounds like an FDN reverb fed by series allpass diffusors. At least, to my ears it does.

      The SP2016 came out around the same time that Puckette and Stautner published their FDN work in the Computer Music Journal. Michael Gerzon had published FDN research in 1971 and 1972, in Studio Sound magazine. It would be kinda early for FDNs to be in a commercial reverb, but since later Eventides use FDNs, it is probably a safe bet to presume that there are some FDN reverbs in the SP2016.

      1. interesting… the schroeder model does come up a lot. Is the comb all-pass not peculiar to it? But there again when is a delay line operating as a comb and what happens with filter networks to deal with cancellation/phase. I only found the CMJ article, which i expect you had read but i wanted to post it up here too after I saw Steven Hoge’s name on the credits for the E-Mu RFX-32 which seems to have Ensoniq, E-Mu and Eventide influence in the algorithms. The same names keep cropping up across the years of Reverb design until we get to the plugin era that is!

Leave a Comment

Rules of the Blog

Do not post violating content, tags like bold, italic and underline are allowed that means HTML can be used while commenting.