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.

About the author:

Sean Costello is the "algorithmic reverb plugin wizard" [citation needed] at Valhalla DSP.

Comments (8)

  1. absolutely loving this series of articles!

    i had a shot at building a delay (“floaty”, included with reaper) a while back and it ended up being able to do some cool stuff like that.

    it’s implemented as a circular buffer with a record head that moves in fixed time across it, and an independent playback head that could move in either direction at any rate. there’s a short linear crossfade as the heads cross each other, and the play head speed can be sine modulated. there’s also a saturator and bandpass filter in the feedback path. setting play head speed to 2x with all that other stuff gave a glitchy, lo-fi shimmer a lot like the stuff described here (i’ve always loved the string sounds eno pulled with u2, but didn’t know exactly how they were built). again, it’s not an especially clean sounding fx, but sometimes that works out good (e.g. radiohead ‘my iron lung’ type pitch shifting).

    thanks again for the excellent article, and love the valhalla freq echo!

    1. I’ll have to check out “floaty” in Reaper. I have the Reaper demo, and should probably plunk down the $$ for the full fledged version for testing future plugins. That’s a cool idea of having a single read head that crossfades out as it crosses the record head. What does it cross-fade into?

      I think that “My Iron Lung” used a Whammy pedal, which incorporates intelligent splicing. With the chords being played in that song, the splicing detector just freaks out. It’s a cool sound, but not really clean. Meanwhile, my MicroPOG pedal can do an octave up almost artifact free. Frequency domain pitch shifting for the win! Unless you like the artifacts – and a lot of people do.

      1. it actually just fades out the wet signal as the heads approach each other – fadeout starts when the heads are about 1ms from each other from memory. that sounds a bit brutish but it actually works reasonably well. because of the weird topology, you can do bizarre stuff like having the playback head position oscillating around the record position. if it’s playing back in “the future”, it’ll just play back whatever was on that spot on the buffer from before. again – that sounds a bit ugly, but it ends up being musical more often than not. if i’m doing shimmer stuff with it i usually end up routing it into a big reverb to take the edges off it though.

        if you take a look at it, i recommend you grab the preset library from here:

  2. Thanks very much for these articles. I’m actually doing a number of programming experiments on a Roland VG-99, a guitar system that uses a hex pickup where all six strings are processed separately and there are 24 polyphonic pitch transposers that let you play with this stuff then multiple banks of effects (nearly everything you can imagine) where you can change the order to what you would like. I ended up creating a patch that delays the shimmer so you can play something like eighth notes and you get a strange halo following every note. Anyway, reading these articles has been a big help on “what order should I route things?” Although stumbling across the “wrong order” have created some evocative sounds I never would have encountered doing it the “right way”. Cheers!

Leave a Comment

Rules of the Blog

Do not post violating content, tags like bold, italic and underline are allowed that means HTML can be used while commenting.