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: Early Reflections versus Early Energy

The reverberation algorithms in ValhallaRoom are separated into 2 sections, Early and Late. This is a fairly common division of tasks in algorithmic reverbs. However, while most reverberation algorithms describe the early part of the reverberation as Early Reflections, ValhallaRoom’s early section would be better described as “Early Energy.” The important distinctions:

  • Most reverberators that feature “Early Reflections” use up to a few dozen discrete delay taps, or echos. These delays are often based upon a ray-traced model of a room, but fail to take into account the diffusion found with real acoustic surfaces, and the huge amount of complexity that is found in a real performance space. Things like furniture, seats, columns, and other performers and musical instruments, all combine to create a reflection pattern that is far more complex than what a few dozen delay taps can reproduce.
  • In order to add the complexity that is missing from the tapped delay early echo generation, some manufacturers have resorted to allpass delays in order to increase the echo density. This can work well for many signals, but can result in metallic artifacts on vocals and impulsive signals such as drums. I’ve described this phenomenon extensively in an earlier post. The “Diffusion” control in most reverberators can be seen as a way of dealing with the unpleasant side effects of allpass filters, by allowing the user to control the allpass delay coefficients to suit particular input signals.
  • ValhallaRoom doesn’t attempt to model any particular room geometry. Instead, it takes the approach that the early energy should be as dense, colorless, and spacious as possible, in order to emulate an “impossible” room. The user can dial in the duration of the early energy (using the Early Size control), to emulate smaller or larger spaces. A range of 10 to 50 milliseconds is common for smaller spaces, while larger durations are useful for emulating concert halls and cathedrals, where the initial reverberation tends to take some time to build up intensity.
  • The crossfeed of energy between spatial channels in ValhallaRoom can also be controlled with the Early Cross control, to create reverbs that have a realistic spread of energy between left and right channels, or an unnatural separation of the early energy that can be useful in preserving the initial spatial image of a stereo mix.
  • The Early section of ValhallaRoom has no allpass delays in it, which allows it to avoid the coloration caused by short allpasses. The Early Diffusion control adjusts the overall echo density, but it is mainly there for special effects – you can turn Diffusion all the way up, without getting the “ringing” sounds associated with high diffusion settings in some algorithmic reverberators.

ValhallaRoom was designed from a pyschoacoustic perspective, as opposed to a physical perspective. The goal was to create a sound that produces the impression of an “ideal” room, versus a specific room that exists in the real world.