ValhallaUberMod: The DIFF Parameters

The initial concept behind ValhallaÜberMod was to create a chorus algorithm that took the “balanced” modulation of the Roland Dimension units, and combined this with the multitap complexity of the choruses found in high end rackmount units, such as the Lexicon 224 & PCM70. Many of the rackmount chorus algorithms used series allpass delays to add echo density to the choruses, in a process commonly referred to as diffusion. I originally had a single Diffusion control in ÜberMod, but a bit of exploration revealed that adding parameters to the diffusion section vastly expanded UberMod’s sonic power. The DIFF parameters are used to control the diffusion section in ÜberMod.

ValhallaUberMod DIFF Controls

The diffusion section in ÜberMod is inside of the feedback loop, so the echo density will build with each repeat when FEEDBACK is greater than 0%. This can be used to create delays that get more “smeared” with each repeat, as well as full-on reverbs. The allpass delays within the Diffusion section are true stereo, and are designed to maintain a balanced yet wide spatial image. Modulation is used to reduce the metallic coloration in the Diffusion section, and can create some pretty stunning chorus effects in and of itself, as well as being useful for lush reverbs.

The DIFF controls:

  • DIFF On/Off turns the diffusion section on and off. When the diffusion section is turned off, the CPU consumption of ÜberMod is lower. This can cause a pop and other strange glitches when audio is running through the signal, so I wouldn’t recommend automating this parameter. Of course, if you like those glitches, go ahead and automate the On/Off control. Who am I to judge?
  • DIFF Diffusion adjusts the echo density and buildup of the Diffusion section.
    • A DIFF Diffusion setting of 0% turns the diffusion section into a stereo delay line, with the delay length determined by DIFF Size.
    • Diffusion settings higher than 0% result in increasing echo density.
    • The echo time/energy profile changes as Diffusion is adjusted, with some settings between 40% and 80% causing the sound to fade in slightly.
    • The highest settings of Diffusion result in a faster fade in, and a more exponential decay. The highest Diffusion settings can also create metallic coloration, depending on the other DIFF settings and the input material. Backing off slightly on the Diffusion control, or increasing DIFF Size, will usually reduce the coloration.
  • DIFF Size controls the overall length of the delays in the DIFF section.
    • With Diffusion at 0%, the DIFF Size setting corresponds to an additional delay added to the feedback loop. Keep this in mind when creating rhythmic delays.
    • At Diffusion settings higher than 0%, the DIFF Size no longer corresponds to an exact delay, but rather is used to scale the duration of the cluster of delays generated by the diffusion section. Higher DIFF Size settings result in longer clusters of delays and a longer decay from the Diffusion section.
  • DIFF ModRate controls the average rate of the modulation in the Diffusion section.
    • The Diffusion modulation is randomized, with each allpass delay having its own independent modulator, so the overall modulation is very complex.
  • DIFF ModDepth controls the depth of the modulation in the Diffusion section.
    • Note that the perceived modulation depth increases with ModRate, so the ModRate and ModDepth controls should be adjusted in tandem.

     

ValhallaUberMod: The TAPS Parameters

ValhallaÜberMod, at its heart, is a multitap delay. The TAPS section of the ÜberMod interface is used to control the delays and amplitudes of the taps. Instead of providing individual delay/gain controls for each tap, a few high level controls are used to adjust the broader tap characteristics.

A few notes about the TAPS parameters:

  • All changes to the TAPS controls that affect delay times (TAPS Spread, TAPS Skew, TAPS Random) are smoothed, with the smoothing time controlled by the WARP Smoothing parameter. This can result in flanging or pitch bending sounds as the TAPS parameters are adjusted.
  • The delay times that are set by the TAPS parameters are also modified by the MOD controls and DEPTH setting. The TAPS controls are used to set the base delays, and the modulation LFOs controlled by the MOD controls will add on to these base delays in a time varying manner. For the most part, the modulation LFOs add a few milliseconds of delay to the base tap delays, but the MOD OverMod control can result in tap delays that are far different than what the TAPS and DELAY settings would suggest.
  • The TAPS parameters are used to control the general distribution of the taps with regards to the DELAY slider, as opposed to specific tap delay times. You can think of the TAPS section as being used to create a specific shape, that is then stretched by the DELAY parameter.

The TAPS parameters:

  • TAPS Spread: controls the spread of the tap delays in time, relative to the setting of the DELAY parameter.
    • A TAPS Spread setting of 0% corresponds to all of the taps having the same base delay length – they are “right on top of each other.” This is useful when creating flangers, as the individual taps will move around the base delay, back and forth past each other, resulting in through-zero flanging effects.
    • Setting TAPS Spread >0% results in the taps being spread out in time. The longest tap delay will always be at the time set by the DELAY slider, while the other taps will spread out to fill the times between no delay and the DELAY setting.
    • An example: With TAPS Spread set at 50% and a DELAY of 100 msec, the taps will have delays between 50 and 100 msecs.
    • With TAPS Spread set to 100%, the taps will be evenly distributed between no delay and the maximum delay set by the DELAY slider. By using the delay modes with multiple taps, you can create rhythmic subdivisions of the delay time.
  • TAPS Slope: Controls the amplitude distribution of the taps with regards to time.
    • TAPS Slope at 0% results in all taps having the same amplitude, and is useful for choruses, gated reverbs, flangers, and clusters of echos.
    • With TAPS Slope set to <0%, the taps will “fade in” over time.
    • A TAPS Slope setting of -100%, in conjunction with higher settings of TAPS Spread, longer DELAY values, and a MODE with a fair number of taps (i.e. 8Tap/16Tap/32Tap), will create a “reverse reverb” effect.
    • With TAPS Slope set to >0%, the taps will fade out over time. This creates the effect of a “truncated reverb,” that starts decaying away, but then is abruptly cut off.
  • TAPS Skew controls whether the tap delays are shorter on the left or right side of the stereo image.
    • A TAPS Skew value of 0% results in identical delay times for left and right channels.
    • TAPS Skew values <0% result in the first delays being heard from the left channel.
    • TAPS Skew values >0% result in the first delays being heard from the right channel.
    • Setting TAPS Skew to +/- 100%, and TAPS Spread to 100%, results in delays that will ping pong back and forth between the output channels in a rhythmic manner. The specific rhythms depend on the MODE being used.
  • TAPS Random is used to randomize the spacing between the tap delays.
    • A TAPS Random value of 0% results in the taps being equally spaced from each other. Depending on the settings of TAPS Spread and DELAY, this can result in metallic comb filter artifacts. Which are either good or bad, depending on the sound you want.
    • TAPS Random values >0% result in the spacing between taps being randomized, which breaks up the metallic comb filter artifacts. For nonlinear reverbs, you probably want to set TAPS Random above 0%, to avoid a metallic sound.
  • TAPS TapGain controls the overall gain of the output taps. This can be considered a trim gain for the “wet” signal.
    • When TAPS Spread is set close to 0%, the wet output gain can get considerably louder, so the TapsGain parameter can be used to manage this signal level.
    • For most settings of TAPS Spread and modulation depths, the output taps will be decorrelated from each other, and TapsGain can be left at 0 dB.

ValhallaÜberMod: The Name

My wife and I were on a walk in the early fall. I was talking with her about the plugin I had been working on for a while, ValhallaChorus. The name wasn’t fitting the plugin anymore, as it was starting to enter the realm of the weird.

“How about ValhallaChorusPlus?” I asked my wife.

“Too wimpy,” she replied. “It sounds like something I would keep in my purse, next to my tampons.”

We threw a bunch more names out there, but none of them seemed right.

“How about ValhallaOverMod?” I suggested. The OverMod control had just been put into the plugin.

My wife responded, “How about ValhallaÜberMod?”

We both started cracking up. And thus the name was born.

My wife is a cool gal.

ValhallaUberMod: The MOD Parameters

ValhallaÜberMod allows the user to dial in different chorus, ensemble, and glitch shifting modulations through the use of the MOD controls. By clicking on the MOD button at the upper right of the GUI, the 5 modulation parameters can be viewed and adjusted:

The MOD parameters:

  • MOD SlowRate controls the slower delay modulation LFOs, with the value represented in Hertz. Depending on the Mode being used, this will control the speed of anywhere from 1 to 16 LFOs.
    • In modes with multiple LFOs, the modulation rate varies for each LFO, so the SlowRate value maps to the cycle speed of the slow LFO with the highest frequency – all the other LFOs will be somewhat slower.
  • MOD SlowDepth controls the modulation depth of the slow LFOs. This is more of a scale than an absolute value, and is used to balance the slow and fast LFO depths (which are both scaled by the high level DEPTH control).
    • The MOD SlowDepth also depends on the MOD OverMod setting, which acts as a control to set the slow LFO depth beyond reasonable bounds – see below.
  • MOD VibRate controls the faster delay modulation LFOs, with the value represented in Hertz. Depending on the Mode being used, this will control the speed of anywhere from 1 to 32 LFOs.
    • In modes with multiple LFOs, the modulation rate varies for each LFO, so the VibRate value maps to the cycle speed of the fast/vibrato LFO with the highest frequency – all the other vibrato LFOs will be somewhat slower.
    •  For most applications, the MOD VibRate should be used to add vibrato to a chorus, with the main detuning generated by the MOD SlowRate and MOD SlowDepth controls. However, this is just a suggestion – the fast LFOs can generate cool chorus effects by themselves.
  • MOD VibDepth controls the modulation depth of the faster LFOs. This is more of a scale than an absolute value, and is used to balance the slow and fast LFO depths (which are both scaled by the high level DEPTH control).
    • The MOD VibDepth setting doesn’t get as deep as the SlowDepth control, as LFOs running at faster frequencies cause more pitch change than slower LFOs.
    • In addition, the MOD VibDepth isn’t affected by the setting of MOD OverMod.
  • MOD OverMod. Acts as a scale on MOD SlowDepth. At the default OverMod setting (1X), the slow LFOs are optimized for creating chorusing and detuning effects. For higher settings of OverMod, the detuning gets deeper and deeper, until it moves into the realm of pitch shifting and backwards delays.
    • The modulation depth established by MOD SlowDepth and MOD OverMod is also scaled by the high level DEPTH slider.
    • The pitch shifting is not the controlled type found in ValhallaShimmer. The amount of pitch bend depends on the interconnections between MOD SlowRate, MOD SlowDepth, MOD OverMod, and the DEPTH slider. A better name for this would be “glitch shifting.” I just threw up a little in my mouth as I typed this, but it is the most descriptive phrase I can think of for the OverMod artifacts.

ValhallaUberMod: The Modes

In keeping with the tradition set by ValhallaShimmer and ValhallaRoom, there are several different “modes” in ValhallaÜberMod. These modes are selected by clicking on the name of the currently active mode, to the right of the “MODE:” text. A popup menu will appear, with the names of the available modes:

Each of the ÜberMod Modes selects a specific combination of delay output taps, as well as different modulation options for moving those taps around. I have referred to these as chorus modes or delay modes, but they are really both, so “modes” is probably the best description. A few things that all the Modes have in common:

  • Separate LFOs for slower and faster modulation. The idea is that the slow LFOs are used to create the base “detuning” of the taps, while the fast LFOs are used to add string ensemble vibrato if desired. Of course, the user can use and abuse these controls however they see fit.
  • Each delay tap in a mode is modulated by a unique LFO, or a unique phase from a multiphase LFO. This creates a high degree of aural complexity.
  • The slower LFOs have their overall rate adjusted by MOD SlowRate, and their depth by MOD SlowDepth and MOD OverMod.
  • The faster LFOs have their overall rate adjusted by MOD VibRate, and their depth by MOD VibDepth.
  • True stereo, where left and right inputs feed separate delay buffers.
  • An even number of delay taps, where half the taps are panned to the left, half to the right. The amount of panning is controlled by the DEPTH parameters. The 8Tap mode, for example, has 4 taps panned left, 4 panned right.
  • All modes have a “pay for what you use” approach to CPU usage. The more taps there are, the higher the CPU. ValhallaÜberMod has been programmed using SIMD-optimized vector functions, so it is pretty darned optimized, but the laws of physics dictate that it is cheaper to compute 2 interpolated delay taps than 32 interpolated delay taps.

ValhallaÜberMod Version 1.0.0 ships with nine different delay/modulation modes:

  • 2TapChorus has two modulated delay taps, one for the left input signal, one for the right input signal. The slow tap modulation is derived from a single triangle LFO, with the modulation phase inverted for one of the taps (I call this “antiphase modulation”). The vibrato modulation uses a quadrature oscillator, with the left and right modulations separated by 90 degrees. The 2TapChorus mode is useful for emulating the Roland Dimension C and Dimension D choruses, and also serves as a useful starting point for tape echos, diffusion-based reverbs, and all sorts of other effects.
  • 4TapEnsemble has four modulated delay taps, two for the left input channel, two for the right input channel. There are two slow LFOs, one for the left taps and one for the right taps, using the same antiphase modulation as the 2TapChorus, but with different rates for each channel. Each channel has a single sine vibrato oscillator modulating one of the taps, with different rates for each input/output channel. The 4TapEnsemble can be viewed as 2 mono versions of the 2TapChorus, one panned left, and one panned right. The architecture was derived from the ensemble section of the VP330, and is naturally suited towards creating string ensemble emulations, as well as thick detuned choruses.
  • SuperSix has 6 modulated delay taps (3 left/3 right). There are 3 slow triangle LFOs, using the antiphase modulation technique, with the LFO frequencies staggered to emulate the detuning of the sawtooth oscillators in the JP8000 SuperSaw. Each channel has its own independent 3-phase vibrato LFO (0/120/240 degree outputs), for emulating the vibrato component of classic string ensembles. The vibrato speed is slightly different between left and right channels, for a wider stereo spread. The SuperSix mode is a good starting point for emulating the “unison” control on older analog polyphonic synths, when all of the oscillators were used to create a massive detuned sound. SuperSix is also useful for creating triplet echos, short gated sounds, and other multitap effects.
  • 6TapRandom has 6 modulated delay taps (3 left/3 right), and 3 slow LFOs, each of which has a randomized triangle waveform for the slow LFO. The left and right channels are modulated in antiphase, in a similar manner to the SuperSix mode, but the randomized triangle results in less audible patterns for the detuning. There are 6 independent vibrato LFOs, one for each output tap. The 6TapRandom mode is useful for thick multitap choruses, with less audible patterns than the SuperSix mode.
  • DualEnsemble is a stereo version of the classic string ensemble choruses, as found in the Solina/ARP String Ensemble, Crumar Performer, Moog Opus 3, Korg Polysix, and so on. Each channel has its own dedicated 3-phase slow LFO (0/120/240 degree outputs), with each of the 3 taps per channel being modulated by its own phase. An identical LFO, running at a faster rate, is used for the vibrato modulation of the taps. The 3-phase LFOs for left and right channels are running at slightly different rates, to create the impression of a separate string ensemble for left and right channels. The DualEnsemble mode is the first place to turn for emulating vintage ensembles, but is also useful for creating unique effects that combine ensemble modulation with multitap effects and diffusion. Check out the SolinaVerb preset (in the Reverbs category) for an example that combines ensemble chorusing, diffusion, and feedback, to create a rich modulated reverb that adds complexity to synth pads.
  • 8Tap has 8 modulated delay taps (4 left/4 right). There are 4 slow triangle LFOs, using the antiphase modulation technique, with the frequencies arranged to produce a smooth detuned sound at “sensible” settings, or a cluster of pitches when OverMod is used. There are 8 sine vibrato LFOs, one per each tap, for thick ensemble sounds. The 8Tap mode is useful for creating realistic orchestral choruses, multitap effects, short gated reverbs, ensemble effects that don’t have the distinctive 3-phase modulation patterns, crazy pitched echos (check out the presets in the Pitched folder, which all use the 8Tap mode) and all sorts of cool things.
  • 16Phase is a 16-tap mode (8 taps left, 8 taps right) where all of the taps are modulated by two unique 16-phase sine LFOs, one for the slow modulation, and one for the vibrato. The phases are staggered left-right to get a wider spatial image. This is useful for creating a “super string ensemble” that has the distinctive lushness and artifacts of the old 3-phase string ensembles, only more so. The 16Phase mode is also useful for denser gated and reverse reverbs, nonlinear echos, metallic comb filtering (with the DEPTH set to 0.0), and areas I haven’t had the chance to explore yet.
  • 16Tap is a 16-tap mode (8 taps left, 8 taps right). There are 8 slow triangle LFOs, using the antiphase modulation technique, with the frequencies arranged to produce a smooth distribution of detuned outputs. The triangle LFO phases are inverted between channels, to get a wide spatial image.  There are 16 sine vibrato LFOs, one per each tap, with the frequencies staggered to simulate 16 separate sound sources. The 16Tap mode is useful for lush choruses that have less obvious “string ensemble” artifacts than the 16Phase mode, realistic modeling of large numbers of instruments, gated and reverse reverbs, and strong comb filters.
  • 32Tap is essentially the same as the 16Tap mode, but with double the taps (16 taps left, 16 taps right) . There are 16 slow triangle LFOs, using the antiphase modulation technique, with the frequencies arranged to produce a smooth distribution of detuned outputs. The triangle LFO phases are inverted between channels, to get a wide spatial image.  There are 32 sine vibrato LFOs, one per each tap, with the frequencies staggered to simulate 16 separate sound sources. The main application of the 32Tap mode is for nonlinear, gated and reverse reverbs, where the high tap density can be used in conjunction with the DIFF controls to get dense reverbs without feedback. All sorts of crazy echos and pseudo-reverbs can be made with the 32Tap mode. It is kinda overkill for chorus applications, but turn up the OverMod control and you can get crazy thick pitch shifting for drum reverbs.

ValhallaUberMod: The High Level Controls

ValhallaÜberMod has a minimalist GUI that is closely related to the previous Valhalla DSP plugin, ValhallaRoom. The basic concept is that the GUI reflects the hierarchy of the underlying algorithms:

  • The larger vertical sliders are used for the high level parameters. These are the controls that have the widest, most immediate impact on the sound of the effect.
  • The smaller knobs are contained within a window, with the particular knobs to be viewed selected by various “buttons” (rounded rectangles, to be precise) above the window. This is similar to the tabs concept in web browsers. Each button or tab selects a group of related controls, which tend to control the “tweakier” low level parameters.
  • The GUI has been organized around the idea that the user will dial in a specific sound via a combination of high level sliders and lower level knobs, with the high level sliders being used for broad overall changes to the sound, and the lower level knobs for fine tuning the sound.

High level controls, and the buttons used to select what knobs are visible in the “tweak” window, are represented in upper case. For example, DEPTH will be used to refer to the high level slider, while MOD refers to the button that selects the knobs used for fine tuning the modulation parameters.

A combination of upper and lower case words refers to a specific low level parameter. So, “MOD SlowDepth” refers to the knob under the MOD tab (inside the MOD window, selected by the MOD button,  part of the MOD menu, however you want to think about it) that adjusts the depth of the slow modulation waveform.

There are 5 high level sliders in ValhallaUberMod, and 2 combo boxes associated with these controls:

The sliders:

  • MIX: Controls the ratio of the dry input to the “wet” (delayed/chorused) output, displayed as a percentage. 0% corresponds to an entirely “dry” output (i.e. no effect), while 100% corresponds to an entirely “wet” output where only the delayed signals are present. In general, you will want to use a MIX setting of 100% for sends, and play around with the MIX level when ÜberMod is used as an insert.
    • MIX LOCK: The label of the MIX slider (i.e. the word “MIX” above the slider) does double duty as a mix lock. Click on the label, and the MIX slider will be grayed out. This is useful for maintaining a fixed mix level when browsing through presets.
  • DEPTH: Controls the overall modulation depth of the algorithm, displayed as a percentage. This acts as a scale on the various slow and fast modulation depths that are adjusted by the MOD controls.
  • WIDTH: Controls the overall width of the spatial image of the “wet” (delayed) signal, as a percentage.
    • A WIDTH setting of 0% sums the left and right delay output signals, such that the same delay mix is present in left and right channels.
    • A WIDTH setting of 100% is fully stereo: the outputs of the left delay line are sent to the left output only, and the right delay line to the right output only.
    • At settings above 100%, the high frequencies from one channel are inverted and added to the opposite channel, to create a “super-stereo” spatial image that can sound like it is coming from outside the speakers. The crossover for the high frequencies is set by the EQ SpatialEQ control.
  • DELAY: Controls the delay of the longest output taps, in milliseconds. The delays of the individual taps will be dependent on the settings in the TAPS menu, but the longest tap will have a base delay that corresponds to the DELAY setting.
    • It is worth noting that there are various low level controls that have an effect on the actual delay time of ÜberMod, in addition to the DELAY slider. For example, the WARP Speed control, when set to 1/2X, results in a delay that is double the DELAY setting, while halving the output bandwidth. In addition, high amounts of modulation width can cause the delay to deviate considerably from the value displayed by DELAY, and the DIFF section adds its own delay. These will be discussed in future blog posts.
  • FEEDBACK: Controls the amount of feedback around the network, as a percentage. The feedback path in ValhallaUberMod has been set up to be stable with feedback gains up to 100%, assuming that DRIVE isn’t enabled.

The combo boxes:

  • MODE: Selects the particular delay/chorus mode to be used. Each mode is a separate algorithm, that makes use of a specific number of output taps (reflected in the algorithm name) and a specific modulation scheme. The different modes will be explored in the next few blog posts.
  • SYNC: Selects the delay sync ratio of the longest taps. “Free” means that the delay time is specified by the DELAY slider, while the other values are specified in rhythmic groupings that are derived from the DAW tempo. A “.” indicates a dotted note of that time division, i.e. 1/8. is a dotted eighth, or 3/16ths. A “T” indicates a triplet division.

ValhallaÜberMod released for OSX and Windows

I haven’t been blogging much lately. There has been a good reason. For the last 6+ months, I have been working on my latest plugin, ValhallaÜberMod. Today, it has finally been released.

ValhallaUberMod is a versatile multitap modulation delay, with various chorus modes allowing from 2 up to 32 independently modulated delay taps. The modulation combines slower, Dimension-style chorusing with faster vibrato oscillators, to allow the user to dial in a variety of choruses, flangers and vintage string ensembles. The taps can be spread out in time, have their amplitude shaped and their distribution randomized, to create nonlinear, gated and reverse reverb sounds, as well as echos that decay into delay clusters, metallic drones, and all sorts of stuff. With powerful Diffusion and Drive sections, a variety of diffuse delays, tape delays, and dark reverbs can be obtained. The list goes on and on.

Over the next few weeks, I will be posting an overview of ValhallaÜberMod. Starting with a high level overview and a bit of history, I’ll then explore each section of the plugin in detail, and then delve into tips and tricks. ÜberMod is more complicated than the earlier Valhalla DSP plugins, and I feel like I have only scratched the surface of what it can do.

So, go check it out!

More weirdness from the upcoming plugin

I was doing some coding on ValhallaÜberMod today, and ran ValhallaFreqEcho through two instances of UberMod in series. At some point, I hit “record.” This is what I got:

I’ll put up a more official introduction to ValhallaÜberMod in a few days. Many of the sounds that come out of it are subtle choruses and ensembles. Turn up the “OverMod” control, and it can enter the realms of the unsane.