Originally Posted by seancostello Most of the "hall," "plate," "room," etc. algorithms are very loose models of the physical processes, at best. Some of the high-end algorithms will model the early reflections of a space, but this only covers the first few hundred milliseconds. At that point, pretty much any acoustic space will have developed such a high echo density, that the echo response is essentially a random process. It is easier to view this as statistical, rather than deterministic. Instead of modeling the 20th order reflections, it makes more sense to say "there is x echo density, which resembles this random process, and the following frequency distribution..."
There are a few different approaches to reverb algorithm design. One is a physical model, where you adjust the walls, the shape of the room, the materials of the walls, etc., calculate the resulting echo pattern, and map it to your algorithm. This approach is probably best embodied by the high end algorithms in the TC6000, where great care is taken to model the early reflections of the space, and smoothly transition this into a late reverberation process.
An alternate approach looks at reverberation from a perceptual approach. The goal here is not to approximate a given space's physics, but to generate a sonic impression that resembles that space, or perhaps an ideal space. The Lexicon algorithms tend to lean towards a perceptual approach . Most of the Lexicon algorithms do not have separate early and late reverb, but model this as a single process. The 480L algorithms have "Shape" and "Spread" controls, that allow you to tailor the initial attack and decay of the reverb process. These controls can be tweaked to get things into a state that is very unlike most real-world reverberation processes, but are very useful in adding good sounding ambiance to a recorded signal.
Both of these approaches take huge short cuts. At some point, the directly modeled reflections are mixed with a late reverb process that uses delay lines feeding back on each other and themselves. The total amount of delay memory used is usually a small fraction of what would be needed to accurately model the statistics found in a real hall. The randomizers (modulators) found in these algorithms help to generate the impression of denser resonances, as the resonance density is directly linked to the total delay length.
A bit more about the "resonances" I refer to: You could model a room as a whole bunch of resonant bandpass filters in parallel. The peaks are the "resonances," while the valleys in between the peaks are the "antiresonances," or "notches" or whatever. In order to get even close to the sound of a reverb, you need to use a few thousand of these, distributed across the audible frequency range. A real hall can be viewed as having several BILLION of these resonances. Clearly, you can't do this in real time on any computer known, so you have to fake it.
A cheap way of generating a lot of resonances really quick is to use a delay line, and feeding the output back into the input. This will generate as many resonances as there are samples of delay, which is why this sort of feedback delay is referred to as a "comb filter" - the frequency response looks like the teeth of a comb.
However, the resonances in a standard delay based comb filter have a problem, in that they are regularly spaced. The ear picks up on this regular spacing right away, and attributes a pitch to this. A room or hall has a VERY random distribution of these resonances, where it is very difficult to impossible to hear any pattern in these resonances. So, the trick in artificial reverb algorithms is to use a bunch of feedback delay lines, while not having any regular patterns between the resonances that result in comb filtering being heard. This is the sort of random response I was referring to earlier - ideally, you will have several resonances per Hz, with a different random pattern between left and right channels.
The time-varying randomizers / modulators are usually used to take an algorithm that has a resonance every few hertz, and make it sound like it has several randomly distributed resonances per Hertz. However, the modulation by itself can't fix an algorithm that has regularly spaced resonances. You need to design the algorithm in such a way that the basic resonances are as randomly spaced as possible, with no audible clusters of peaks or big holes in the distribution.
Another problem with reverbs, both artificial and real-world, is having one or more of these abstract resonances being much louder than the other ones. This will result in a ringing sound, or a beating sound if two or more of the extra-loud resonances are next to each other.
The real world has randomization going on, due to the slight changes in the speed of sound generated by temperature differentials. But, yeah, the randomization was originally used to increase the number of "perceived" resonances.
Thanks! I'll pass this on to the Audio Damage guys. |