[linux-audio-dev] cool plugin from Waves

Fons Adriaensen fons.adriaensen at skynet.be
Fri Feb 4 23:28:18 UTC 2005


On Fri, Feb 04, 2005 at 10:09:33PM +0100, David Olofson wrote:

> > The (well-working) designs I have seen,  all use time-modulated
> > delays in the 'tank'. Every sampled impulse 
> > response would be slightly different from the previous. 
> 
> This is a well known way to "cheat" to save cycles.

It's not just a cheat. 'Real' sources are moving. Just a few cm is
enough to get a completely new set of modes (resonances) in a room.

> Most traditional reverbs use a small numbers of allpass filters/delay 
> lines, hooked up in various ways. Some or all of these form feedback 
> structures, to generate the reverb tail. With a low number of 
> filters, there are only so many possible feedback delay permutations, 
> so you'll almost certainly get some strong resonances. (Usually 
> *exactly* where you don't want them, of course... *heh*)

There are ways to systematically avoid these. For a well designed
reverb, the feedback matrix is not just chosen randomly. It's more
or less the same as for random number generators: you can't make
a good RNG by just combining lots of random operations on the
state (see Knuth for a striking example). The best RNGs are very
'systematic' and use quite simple algorithms.

> If tuned properly, this modulation "trick" reduces the metallic sound 
> caused by these resonances, so you can get away with an otherwise 
> insufficient number of filters and/or a suboptimal tuning. (*)

If you have a really nasty (broad) resonance, modulating the delays
will not really help. That is, the resonance will not go away until
the modulation is so strong that it leads to its own problems. 
In general, a little modulation will improve an already good reverb,
but it will not help a bad one.

> Now, convolution based reverbs don't need this (at least not unless 
> you want to simplate a room with moving air, that is :-), because 
> they don't have feedback loops, and thus, they don't have these 
> undesired and hard to tune resonaces in the first place. If the 
> impulse is nice, so is the reverb, basically.

They capture the 'feedback loops' that are present in the room. The
real advantage is that for a good room these are much more complex
than anything you could do with a small number of basic delay elements. 

The important parameter is the number of resonances per Hz. A good
room has lots of them, and all should be very narrow. The result is
that no natural source will ever be coherent for a long enough time
to build up significant energy in any mode. Or if you look at it
in the frequency domain, the bandwidth of the resonances should be
smaller than the bandwidth of the source.

But you can set up very strong resonances even in the best concert
hall if the source has a very stable frequency and if you tune it
very slowly and wait long enough.

-- 
FA











More information about the Linux-audio-dev mailing list