Reverb

DSP, Plugin and Host development discussion.
RELATED
PRODUCTS

Post

I'm just going with the basic thread title here. :)

I just hacked Freeverb into my VSTi and while it works, there are definitely issues. Aside from it sounding metallic, it has horrible, horrible wolf notes and tends to sound twice as loud on one channel compared to the other. None of this behavior is random, either, which might actually be charming if it was.

I understand that the metallic sound is the nature of this type of reverb and no amount of hacking or tuning will really help make this fully useable, to my ears. Would a high pass filter help with this?

What I am looking for are other avenues to explore before I go diving into the science and math fully. Are there other free reverbs out there that use different algorithms that I can jump into to take apart and explore? I am specifically looking for algorithmic reverbs and not convolution.
I started on Logic 5 with a PowerBook G4 550Mhz. I now have a MacBook Air M1 and it's ~165x faster! So, why is my music not proportionally better? :(

Post

Better don't than do it wrong. Why oh why do you need a reverb (or any effect for that matter) to be included into your VST? Just leave it to your punters to chain it with the reverb (or any other fx) of their own choice.

Maybe an instrument isn't taken serious anymore if the presets aren't drowned in delays, but the circus has to stop somewhere.

So you don't agree?
We are the KVR collective. Resistance is futile. You will be assimilated. Image
My MusicCalc is served over https!!

Post

Here's my version of Martin Eastwood's GPL MVerb. In the "Simple" folder is a very basic command-line app showing how to use the code. I modified the MVerb code to also compile for Linux, as well as support both interleaved and noninterleaved buffers, and other datatypes besides float.
You do not have the required permissions to view the files attached to this post.

Post

BertKoor wrote:Better don't than do it wrong. Why oh why do you need a reverb (or any effect for that matter) to be included into your VST? Just leave it to your punters to chain it with the reverb (or any other fx) of their own choice.

Maybe an instrument isn't taken serious anymore if the presets aren't drowned in delays, but the circus has to stop somewhere.

So you don't agree?
A short reverb could be part of the instrument, emulating say how the hollow part of an instrument resonates.

Post

BertKoor wrote:Better don't than do it wrong. Why oh why do you need a reverb (or any effect for that matter) to be included into your VST? Just leave it to your punters to chain it with the reverb (or any other fx) of their own choice.

Maybe an instrument isn't taken serious anymore if the presets aren't drowned in delays, but the circus has to stop somewhere.

So you don't agree?
+1 on this in general, don't know if OP is creating a synth though. Unless if it's central you can patch the reverb around internally.

Post

If you are looking for alternatives there is an old but well known paper by Jon Dattorro https://ccrma.stanford.edu/~dattorro/Ef ... nPart1.pdf I have implemented as it is but it didn't sound very good and if I recall correctly it is not meant to be a complete reverb algorithm but needs to be used with an early reflections model of some sort. For that I have used a number of simple delay taps with low pass filtered feedback and the result was better. It may be necessary to choose delay taps from prime numbers to avoid metalic coloring caused by the unintentional comb filtering effect.
~stratum~

Post

BertKoor wrote:Better don't than do it wrong. Why oh why do you need a reverb (or any effect for that matter) to be included into your VST? Just leave it to your punters to chain it with the reverb (or any other fx) of their own choice.

Maybe an instrument isn't taken serious anymore if the presets aren't drowned in delays, but the circus has to stop somewhere.

So you don't agree?
Right now, it's experimental to see what it brings to the table. I have it inserted as a global effect as that was the easiest, but I'd like to use it as part of the sound design chain, which is a little trickier and will require some major modifications to the reverb code.

So far, in small doses, it enhances some of the sounds. It's the heavier doses where Freeverb sounds really bad...

As far as effects go, the two I want are verb and delay, but to enhance sound and not cover up a multitude of sins.
I started on Logic 5 with a PowerBook G4 550Mhz. I now have a MacBook Air M1 and it's ~165x faster! So, why is my music not proportionally better? :(

Post

stratum wrote:If you are looking for alternatives there is an old but well known paper by Jon Dattorro https://ccrma.stanford.edu/~dattorro/Ef ... nPart1.pdf I have implemented as it is but it didn't sound very good and if I recall correctly it is not meant to be a complete reverb algorithm but needs to be used with an early reflections model of some sort. For that I have used a number of simple delay taps with low pass filtered feedback and the result was better. It may be necessary to choose delay taps from prime numbers to avoid metalic coloring caused by the unintentional comb filtering effect.
Thanks! It's a little more braining than I want to do yet, but I've squirreled it away for future study.
I started on Logic 5 with a PowerBook G4 550Mhz. I now have a MacBook Air M1 and it's ~165x faster! So, why is my music not proportionally better? :(

Post

j_e_g wrote:Here's my version of Martin Eastwood's GPL MVerb. In the "Simple" folder is a very basic command-line app showing how to use the code. I modified the MVerb code to also compile for Linux, as well as support both interleaved and noninterleaved buffers, and other datatypes besides float.
Awesome! Thank you! I'll be picking this apart later this weekend to see how it ticks.
I started on Logic 5 with a PowerBook G4 550Mhz. I now have a MacBook Air M1 and it's ~165x faster! So, why is my music not proportionally better? :(

Post

syntonica wrote:
j_e_g wrote:Here's my version of Martin Eastwood's GPL MVerb. In the "Simple" folder is a very basic command-line app showing how to use the code. I modified the MVerb code to also compile for Linux, as well as support both interleaved and noninterleaved buffers, and other datatypes besides float.
Awesome! Thank you! I'll be picking this apart later this weekend to see how it ticks.
This type of all-pass loop (or something very similar) is probably the easiest type of reverb to tune if you want something reasonably decent. It's easy to add more sections and depending on how you set the delay lengths you can get a fairly large palette of different sounds. The parameters are also fairly easy to tune compared (emphasis on compared, because no reverb is really easy to tune, this type is just easier) to many other topologies often suggested (eg. FDN is terrible). Finally, it plays very nicely with modulation if you are into that kind of thing.

That said, don't expect a production quality reverb to come easy (or cheap). Building one that sounds even reasonably competitive takes a ridiculous amount of work, most of which involves trying to tweak the numbers of a terrible sounding algorithm in order to make it sound a little less terrible, iteratively, until you grow a gray beard or give up. ;)

Essentially, having a good structure is important, but the bulk of the "magic" of a reverb is really in how the parameters are setup and tuned. For all practical purposes it's like sound design work, except your "instrument" is complex and non-intuitive and the "sweet spots" are practically non-existent. :D

edit: oh I forgot the main point: the cost of building a good reverb means that you are very unlikely to find a good one (for free anyway) that you can just drop into a plugin and be done with it...

Post

syntonica wrote:What I am looking for are other avenues to explore before I go diving into the science and math fully. Are there other free reverbs out there that use different algorithms that I can jump into to take apart and explore? I am specifically looking for algorithmic reverbs and not convolution.
This doesn't directly answer your question, but check out this Gearslutz thread on reverb design for a sense of paths worth exploring. A lot of deep knowledge and tantalizing hints from the best in the biz - Sean Costello from Valhalla, Casey from Bricasti, Michael Carnes of Lexicon/Exponential Audio (among others). What's truly striking is their ability to infer design topologies/parameter ranges by careful listening, and then translate that into functional, inspirational products. :party:

Post

Now that you've spoken their names aloud, maybe they will drop by and drop some wisdom! :lol:

Thanks for the thread. I've got it bookmarked as it looks to be quite a slog for me at this point in my knowledge.
I started on Logic 5 with a PowerBook G4 550Mhz. I now have a MacBook Air M1 and it's ~165x faster! So, why is my music not proportionally better? :(

Post

I think Sean from Valhalla did a great presentation about commercial reverbs at AES. The powerpoint/pdf is somewhere on his blog.

Post

Smashed Transistors over in the Reaper JSFX forum has an interesting reverb-ish plugin. I'll link to the post about the chorus, but you can always link through to his SoundCloud to hear it and the Stash link for the source.

Seems like a big part of it is modulating those allpass filters. Beyond that I dunno, I haven't managed to build a decent one myself.

Post

I got close to a decent design at one time. The main problem I had was related to density. I could get it sounding great on a vocal, for example, but on drums with super sharp transients the lack of density caused a grainy sound that almost sounded like some kind of distortion (it wasn't distorted). Increasing the density I could get the drums to sound bad ass, but then the vocals would suffer metalic ringing artifacts. I couldn't win. I guess thats why a lot of reverbs add a density control.
My design was inspired by the Keith Barr approach using 2 allpass delays and a delay as a building block and then building loops out of those blocks.

Post Reply

Return to “DSP and Plugin Development”