Building complex reverbs using ValhallaÜberMod

The original ValhallaÜberMod concept had a fairly sparse Diffusion section, which was intended to smooth out feedback echos and add some density to chorus patches. Somewhere during the development process, the diffusion block was expanded into a much more powerful DIFF section, with each input channel being processed by a dense modulated diffusion block with variable size. The DIFF section proved useful in creating dense nonlinear reverbs, as well as lush ambient reverbs and decent plate simulations. The ÜberMod controls aren’t designed around creating reverbs, so I figured that any reverbs created with ÜberMod were a cool bonus with that plugin.

Flash forward to a few days ago, where I found myself experimenting with ÜberMod, mainly as a way of procrastinating before I get back to work on my next plugin. I started running multiple instances of ValhallaÜberMod in series and parallel, and using the sends of my DAW to control the routing and levels. To my surprise, I found that I was able to create some VERY complex and subtle reverbs using ÜberMod, by allocating different instances of the plugin for different stages of the reverb decay.

EXAMPLE 1: Medium Vocal Reverb, w/early reflections

The first example uses 3 instances of ÜberMod, running on 2 different sends. The first instance is running on its own send, and will cover the early reflections stage of a reverb:

<ValhallaUberMod pluginVersion="1.0.1" presetName="RandomizedEarlyReflections" Mix="1" Depth="1" StereoWidth="0.5" Delay="0.0476999991" Feedback="0" Spread="1" Slope="0.643999994" Skew="0.175999999" Random="1" TapGain="0.5" Diffusion="0.624000013" DiffSize="0.0163265299" DiffModRate="0.0490490496" DiffModDepth="0.5" LowCut="0.0351758786" HighCut="0.232160807" SpatialXover="0.145728648" DetuneRate="0.00900900923" DetuneDepth="0.851999998" VibratoRate="0.298245579" VibratoDepth="0" OverMod="0.0313131325" DriveInGain="0.375" DriveOutGain="0.75" DriveNoiseGain="0.333333343" FeedbackRotate="0.5" SmoothingTime="0.0990990996" ColorMode="1" DelaySync="0" type="0.333333343" DiffEnable="1" Drive="0" DrivePrePost="1" Speed="0" InputPan="0.125"/>

This preset uses the 16Tap mode, in conjunction with the DIFF section, to create a dense early ambience that abruptly cuts off after about 50 to 100 millseconds. The TAP Slope parameter is used to create the perception of a room with a short to medium decay, and the DELAY slider determines the point at which this decay is truncated. Some slow LFO modulation is used in conjunction with the MOD OverMod control to randomize the reflections.

The second instance of ÜberMod is running on a separate send, and provides the input diffusion of the late reverb tail:

<ValhallaUberMod pluginVersion="1.0.1" presetName="InputDiffusion" Mix="1" Depth="0.444000006" StereoWidth="0.5" Delay="0.00999999978" Feedback="0" Spread="0.5" Slope="0.5" Skew="0.5" Random="0" TapGain="0.5" Diffusion="0.703999996" DiffSize="0.0653061196" DiffModRate="0.0130130127" DiffModDepth="0.395999998" LowCut="0" HighCut="0.387939692" SpatialXover="0.145728648" DetuneRate="0.0370370373" DetuneDepth="0.5" VibratoRate="0.298245579" VibratoDepth="0" OverMod="0" DriveInGain="0.375" DriveOutGain="0.75" DriveNoiseGain="0.333333343" FeedbackRotate="1" SmoothingTime="0.0990990996" ColorMode="0" DelaySync="0" type="0.0416666679" DiffEnable="1" Drive="0" DrivePrePost="1" Speed="0" InputPan="0.125"/>

This preset uses the 2TapChorus mode, but most of the work is being done by the DIFF section. A fairly short DIFF size is used, with the idea being to turn impulsive sounds into a “puff” of diffuse energy. This will smooth out any reverb that this preset is placed in front of.

The third instance of ÜberMod is placed in series after the second instance (i.e. on the same send), and generates a reverb tail with a medium decay:

<ValhallaUberMod pluginVersion="1.0.1" presetName="MediumLateReverb" Mix="1" Depth="0.5" StereoWidth="0.5" Delay="0.00999999978" Feedback="0.612999976" Spread="0.5" Slope="0.5" Skew="0.5" Random="0" TapGain="0.5" Diffusion="0.748000026" DiffSize="0.240816325" DiffModRate="0.0290290285" DiffModDepth="0.5" LowCut="0.0954773873" HighCut="0.288442224" SpatialXover="0.145728648" DetuneRate="0.0490490496" DetuneDepth="0.5" VibratoRate="0.298245579" VibratoDepth="0" OverMod="0" DriveInGain="0.375" DriveOutGain="0.75" DriveNoiseGain="0.333333343" FeedbackRotate="1" SmoothingTime="0.0990990996" ColorMode="0" DelaySync="0" type="0.0416666679" DiffEnable="1" Drive="0" DrivePrePost="1" Speed="0" InputPan="0.125"/>

The above late reverb preset also uses the 2TapChorus mode, with most of the work being done by the DIFF section and the FEEDBACK control. The Diffusion is set to a fairly large size. The DIFF Size, in conjunction with the feedback and filtering, determines the length of the reverb decay. The WARP fBMix control is set to 100%, to create a figure-8 (ping-pong) feedback loop, as used in reverbs by Lexicon & Alesis.

Once you have the basic routing set up, experiment with the send levels being sent to the Early Reflections (instance 1) and the Late Reverb (instances 2 and 3). I have found that it sounds best with the Early Reflections set to a somewhat higher level than the Late Reverb.

EXAMPLE 2: Randomized Hall

ValhallaÜberMod is versatile enough that you can emulate many types of reverb structures, not just the Early Reflection / Late Reverb division of the more “scientific” reverbs. For example, Lexicon’s Random Hall is known for its high echo density, and the soft attack derived from the Shape and Spread controls. To emulate this soft attack using ÜberMod, we’ll use 2 instances of ÜberMod in series. The first is used to approximate the Shape/Spread section of Random Hall:

<ValhallaUberMod pluginVersion="1.0.1" presetName="ShapeSpread" Mix="1" Depth="0.444000006" StereoWidth="0.5" Delay="0.342900008" Feedback="0" Spread="1" Slope="0" Skew="1" Random="1" TapGain="0.5" Diffusion="0.791999996" DiffSize="0.134693876" DiffModRate="0.0130130127" DiffModDepth="0.395999998" LowCut="0" HighCut="0.975879371" SpatialXover="0.145728648" DetuneRate="0.0370370373" DetuneDepth="0.5" VibratoRate="0.298245579" VibratoDepth="0" OverMod="0" DriveInGain="0.375" DriveOutGain="0.75" DriveNoiseGain="0.333333343" FeedbackRotate="1" SmoothingTime="0.0990990996" ColorMode="0" DelaySync="0" type="0.375" DiffEnable="1" Drive="0" DrivePrePost="1" Speed="0" InputPan="0.125"/>

This preset uses the 32Tap mode, with a fair amount of Diffusion, and the TAP Slope set to -100%, to create a nonlinear reverb that fades in gradually over time.  The attack time is determined by the DELAY slider.
The ShapeSpread preset is used in series with a 2nd instance of ÜberMod on the same send, that adds a huge reverb tail to the slow attack:

<ValhallaUberMod pluginVersion="1.0.1" presetName="BigLateReverb" Mix="1" Depth="0.760999978" StereoWidth="0.5" Delay="0.00999999978" Feedback="0.768000007" Spread="0.5" Slope="0.5" Skew="0.5" Random="0" TapGain="0.5" Diffusion="0.843999982" DiffSize="0.448979586" DiffModRate="0.0730730742" DiffModDepth="0.495999992" LowCut="0.0502512567" HighCut="0.340703517" SpatialXover="0.145728648" DetuneRate="0.033033032" DetuneDepth="0.5" VibratoRate="0.298245579" VibratoDepth="0" OverMod="0" DriveInGain="0.375" DriveOutGain="0.75" DriveNoiseGain="0.333333343" FeedbackRotate="1" SmoothingTime="0.0990990996" ColorMode="0" DelaySync="0" type="0.0416666679" DiffEnable="1" Drive="0" DrivePrePost="1" Speed="1" InputPan="0.125"/>

This preset is very similar to the earlier late reverb preset, but with a much greater DIFF size setting. In addition, the WARP Speed is set to 1/2, which doubles the size of the diffusors, to create a HUGE reverb decay.

ROLL YOUR OWN SOUNDS

The above examples are just 2 quick demos of the complex reverb responses that can be generated with multiple instances of ValhallaÜberMod. For example, a longer gated reverb could be used in parallel with a reverb that incorporates DRIVE in the feedback loop, to create a reverb that starts off clean, then turns nasty after a certain amount of time.

ÜberMod is also useful in extending the capabilities of other reverb plugins. For example, the InputDiffusion or ShapeSpread examples from above can be used in series with ValhallaRoom, to create a super lush reverb that has more “standardized” reverb controls. The RandomizedEarlyReflections example can be added in parallel to ValhallaShimmer, to add early reflections to the modulated Shimmer late decay. Or combine ÜberMod with any other reverb plugin, algorithmic or convolution, as you see fit.  The low CPU consumption of ÜberMod makes it easy to use it in conjunction with other plugins.

It is worth noting that the same process can be used in the construction of all sorts of complicated sonic events, not just reverbs. ValhallaÜberMod excels at choruses, ensembles, multitap delays, echos, and so forth. By combining different settings of ÜberMod in series and parallel, all sorts of weird and wonderful sounds can emerge. I encourage people to use ÜberMod as a modular building block for creating all sorts of complex effects.

ValhallaRoom Updated to Version 1.1.0

ValhallaRoom has been updated to version 1.1.0.

The latest changes:

  • New reverb mode: LV-426.
    • In keeping with the Nostromo/Narcissus/Sulaco tradition, this is a deep dark space verb. It is kind of a cross between Nostromo and Narcissus, but with a far higher earlier echo density than either of those reverb. LV-426 has a slower attack than the other reverb modes, and a lush, diffuse random modulation that produces beautiful long decays.
    • The LATE LowMult/Xover and LATE HighMult/Xover filters have been moved to a location where they act as tone controls.
    • Values of LowMult less than 1.0 allow you to dial in reverbs with less low frequency energy.
    • The LowXover control can be used to adjust the crossover freq of the low cut/boost.
  • 64-bit VST for OSX. ValhallaRoom is now fully 32 and 64-bit compatible for both Windows and OSX.
  • Optimized CPU for Windows RTAS and VST32
  • Fixed mono->stereo bypass bug in RTAS
  • Window resizing bug fixed in Digital Performer

Update links have been sent to all ValhallaRoom customers, and new demo versions are available for testing at the ValhallaRoom page.

ValhallaRoom Updated to 1.0.8. Resizable GUI, new reverb modes

We’ve been working hard here at Valhalla DSP towers [i.e. I've been working hard typing in code on my laptop while sitting at the dining room table]. One of the fruits of this labor:

ValhallaRoom has been updated to version 1.0.8. The newest features:

  • Resizable GUI. When ValhallaRoom was first released, I received several complaints that the GUI was too big. Version 1.0.8 has been updated. Now the GUI can get much, much bigger. It can also get smaller, if that is your thing.
  • Two new reverb modes, Nostromo and Narcissus. The new reverb modes both have a sparser initial echo density than most of the ValhallaRoom modes, and take longer to build in echo density. This, combined with the high frequency attenuation, random modulation, and deliberately noisy delay interpolation, can be used to create grainy emulations of vintage reverbs, as well as denser decays that have a wide spatial image.
    • Nostromo is the biggest sounding reverb in ValhallaRoom, with audible echos at the largest size settings that slowly evolve into a rich decay.
    • Narcissus is Nostromo’s little sibling, with an initial denser decay. Narcissus is also the “lightest” reverb mode in ValhallaRoom, with a very low CPU hit.

Simon Stockhausen has some beautiful demos using the new ValhallaRoom reverb modes on his Soundcloud page. The first example uses Stockhausen’s amazing soprano sax playing, processed by Nostromo:

The next example uses Symplant through Narcissus:

The final example utilizes a ring modulated sound from Alchemy, and runs it through Narcissus:

Update links have been sent out to all VRoom customers, and demos of the GUI resizing and new modes can be found on the webpage.

Algorithmic Reverbs, Distortion, and Noise

Over on Gearslutz, AstralPStudios asked an interesting question:

When it comes to reverb, is there close relation to distortion in some ways? I guess when I’m listening to big verbs with high decay times it makes me wonder that because at times a big, wet verb can have some distortion-type characteristics.

The distortion observation is a good one, as this can often be heard with very long decays in algorithmic reverbs. In some cases, this is due to the high signal levels of the output. Increasing the decay time means turning up the internal feedback gains, and this often results in an output sound with a very high RMS level. However, even if the output level is reduced to a level that isn’t clipping within the DAW, sometimes various forms of distortion and noise can be heard. This can be explained as a consequence of the feedback nature of the algorithms, and how feedback causes the characteristics of the loop to be magnified exponentially.

Algorithmic reverbs tend to be made up of short delay lines, with LOTS of feedback applied. A good rule of thumb is that the average delay lines in a reverb are 0.1 seconds or shorter in length. In order to get a 30 second decay out of the reverb, the sound will be going around those loops (30.0/0.1) times…or 300 times. So any little quirk in the feedback path, like interpolation noise or fixed point distortion, will be increased on each pass through the feedback loop.

The earliest “long” electronic reverb sounds were based around tape delays, possibly running into a spring or plate reverb. Listen to “Creation du Monde” by Vangelis for an amazing “reverb” sound that comes from 3 RE-201 Space Echos:

The wow and flutter of the tape units, and the distortion added by tape saturation, results in a sound that is far more ethereal than 3 clean digital delay loops run in series or parallel.

The Lexicon 224 is an early digital reverb that was well known for its spacey, extra long decays (up to 70 seconds). Again, Vangelis was an early pioneer of the extra long decays using this unit, most famously in the Blade Runner soundtrack:

The Lexicon 224 used a fixed point processor, with a 16-bit word size, and a 20-bit saturating accumulator. Translated into English, this means that the 224 had about 24 dB of headroom internally (4X the max input volume) before things started clipping. HARD, digital clipping. The allpass delays used by the 224 also had fairly high internal gains, especially with long reverb times. This results in clipping at various points in the digital reverb network. Strangely enough, adding clipping into the nodes of a Lexicon-style reverb network doesn’t end up producing the classic tape echo runaway feedback at most settings. Instead, it tends to produce a somewhat higher noise floor with broadband audio signals (i.e. music as opposed to test signals).

The modulation in the Lexicon 224 also produced distortion, but of a different sort. The 224 had a quirky multiplier, which resulted in the linear interpolation being quantized to fairly big subsample chunks (I think it was 32 or 64 chunks per sample). This resulted in a “halo” of noise around reverbed signals, where the noise was less signal dependent than the clipping noise described above. The linear interpolation also results in attenuated high frequencies above 1/2 the sampling rate. Since the sampling rate in the 224 was pretty low in the first place, the attenuated high frequencies were quite audible with long decays. The noise and high frequency attenuation will increase every time it passes through the reverb network, and a 70 second decay time results in a few hundred passes through the allpass delays.

EDIT (1/24/2013): Since I wrote the above, I have spent a lot of time studying the Lexicon modulation. I think that the modulation source in the older Lexicons had a lot more to do with the noise performance than I had originally thought. The modulation in my PCM70 is noisy as all get out. The results of my studies can be heard in my latest plugin, ValhallaVintageVerb. In the 1970s and 1980s modes, I make use of this noisy modulation, which can really be heard on long sustained synth notes going through longer reverbs. The Concert Hall and Bright Hall algorithms are the best showcases of these “old school” artifacts.

Today, reverb plugins are usually programmed with floating point math. 32 bit floating point avoids most of the distortion issues found in the older fixed point processors, and 64-bit floating point can be used if absolute precision is desired. Generally speaking, 64-bit math is useful for very low frequency higher order filters, and for precise control of attack/decay times for dynamics processing – otherwise, 32-bit floating point has an amazingly high SNR. In addition, the last 3o+ years have seen a great deal of progress in delay interpolation techniques, so you can have modulated delay lines with lower SNR and less high frequency attenuation. If a DSP engineer wants to throw a bunch of cycles at their algorithms, they can come up with very clean reverbs, even with extremely long decays.

At Valhalla DSP, our philosophy is that a little noise isn’t necessarily a bad thing, and that the artifacts of the older reverbs often added some nice mojo to the signal. The high frequency attenuation of linear interpolation can result in a far less “glassy” high end than modern high fidelity interpolation techniques. ValhallaShimmer makes use of this in the “dark” color mode (the “bright” mode makes use of a more modern interpolation style).

The new Dark Room mode for ValhallaRoom deliberately introduces noise into the linear interpolation, and downsamples the entire reverb algorithm, to produce more audible noisy artifacts. As the noise is very signal dependent, and the algorithm is true stereo, this will result in different noise signals in the left and right channels, which increases the decorrelation of the algorithm, producing a very spacious feel. With short decays, the noise won’t be that audible, as it will only pass through the delays a few times before decaying away. With long decays, the noise floor builds up, resulting in a big, washy block of “spectral plasma,” to borrow a term from Christopher Moore. The other ValhallaRoom algorithms are fairly clean, but I felt it was important that users had the choice between modern clean and vintage dirty.

ValhallaRoom Released for OSX

ValhallaRoom has just been released for OSX, in the most popular plugin flavors – 32 and 64-bit Audio Units, 32-bit VST, and RTAS. The price is $50 US. You can demo/purchase the plugin at

http://www.valhalladsp.com/valhallaroom

Special thanks go out to my lovely wife, Kristin, for her design work on the GUI, and especially for her amazing new website design. You should go to http://www.valhalladsp.com and bathe in all of its majesty.

The Reverb Beard

Something that I find rather curious, is that many of the reverb pioneers sported some seriously impressive beards. Christopher Moore has posted a few beard-heavy pictures on his website (http://www.sevenwoodsaudio.com). Here’s my favorite:

From left to right, you have Christopher Moore (Ursa Major reverbs, AKG ADR 68K), Anthony Agnello (Eventide, Princeton Digital), Wolfgang Schwarz (or Wolfgang Buchleitner, not sure of the name, but the Quantec guy) and David Grieisinger (designer of the Lexicon reverb algorithms). An amazing amount of reverb knowledge in one place, and rocking beards that rival ZZ Top, assuming that you put the 4 beards together to form one super beard like some sort of beard Voltron.

Another picture tosses in Barry Blesser (EMT-250), sporting a scholarly pipe and an even more scholarly beard:

Nowadays, I use the term “Reverb Beard” (or “Reverbskägg” in Swedish) to refer to people that develop reverberation algorithms, or to describe the state of people in the middle of the design process for reverb algorithms. Feel free to use this meme.

Note: I’ve tried to grow the reverb beard before, but it either comes out red, which makes me look like Kris Kringle in “Santa Claus is Coming To Town,” or greyish-red, which makes me look and feel old. So the “reverb beard” is more of a mental state.

EDIT: Chris Randall and Adam Schabtach, of Audio Damage fame, both pointed out to me that the mighty beards of the reverb pioneers were first mentioned on the Music Thing blog in 2004:

http://musicthing.blogspot.com/2004/12/beards-and-music-technology-pioneers.html