Reverb
- KVRAF
- Topic Starter
- 2237 posts since 25 Sep, 2014 from Specific Northwest
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 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?
- KVRAF
- 15269 posts since 8 Mar, 2005 from Utrecht, Holland
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?
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.
My MusicCalc is served over https!!
My MusicCalc is served over https!!
-
- KVRist
- 86 posts since 4 Mar, 2010
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.
- KVRist
- 251 posts since 7 Feb, 2017
A short reverb could be part of the instrument, emulating say how the hollow part of an instrument resonates.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?
-
- KVRian
- 573 posts since 1 Jan, 2013 from Denmark
+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.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?
-
- KVRAF
- 2256 posts since 29 May, 2012
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~
- KVRAF
- Topic Starter
- 2237 posts since 25 Sep, 2014 from Specific Northwest
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.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?
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?
- KVRAF
- Topic Starter
- 2237 posts since 25 Sep, 2014 from Specific Northwest
Thanks! It's a little more braining than I want to do yet, but I've squirreled it away for future study.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.
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?
- KVRAF
- Topic Starter
- 2237 posts since 25 Sep, 2014 from Specific Northwest
Awesome! Thank you! I'll be picking this apart later this weekend to see how it ticks.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.
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?
- KVRAF
- 7890 posts since 12 Feb, 2006 from Helsinki, Finland
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.syntonica wrote:Awesome! Thank you! I'll be picking this apart later this weekend to see how it ticks.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.
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.
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...
-
Winstontaneous Winstontaneous https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=98336
- KVRAF
- 2351 posts since 15 Feb, 2006 from Berkeley, CA
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.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.
- KVRAF
- Topic Starter
- 2237 posts since 25 Sep, 2014 from Specific Northwest
Now that you've spoken their names aloud, maybe they will drop by and drop some wisdom!
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.
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?
- KVRist
- 251 posts since 7 Feb, 2017
I think Sean from Valhalla did a great presentation about commercial reverbs at AES. The powerpoint/pdf is somewhere on his blog.
-
- KVRist
- 53 posts since 4 Sep, 2014
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.
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.
-
- KVRian
- 1273 posts since 9 Jan, 2006
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.
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.