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?
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?
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.
(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/
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:
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...
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With