Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Good audio reverb source?

Is there any good C or C-like source code for an audio reverb (besides Freeverb). There are endless examples of low-pass filters that sound great, but it's terribly difficult to find source for a good-sounding reverb.

Why is that? Is it a hard enough problem that the good implementations are held onto and not published?

like image 646
Nosredna Avatar asked Jul 12 '09 23:07

Nosredna


4 Answers

Are you kidding? Reverb is the easiest thing in the world to do programatically:

for (int i = 0; i < input.Length; i++)
{
    output[i] += input[i];
    output[i + delay] += input[i] * decay; 
}

I write this kind of stuff full time now, so maybe it just seems easy. Do you mean you're looking for more general echo or spatial effects, that might include frequency-modulated delay lines and chorusing and so on?

like image 155
MusiGenesis Avatar answered Oct 18 '22 05:10

MusiGenesis


How about this one? I know you said you didn't want freeverb, but this is episode 3 of freeverb, and to my eye it looks like it has been vastly improved.

alt text
(source: soundonsound.com)

This version is a convolution reverb that supports impulse response. For those of you who don't know what that is, engineers take microphones into a space that they want to model (i.e. a performance hall) and fire a starter pistol, measuring the echoes produced. These echoes are then used to model the reverb. This process provides a very realistic reverb, that mirrors the characteristics of the performance hall.

http://freeverb3.sourceforge.net/

like image 22
Robert Harvey Avatar answered Oct 18 '22 07:10

Robert Harvey


realistic reverberation algorithms are a bit of the 'holy grail' of audio DSP programming... there are two basic approaches in the pro-audio market today:

  • convolution reverb (using impulse responses)
  • delay/feedback/dampening networks

the main challenge behind impulse response convolution has been the efficiency versus quality tradeoff (incl. latency!). whereas the main challenge behind delay matrix networks has been generating vast lattices of delays with little harmonic re-inforcement.

professionals pay vast amounts of money for realistic sounding reverbs... a "good" sounding reverberator can retail for $2000+, and "really good" ones for much more.

welcome to the pro-audio industry...

like image 6
kent Avatar answered Oct 18 '22 05:10

kent


You could do a lot worse than read John Dattorro's paper on the subject found here, on his homepage. Dattorro worked at Lexicon and the paper I've referenced includes extensive discussion on the design of high quality reverb.

Outside of this, the various links at musicdsp, and scant reference in the literature, the design of great reverb is shrouded in secrecy. The finest reverbs are designed either by people who have worked with the designers of the last generation of great reverbs, or by obsessives who invest extraordinary quantities of time into the subject. In either case, the designers seem to become quite tight-lipped regarding their methodologies.

like image 4
Dave Gamble Avatar answered Oct 18 '22 07:10

Dave Gamble