I’m programming a reverb for the first time and I could really use some help.
The structure is:
8 low-pass comb filters in parallel
4 all-pass diffusers after them
My main problem is choosing the delay times for the comb filters. I’ve read that they should often be mutually prime or incommensurate, and maybe spread by some ratio, but I do not fully understand how to apply that in practice.
So I wanted to ask:
How do you usually choose comb delay lengths?
Is using prime numbers enough?
Are there any good rules of thumb for getting a smoother and less metallic reverb?
Any advice, references, or examples would be really appreciated.
Putting the diffusors into the comb filter loops makes the reflection pattern much more complex. Plus one comb filter has several delay times simultaneously: bypassing the allpass, looping through the allpass once, twice and so on. That creates multiple resonances with just one comb filter. Multiply that with the number of comb filters and the frequency response is much more interesting than just a bunch of comb filters mashed up with diffusors in series.
There are various Reverbs in VCV Rack. From basic (e.g. various Freeverb implementations) to elaborate (e.g. Plateau). Many of them have their source code shared (e.g. on Github). Maybe have a look at those?
For more general info maybe also check the links and info shared in this post? E.g. the insights on Reverb from the master: Valhalla DSP
And/or check out this Reverb related info by DSP pioneer Julius O’ Smith III at CCRMA
He has loads more information on all sorts of audio processing / DSP subjects, directly linked from the Global JOS Index page. Including on all sorts of filters (including allpass) and reverb algorithms (including Schroeder and Freeverb). Just about everything you might need…or could think of…and even more.