– | Reverb Design | Psychoacoustic | Other DSP | –
Reverb Design is about creating a spacial impression aimed at sweetening the listening experience for a given context. The ambiguity of auditory and visual cues in reproduced sound makes it necessary to create an auditory illusion: To make this illusion work, I propose an aesthetic concept of simplicity and intelligibility based on psychoacoustic facts and recording practice as professional producer.
My interest and research on the perception of acoustic spaces - Early Reflections in particular - is reflected on a new subpage: psychoacoustic.html.
New slope matching algorithm for zita style fdn’s. I worked extensively on slope matching allpass filters and ended up using the (expensive) quadratic equation to solve x = −g∕(1 − g2) :
where d is the distance from the sound source; t1 and t2 are reflections.
A possible approximation, which proved to be useful in many contexts would be:
19:54:52 [df7c71aeed] compiled /initrd/mnt/dev_save/dsp/rdk/zita_uref/zita_ext3uref.dsp to zita_ext3uref_m8m.dll using f2w32vst. basis for release. compiled linvst. (user: root tags: www)
This is the core blockdiagram:
This is the new flagship - the reverb of the reverbs. It features 8 channel I/O, directivity database of 14 instruments, source image modeling of hall and stage housing, smooth transition to late reverb, ER/late ratio, real distance modeling, slope matching, design of onset, late texture and coloration + full calculation of sound source movement on stage including changing directivity patterns.
Here is the dry source used for tuning the default preset:
And here is the wet example using the preset "Mozart4+stagehouse_MV2_m8+42-4":
You can listen to these files on soundcloud by clicking on them.
Here I make available two binaries and a Reaper project [14MB], a Windows32 dll and a Linux shared object. Both are VST 2.4 plugins with generic user interface. Get in contact if you want more (SHARCs, hardware, grafics, 64-bit versions or presets). Remember, these binaries are not free:
The license will be like this: The source code is free for non-commercial use (GPL2) as allways. If you download a binary, however, you agree to send me a sound file. I will tune the reverb and design a costom preset for you. You owe me something of the equivalent of 5 (five) beer for that. Deal?
The Reaper project is set up for simulating realistic 3-D sound source movements using parameter modulation of the sound source’s room coordinates. Note the I/O routing should look like this:
Aura Verb is a product I designed for Antelope Audio running on FPGA chips inside their hardware devices from Goliath to Zen Studio. These provide at least 12 superb hardware I/O-channels. Up to 8 instances of Aura Verb run simultaniously on a single device. This provides the possibility to create true surround halls.
It was originally based on my simpleReverb.dsp but then we worked in-house directly on the C++ code and changed both the tuning of the interleaved Gardner section for the reverb tail and added late reflections for a strong feeling of envelopment.
It’s unique feature are both early and late reflection settings controllable by the user for very creative effects and a warm Lexicon style "humanized" tale - without saturated input and output phaser, which can be added inside the devices’ DSP chain. See default presets designed by producer Brian Vibberts:
The FAUST software competition required me to make a video of "how it works":
Initially my motivation was to hack the 480L large hall algorithm. Not by reverse engineering - that would be hard to do - but with my ears. Not by looking at the IR. Most of the feeling of "envelopment" seemes to come from time variance anyway. I worked daily with the 480L at university and after that I needed it for my own productions, so I tried to figure out what might be in the box to make my own tool.
Have you ever listened to the tail of the 480L large hall algorithm without dry signal?
Where does all this phasing come from? It sounds ugly - far from the IR you get from any major hall - but magic happens when mixed with the dry signal in the mix. Whats going on?
To test the phasor hypothesis, I mixed a decent reverb with its phase inverted signal on a creamware platform. It cancelt out 100 per cent. Good. Creamware doesn’t fool me with random block processing like MAX or PD. Then I rised delay of the inverted signal slowely. 1 ms is a huge step and sound changes dramatically. At 10-11ms the filtered (I think) reverb tail was allmost indistinguishable from the Lexicon’s. Modulating the 11ms delay didn’t get much closer. Modulation of delays seems to happen inside the core algorithm.
Schroeder reverbs and FDNs don’t give as much control over the onset and shape parameters compared to the nested allpass structures proposed by Gardner. Gardner published 3 different algorithms: small, medium und large hall. Griessinger (Lexicon founder) talked about Gardner. It seemed to be a good fit. Gardner’s large hall is my personal favorite anyway and it can be made to cause high frequency losses internally which sounds much more natural than the loss filters commonly found in FDN designs.
When modulating delays the overall shape of the reverb stays more or less constant but the fine structure changes continuously. As it does in real halls. A concert hall with humans on stage is a time variant system. But the 480L’s hall changes more drastically and in different ways. That’s key.
A constant repetitive stimulus is inhibited in seconds - so called Clifton effect. To counteract this the reverb level could be raised, but that would muddy the sound. Exaggerated time variance and randomness helps enormously in the mix, especially in the decay phase when envelopment is lost otherwise, simply by calling attention to a varying stimulus - which by then sounds sufficiently different to be recognized as a separate auditory event - the reverb tail.
The 480L is commonly not used on completely dry signals but on acoustic instruments. It therefore enhances the salient properties of the recorded hall.
Finally I got close enough to use my own reverb on a daily basis, called ClassicReverbVST. Instead of tuning each delay separately I took the lazy approach and modulated the phased output stage. It could easily be tweak’d further, but hey, it works for me. It is available on this website as download and source code.