### Zita-Rev1

A FOSS4.17 reverberator that combines elements of Schroeder (§3.5) and FDN reverberators (§3.7) is zita-rev1,4.18written in C++ for Linux systems by Fons Adriaensen. A Faust version of the zita-rev1 stereo-mode functionality is zita_rev1 in Faust's effect.lib. A high-level block diagram appears in Fig.3.14.

The main high-level addition relative to an 8th-order FDN reverberator is the block labeled allpass_combs in Fig.3.14. This block inserts a Schroeder allpass comb filter (Fig.2.30) in series with each delay line. In zita-rev1 (as of this writing), the allpass-comb feedforward/feedback coefficients are all set to . The delay-line lengths and other details are readily found in the freely available source code (or by browsing the Faust-generated block diagram).

#### Zita-Rev1 Delay-Line Filters

In zita-rev1, the damping filter for each delay line consists of a low-shelf filter [449],4.19in series with a unique first-order lowpass filter that sets the high-frequency to be half that of the middle-band at a particular frequency (specified as HF Damping'' in the GUI). Since the filter is constrained to be a lowpass, for , i.e., the decay time gets shorter at higher frequencies.

Viewing the resulting damping filter as a three-band filter bank3.7.5), let and denote the desired band gains at dc and middle frequencies'', respectively.4.20 Then the low shelf may be set for a desired dc-gain of , and its input (or output) signal multiplied by to obtain the resulting filter

where denotes the (real) first-order lowpass pole, given by [449]

where specifies (in Hz) the crossover point between low'' and middle'' frequencies, and denotes the sampling interval as usual.

The lowpass filter is also first order, and to provide half the middle-band at the beginning of the high'' band, the lowpass should break'' to a gain of at the HF Damping'' frequency specified in the GUI. A unity-dc-gain one-pole lowpass has the form [449]

where the pole must be found to give a gain of at frequency :

Squaring and normalizing yields a quadratic equation of the form . Solving for using the quadratic formula yields

where

and the unstable solution is discarded. To ensure , the GUI must limit the middle-band to finite values. (The upper limit is presently seconds for both low and middle frequencies.)

Next Section:
Further Extensions
Previous Section:
FDN Reverberators in Faust