mystran wrote: 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.
That is some good advice. I also agree that the Keith Barr 'loop' is the easiest to tune for reasonable results although I did have some tap-sloping issues, and FDNs are a PITA but can have good results too.
There isn't that much math involved(except maybe for FDNs), it's basically just time and labor. I would suggest to put some time in to optimize your prototyping environment so that you can test ideas as fast as possible(you don't want to recompile just to flip the polarity of a tap) or use a prototyping environment like the scripting in Reaper or Max or Reaktor or whatever. I also suggest to try as much typologies as you can find, not necessarily to make your reverb but to train your ears, if something happens that you don't like, you actually can figure out why and try to avoid it in future. Be prepared to fail miserably a number of times, it's part of the experience!
Lastly remember that there is no 'good/perfect' reverb, just a selection of decent reverbs that deliver certain tasks in a certain way. Subjectively if I look at the classics like Yamaha SPX (low echo density, slightly ringy, great localization), TC (good at 'real' rooms, an 'invisible'-type verb), Lexicon (thick and lush, not great localization), Eventide(unreal effected reverbs, great at godzilla-type soundscapes) etc etc. I mainly mix rock/goth/metal which doesn't use a lot of reverb to begin with so my SPX is my go-to, it actually doesn't sound great in isolation but fits great into a mix. I demoed some Lexicons(hardware and software) in the past and just couldn't gel with it, it just takes up too much space in the mix (on recorded instruments), it's great for electronic stuff though. It's highly subjective, as long as the reverb doesn't motorboat and not too resonant, somebody might like it.