Freeverb

A recently developed reverb design is the Freeverb, a public domain C++ program by «Jezar at Dreampoint». It is a variation of the Schroeder-Moorer algorithms, with carefully tuned filters that makes it relatively well balanced. The algorithm consist of 8 comb filters in parallel, followed by 4 alpass filters in series. Julius O.Smith shows the following diagram of the Freeverb in his excellent resource “Physical Audio Processing”:

Diagram of the freeverb algorithm. The numbers in the boxes are the filter coefficients.
A simplified diagram of the freeverb architecture

The comb filters used in freeverb have a lowpass component in the feedback, and this is used to control how high frequencies may decay faster than low frequencies. This would be natural in an acoustic room, due to absorption in air and in wall reflections. The reverberation time is adjusted by modifying the feedback amount of the comb filters. The allpass filters use a static feedback amount, so with short reverb times, the output is dominated by the allpass coloring. Stereo reverberation is created by having a separate copy of the filter combination for each channel and adding an integer number of samples to all delay times for one of the channels. The default delay time offset is 23 samples.


Input sound 1: Short burst of white noise

Input sound 2: A short guitar phrase

Noise burst with Freeverb, medium reverb time

Guitar with Freeverb, medium reverb time

Noise burst with Freeverb, long reverb time

Guitar with Freeverb, long reverb time