Re: [Ardour-users] Re: good quality reverb - brutefir!

From: Carl Hetherington (lists_at_carlh.net)
Date: 11/25/03 10:03 EST


From: Carl Hetherington <lists@carlh.net>
Subject: Re: [Ardour-users] Re: good quality reverb - brutefir!
Message-ID: <Pine.WNT.4.58.0311251445310.1252@renato>
Date: Tue, 25 Nov 2003 15:03:45 +0000 (GMT Standard Time)

On Tue, 25 Nov 2003, Ross Vandegrift wrote:

> On Sun, Nov 23, 2003 at 01:36:54PM +0100, Piotr Sawicki wrote:
> > BruteFIR is very interesting, but its documentation is not sufficient to
> > know how to
> > convolve filters that use impulse responses.
>
> I spoke last week to my EE friend and he explained this to me.  It's
> staggeringly easy.
>
> To apply any filter to any arbitrary signal, aparantly, all you need to
> do is take a signal with the filter already applied, and convolve it
> with your target signal.  He assured me it really is that simple -
> hopefully he wasn't oversimplifying it.
>
> Properties of the original signal can aparantly make this better - a
> delta function makes the best signal to convolve your dry signal with.
> Unfortuantely, producing a delta function is just a touch impossible in
> the real world.
>
> So while I don't know the particulars of how this applies to audio, the
> theory seems to indicate it'd be pretty simple.

As applied to audio (and specifically reverb) you can think of a room as a
filter.  Imagine you are in a church or whatever with a computer, a
loudspeaker and a microphone.  You put the loudspeaker somewhere and the
microphone somewhere else.  You then play a recording of, say, someone
singing in your dry, boring, anechoic studio, out of the loudspeaker and
record the output of the microphone.

If you listen to your recording it will consist of your original signal,
modified by the effects of the room.  In effect the room has filtered your
signal.  It'll now have reverb on it, and will probably sound nice.  Now
if you had a spare church in your cellar you could use it as a reverb unit
--- you put the dry signal in (which goes into the loudspeaker) and get a
nice reverberant signal out (which came from the microphone).

Now of course having a church in your cellar presents certain practical
issues.  So instead we'd like to mathematically describe the filtering
effects of the church and simulate them in our computer.

Enter the "impulse response".  Imagine you had a loudspeaker that could
generate an infinitely high and yet infinitely narrow signal.  If you
played this into your church and recorded the output of your microphone,
what you'd have would be the impulse response of the church (assuming that
your loudspeaker and microphone are ideal!).  This is very useful because
theory shows that the impulse response tells us everything we could
possibly want to know about the response of that room.

Now enter convolution.  If we take our dry vocal recording and convolve it
with the impulse response of the church (that we just measured with our
infinitely high and yet infinitely narrow signal) the result will be SAME
as what we WOULD have got had we actually played the signal into the real
church!  So now with an impulse response, a convolution program and some
processing time we can simulate what would happen if we could afford that
church in the cellar.

The main problem with all this, of course, is the infinitely high and
infinitely narrow signal.  These are impossible to generate perfectly.
However, there are a number of cunning tricks that are used to get round
the problem; a few are:

1.  Use something that is "good enough" --- e.g. a gun shot (probably best
not to use this in a church) or a high-quality loudspeaker.

2.  Swept sines --- you can make a good stab at measuring the impulse
response by measuring the response of the room to a varying sine wave and
doing some jiggery-pokery.

3.  Pseudo-random binary sequences / Golay codes --- a bit complicated to
go into here but essentially you use a pre-defined but noise-like signal
and do some maths.

So yes --- the main problem is probably obtaining the impulses.

One commercial gadget that uses these principles is the Yamaha SREV
http://www.soundcorp.com.au/html/yamaha_srev.htm
I'm sure there are others.

Cheers

Carl


-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?  SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/
_______________________________________________
Ardour-users mailing list
Ardour-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ardour-users

This archive was generated by hypermail 2.1.7 : 11/25/03 10:08 EST