next up previous contents index
Next: Controlling reverberators Up: Time shifts Previous: Power conservation and complex   Contents   Index

Artificial reverberation

Reverberation in real, natural spaces arises from a complicated pattern of sound reflections off the walls and other objects that define the space. It is a great oversimplification to imitate this process by recirculating, discrete delay networks. Nonetheless, this approach of modeling reverberation using recirculating delay lines can, with much work, be made to give good results.

The central idea is to idealize any room (or other reverberant space) as a parallel collection of delay lines that model the memory of the air inside the room. At each point on the walls of the room, many straight-line paths terminate, each corresponding to a possible line of sight ending at that point; the sound then reflects into many other paths, each one originating at that point, and leading eventually to some other point on a wall.

Although the wall (and the air we passed through to get to the wall) absorbs some of the sound, a fraction of the incident power is reflected. If this fraction is close to one, the room reverberates for a long time; if it is exactly one, the reverberation lasts forever. If at any frequency the walls reflect more energy overall than they receive, the sound will feed back unstably; this never happens in real rooms (conservation of energy prevents it), but can happen in an artificial reverberator if it is not designed correctly.

To make an artificial reverberator using a delay network, we must fill two two competing demands simultaneously. First, the delay lines must be long enough to prevent coloration in the output as a result of from comb filtering. (Even if we move beyond the simple comb filter of section 7.4, the frequency response tends to have peaks and valleys whose spacing varies inversely with total delay time.) On the other hand, we should not hear individual echos; the echo density should ideally be at least one thousand per second.

To accomplish both of these aims, we assemble some number of delay lines and connect their outputs back to their inputs. The feedback path--the connection from the outputs back to the inputs of the delays--should have an aggregate gain that varies gently as a function of frequency, and never exceeds one for any frequency. A good starting point is to give the feedback path a flat frequency response and a gain slightly less than one; this is done using rotation matrices.

Ideally this is all we should need to do, but in reality we will not always want to use the thousands of delay lines it would take to model the paths between every possible pair of points on the walls. In practice we usually use between four and sixteen delay lines to model the room. This simplification sometimes reduces the echo density below what we would wish, so we might use more delay lines at the input of the recirculating network to increase the density.

Figure 7.15 shows a class of reverberator designs that use this principle. The incoming sound, shown as two separate signals in this example, is first thickened by progressively delaying one of the two signals and then intermixing them using a rotation matrix. At each stage the number of echoes of the original signal is doubled; typically we would use between 6 and 8 stages to make between 64 and 256 echos, all with a total delay of between 30 and 80 milliseconds. The figure shows three such stages.

Figure 7.15: Reverberator design using power-preserving transformations and recirculating delays.
\begin{figure}\psfig{file=figs/fig07.15.ps}\end{figure}

Next comes the recirculating part of the reverberator. After the original thickening, if any, the input signal is fed into a bank of parallel delay lines, and their outputs are again mixed using a rotation matrix. The mixed outputs are attenuated by a gain $g \le 1$, and fed back into the delay lines to make a recirculating network.

The value $g$ controls the reverberation time. If the average length of the recirculating delay lines is $d$, then any incoming sound is attenuated by a factor of $g$ after a time delay of $d$. The gain after a time $t$ is thus approximately

\begin{displaymath}
{g^{t/d}}
\end{displaymath}

which in decibels gives:

\begin{displaymath}
20 {t\over d} {\log_{10}} (g).
\end{displaymath}

The usual measure of reverberation time (RT) is the time at which the gain drops by sixty decibels:

\begin{displaymath}
20 {\mathrm{RT}\over d} {\log_{10}}( g ) = -60
\end{displaymath}


\begin{displaymath}
\mathrm{RT} = {{-3d} \over {{\log_{10}}(g) }}
\end{displaymath}

If $g$ is one, this formula gives $\infty$, since the logarithm of one is zero.

The framework shown above is the basis for most modern reverberator designs. Many extensions of this underlying design have been proposed. The most important next step is to introduce filters in the recirculation path so that high frequencies can be made to decay more rapidly than low ones; this is readily accomplished with a very simple low-pass filter, but we will not work this out here, having not yet developed the needed filter theory.

In general, to use this framework to design a reverberator involves making many complicated choices of delay times, gains, and filter coefficients. Mountains of literature have been published on this topic; Barry Blesser has published a good overview [Ble01]. Much more is known about reverbertor design and tuning that has not been published; detailed reverberator designs are often kept secret for commercial reasons. In general, the design process involves painstaking and lengthy tuning by trial, error, and critical listening.



Subsections
next up previous contents index
Next: Controlling reverberators Up: Time shifts Previous: Power conservation and complex   Contents   Index
Miller Puckette 2006-03-03