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 V1.0.6: Introducing Dark Room

I have just released version 1.0.6 of ValhallaRoom. You can download the demos from the usual place, and all current ValhallaRoom customers should have received a link to the updates (send me an email if you haven’t received your links yet).

In addition to a few bug fixes, version 1.0.6 introduces a new reverb mode to ValhallaRoom: Dark Room. This new reverb departs from the high fidelity path taken by the other 4 reverb modes in ValhallaRoom. It is deliberately low-fi, with noisy interpolation, no high frequencies above 11 kHz, and a late reverb that can have a low initial echo density. It also has a wide stereo image, a clear decay with lush randomized chorusing, and sits in a mix quite nicely. An added bonus is that the CPU is significantly lower than the other ValhallaRoom reverb modes.

Why add a lo-fi reverb mode to ValhallaRoom? I’m not really sure. After doing this for about 12 years, I’ve learned to follow my instincts on this stuff, even if it takes me in strange directions. Plus, I wanted to add something new to ValhallaRoom, as a way of saying thanks to all of the customers who have supported my work.

I was also inspired by some recent studies of the Lexicon 224, the EMT250, and other vintage reverbs. These early digital machines often had very noisy interpolation, sparse initial echo density (at least by modern standards), and sampling rates that seem primitive today. They also were useful for creating a “larger-than-life” sound, that is described to this day as warm and spacious. I noticed that a lot of these classic reverbs had a very limited frequency response, so I figured it would be worth adapting some of these old-school limitations to the more modern algorithm architectures found in ValhallaRoom.

Dark Room has identical controls to the other reverb modes, but produces a noticeably different initial sound. With Early Send set to 0, the Late Decay can have a marked amount of initial “flutter” or “grain,” similar to the 224 Concert Hall with the Diffusion control set low. A few usage tips:

  • The Late Size control can be used to adjust the speed of the “flutter,” with larger sizes corresponding to more obvious and slower echos.
  • By setting Early Send to 1.0, and adjusting the Early Size to 40 msec or later (depending on the Late Size), the flutter in the Late reverb can be totally eliminated. This is similar to how the Diffusion control works in older Lexicons, but with the advantage that the Early reverb has far less coloration than the series allpasses used for the diffusors in many “classic” reverbs. The Late Size can then be adjusted to get the desired stereo width – this can get really big.
  • Setting DEPTH to 1.0 results in the most “vintage” sound, while values less than 1.0 allow the user to dial in some early reflections.
  • With Early Send set to 1.0, and using larger Early Size values (>100 msec), the Late Reverb will have a slower initial attack. This is similar to how the Depth control worked on the 224 and 224X/L, as well as the Shape and Spread controls on the 480L and later reverbs.
  • The Late High Mult and Late High Xover have an effect on the initial tone of the late decay, similar to the Concert Hall algorithm on the 224XL and the Small/Large Concert Hall B on the 224. By setting High Mult to 0.1X, the user can simulate the -6dB/octave filters used on these older boxes.
  • Turn up the Early and Late Mod Depth when using Dark Room. The older algorithms used a LOT of pitch modulation to avoid metallic decays. The Dark Room algorithm uses a different architecture that is less prone to sounding metallic, but if you want that big, lush, spacey decay, modulation is a must.

Here’s a preset that can be used as a good starting point for the Dark Room reverb mode:

<ValhallaRoom pluginVersion="1.0.6" presetName="DarkStartingPoint" mix="0.289999992" predelay="0" decay="0.0265265256" HighCut="0.58523488" earlyLateMix="1" lateSize="0.720000029" lateCross="0.25999999" lateModRate="0.202020198" lateModDepth="0.430000007" RTBassMultiply="0.413333327" RTXover="0.0666666701" RTHighMultiply="0" RTHighXover="0.410067111" earlySize="0.0581581593" earlyCross="0" earlyModRate="0.0909090936" earlyModDepth="0.800000012" earlySend="1" diffusion="1" type="0.416666657"/>

ValhallaRoom Tips and Tricks: Unnatural Hall Reverbs

In one of my previous posts, I described the characteristics of “real-world” concert halls, and how to emulate them with ValhallaRoom. In general, real concert halls have a fairly fast onset of reverberation, a decay time between 1.6 and 2.1 seconds, and a somewhat longer decay time at low frequencies than at mid-frequencies. A realistic emulation would use subtle amounts of modulation, in order to create the perception of a high modal density without pitch change.

This is all fine and dandy for real concert halls, but what about unrealistic concert halls? The earliest commercial reverbs, the EMT250 and the Lexicon 224, were both created in order to emulate concert halls. With the limited amount of memory available for delay lines, both of these reverbs turned to large amounts of time variation in order to avoid metallic decays. The sonic results were big, washy, chorused decays that could stretch to 70 seconds and beyond. No “real” concert hall sounds like this – but it is a great sound. In addition, hardware units like the 224, 224XL and 480L had the ability to artificially elongate the attack portion of the reverb, such that the reverb sound would “fade in” to a much greater degree than a real hall. Not realistic, but useful for creating a bit of separation between an input signal and the reverb.

Fortunately, ValhallaRoom excels at unnatural halls, in addition to emulating the “real thing.” A few tips for dialing in an unnatural, vintage digital hall sound:

  • Set DECAY to whatever feels right. Many of the “Concert Hall” presets of classic digital reverbs have decay times of 6 seconds and up.
  • Use the LATE Bass Mult to dial in the required clarity of the decay. Setting this <1.0X will result in a reverb that gets more trebly as it decays, which can be a nice sound.
  • Turn up the modulation depth! Both Early Mod Depth and Late Mod Depth can be cranked up for that seasick decay. For less obvious detunings, use lower Mod Depth settings, but higher Mod Rates.
  • The Bright Hall reverb mode can get much deeper and random modulations than the other modes.
  • Set Early Send to 100%, Early Size to >100 msec, and DEPTH to 100%. The Depth control in early Lexicon reverbs, and the Shape/Spread controls in later Lexicons, allowed the user to dial in a slow attack on the reverb. By running the Early reverb into the Late reverb and using a large Early Size setting, you can create a reverb that fades in at the rate determined by the Early Size.
  • The Early Diffusion control can be set to lower values, to emulate the grainy sound that many of the early reverbs had during the initial attack phase.
  • Set HIGH CUT to somewhere between 5000 and 8000 Hz to simulate the dark sound of early, low-sampling rate reverbs.

The following preset implements a big digital hall sound:

<ValhallaRoom pluginVersion="1.0.5" presetName="BigDigitalHall" mix="0.425000012" predelay="0.0240000002" decay="0.0730730742" HighCut="0.44697988" earlyLateMix="1" lateSize="0.730000019" lateCross="0.709999979" lateModRate="0.155555561" lateModDepth="0.460000008" RTBassMultiply="0.166666672" RTXover="0.0787878782" RTHighMultiply="0.377777785" RTHighXover="0.474496633" earlySize="0.255655646" earlyCross="0.0299999993" earlyModRate="0.143434346" earlyModDepth="0.370000005" earlySend="1" diffusion="1" type="0.25"/>

Den (from the Gearslutz forum) posted this preset, reminiscent of the sounds of the Lexicon 224 Concert Hall algorithm:

<ValhallaRoom pluginVersion="1.0.1" presetName="BladeRunner" mix="1" predelay="0" decay="0.150750756" HighCut="0.294630885" earlyLateMix="1" lateSize="0.949999988" lateCross="0.150000006" lateModRate="0.191919193" lateModDepth="0.200000003" RTBassMultiply="0.666666687" RTXover="0.0494949482" RTHighMultiply="0.25555557" RTHighXover="0.289261758" earlySize="0.235135138" earlyCross="0.0199999996" earlyModRate="0.169696972" earlyModDepth="0.129999995" earlySend="1" diffusion="1" type="0.25"/>

A quick example of piano played through the above setting (piano played by Den):


Here’s a really big “concert hall” setting:

<ValhallaRoom pluginVersion="1.0.5" presetName="VideoIntro" mix="0.507000029" predelay="0" decay="0.300000012" HighCut="0.344966441" earlyLateMix="1" lateSize="0.579999983" lateCross="0.150000006" lateModRate="0.088888891" lateModDepth="0.280000001" RTBassMultiply="0" RTXover="0.113131315" RTHighMultiply="0" RTHighXover="0.2966443" earlySize="0.0440440439" earlyCross="0.0199999996" earlyModRate="0.169696972" earlyModDepth="0.129999995" earlySend="0" diffusion="1" type="0.25"/>

A simple electric guitar phrase (which was used on Gearslutz to test many reverb algorithms) through ValhallaRoom with the above settings:


UPDATE 1/2012: I just reread this blog post from last year (thanks to a link-back from an interesting blog post at The DIY Recordist). It is worth noting that ValhallaRoom has several new reverb modes that are well suited for emulating vintage digital halls. DarkRoom, Nostromo and Narcissus are reverb modes that are designed to have the “dark” coloration of the older reverbs, as well as a more gradual onset of echo density, noisier interpolation (to emulate the reduced bit width coefficients of the older boxes), and heavy randomized modulation.

Shimmer: Modulation, auto-correlation, and decorrelation

In my previous post, I discussed the Eno/Lanois shimmer sound, and how it is based around a pitch shifter and a digital reverb placed in a global feedback loop. It is worth exploring what is going on in this signal chain at the micro level, and how a fairly simple signal routing can create such a complex sound.

The AMS pitch shifter used by Eno and Lanois used a de-glitching board in its architecture, to find the ideal points for splicing together the time-scaled waveform chunks. This presumably worked in a similar manner to the H949 de-glitching card, in that autocorrelation was used to find the most similar segments of the waveform, and the delay time of one of the channels was adjusted for an ideal splice. It is also possible that the auto-correlation would trigger a new splice, such that the rate between splices was a function of the periodicity of the input signal.

Auto-correlation works well for determining splicing points, assuming that the input signal has a certain degree of correlation. A single sustained guitar note, for example, can have a high auto-correlation factor after the initial attack. But what happens when the signal to be shifted has a very low auto-correlation factor? Such a signal is said to be decorrelated; that is, the auto-correlation or cross-correlation is said to be greatly reduced compared to the original signal.

In the audio world, decorrelation often refers to randomization of the phases of the signal while preserving the frequencies, or to a time-varying process to slightly shift the frequencies of a signal to prevent feedback. Both of these processes are present, to a large extent, within time varying reverbs such as the Lexicon 224 and EMT250 used by Eno and Lanois.

The Lexicon 224 Concert Hall algorithm is made up of a number of allpass delays, which preserve the input frequencies while completely scrambling the phase response. In addition, the Concert Hall algorithm uses time varying delays inside of the recursive delay network, which increased the perceived modal density of the reverb, and also impart a beautiful chorusing to the reverb decay. This lushness from time-varying delay lines is very prominent in 1980′s Eno/Lanois productions – in addition to the Concert Hall algorithm and EMT250, they made use of the multi-voice chorus algorithms in the Lexicon units, as well as the Symphonic preset in the Yamaha SPX-90.

So, what happens when a pitch shifter that uses auto-correlation to find the ideal splicing points is put into a feedback loop with a reverb that is highly decorrelated and time-varying? The answer: chaos. The pitch shifter will NOT be able to find ideal splicing points, as the phase of the reverb output is continually being scrambled.

The pitch shifter HAS to splice, whether or not it is a perfect situation, so it will pick the best possible match, but this will probably be a fairly random location each time. The result will be random delays for each new splicing point, or random sizing of the grain windows, depending on how the auto-correlation is used within the pitch shifter. This randomization will cause the sidebands of the input signal to be spread out, such that an individual sinusoid would be turned into a band of frequencies centered around the original (that has been shifted up by an octave).

Add in the additional octaves produced by the feedback, the random sideband spread caused by the modulation within the reverb, and harmonics that are created by analog nonlinearities in the feedback path, and the result is a HUGE amount of sonic complexity generated from a simple system. Put a sine wave into this type of feedback system, and the output can approach near orchestral levels of thickness.

In this light, it is interesting to think about Eno’s use of the DX7 around this time. The DX7 can produce chaotic sounds through the use of cascaded FM, but it can also produce gentle, minimalist textures through the use of parallel operators (sine oscillators). A simple DX7 patch with several parallel sine oscillators and a low FM index may produce a fairly boring sound on its own, but would create an enormous yet controllable sound when fed into a complex feedback loop of digital processing.

Coming up: more on the topic of generating complexity through simple systems with feedback applied to them, both from a technical and creative perspective.

Eno/Lanois Shimmer Sound: How it is made

The basic foundation of the Brian Eno / Daniel Lanois shimmer sound is fairly simple: Create a feedback loop, incorporating a pitch shifter set to +1 octave, and a reverb with a fairly long decay time. By controlling the gain and equalization of the feedback loop, and the lengths of the various delays within the loop, the temporal evolution of the sound can be altered from steel drum-esque sounds to the slow attack “string pads” hear on many of the Eno/Lanois tracks. This is the same technique used by ValhallaShimmer, with the reverberation, pitch shifting and feedback all incorporated within the same plugin.

Kevin Killen, answering a question about the signal flow on the U2 song “4th of July” on Gearslutz, described the signal path as follows:

The delay and modulation was derived from the AMS 1580. On its fader return , some hi frequencies were rolled off, then it was fed into a 224 Hall setting, probably 5 seconds but with a rolloff in the top and bottom. This return may have been equalised also. We may have added a second delay but then the delays have to be timed to the track as the net effect is blurring the chord progression…Our last tweak would be to play with the sends on all of the returns to the point that its almost recirculating out of control, which in turn is creating a layer upon layer effect.

The AMS DMX 15-80s was a digital delay / sampler / pitch shifter that was in common use in Britain in the early 1980′s. Eno and Lanois have both sung the praises of this unit, and Wendy Carlos has said that the AMS unit had “perhaps the least audible artifacts to pitch shifting available at that time.”

David Kulka has written that the AMS DMX had an optional de-glitch card installed, which worked on a similar principle to the auto-correlation deglitcher in the H949. His post is worth quoting:

Harmonizers, at least the early ones, had to electronically “splice” sections of the waveform in order to accomplish pitch change. When the out and in points had different voltage levels, a small DC pop could be heard at each transition. The result was a sort of low level crackle, more obvious with certain kinds of program material, and more audible at extreme pitch change settings.

The Eventide H910 exhibited this, along with the early AMS Harmonizers. Both Eventide (on the H949) and AMS partially resolved this by adding “de-glitch” cards. The circuitry on this card added a “smart” algorithm to pitch change, adjusting the transitions to better match voltages at the in and out points.

The “224 Hall setting” that Killen refers to is the Concert Hall algorithm in the Lexicon 224. This algorithm has a fairly low initial echo density, that builds to a higher density as the decay evolves. The Concert Hall algorithm is also distinguished by its high degree of modulation. The resulting sound is not a terribly accurate simulation of a real concert hall, but rather a lush and spatially expansive reverb that is still sought after more than 30 years after its introduction.

Other accounts of the “shimmer” sound refer to different reverbs being used, such as the EMT250. In addition, modulated delay lines, such as the Lexicon Prime Time, have been used by Lanois at different times. The common elements always seem to be the pitch shifter, a modulated reverb and/or a modulated delay line, and feedback and equalization generated via an analog mixer. In my next post, I will analyze the contributions of these elements to the shimmer sound, and will discuss how the various components respond in a feedback situation.