Stability through Time Variation: Ursa Major Space Station

In 1978, Christopher Moore’s company, Ursa Major, released the Ursa Major Space Station:

The Space Station, or SST-282, was described as a “reverberation effect.” It could apparently get reverb times of up to 3.5 seconds. This may not seem like a particularly long time by modern standards, but it was a huge achievement given the architecture that was used. In the SST-282, the reverb effect was obtained by using a single delay line, with 15 output taps from the delay buffer summed and used for feedback, and an additional 8 taps used to monitor the delay line. Multitap delay lines such as this, where several taps are summed and used for feedback, can quickly reach a high reflection density. However, they are notoriously unstable, with the maximum feedback gain being allowed under conventional circumstances being equal to 1 divided by the number out output taps. Yet Moore was able to achieve a significantly higher feedback gain. How?

Fortunately for geeks like myself, Moore extensively documented the process he used (which puts him in my DSP Hero list). The basic diagram of the algorithm is right there on the front panel, and Moore also described the algorithm in a patent. The key diagram from the patent:

The basic idea is that the taps that are summed and used for feedback are modulated. In the patent, Moore describes the clever modulation process used, as well as the tap spacings. By moving the feedback taps back and forth, Moore was able to get a much higher feedback gain before instability, which results in a longer decay time.

I built my own version of the SST-282 back in 2001 or so, using a program called SynthBuilder. I found that by modulating the taps as Moore describes in his patent, I was able to get about a 3X increase in feedback gain before things started getting too weird. Mind you, they got pretty weird anyway. The SST-282 simulation could get a reverb sound, but it sounded like it was full of spooky voices at high feedback settings. Very cool stuff.

Christopher Moore used a similar topology for the later Stargate reverb, but with a longer delay buffer. By doubling the delay buffer size, the maximum reverb time before instability is also doubled. Apparently the Stargate used a somewhat different randomization scheme as well – see below.

Moore has recently described some of the issues that the original SST-282 had:

…I had not been able to tame the various flaws I could hear in the Space Station. These included spectral smearing (due to the wandering feedback taps), modulation noise (delay taps were simply picked up and moved 62uS with no smoothing), and the inability to get a really distant sound due to the fact that the Audition Delay taps by design picked up the dry source as early reflections as well as the dense later reverberation.

Later Christopher Moore designs, such as the 8×32 Reverb, the AKG ADR-68K, and a number of algorithms designed for Kurzweil, made use of stable reverberation algorithms. However, the Space Station’s method of obtaining stability through time variation resulted in a distinctive sound that is still useful to this day. The original Space Station algorithm was turned into the SST-206, a compact hardware version of the SST-282, and Eventide has released a plugin that uses the SST algorithm.

UPDATE: Chris Moore, in a comment on this post, points out that the randomization scheme used in the Stargate was considerably different than the Space Station:

You are right about the 323 as far as you go. The StarGate has a wonderful sound (thanks go to Charles Andersion for great support during the long and arduous tuning process), due to the invention of a different way to change delays. Without giving away the store (because I may revisit the design one day and have some really cool ideas to tame those moving delays altogether). Anyway, the 323 has no pitch smearing, no Doppler shift, and almost no modulation noise. No free lunch: it has a tremolo sound.

I had always thought that the Stargate was similar to the Space Station, except for a larger amount of memory used – I stand corrected.

Feedback, anti-feedback, and complexity in time-varying systems

“For my birthday I got a humidifier and a dehumidifier. I put them in the same room and let them fight it out.” – Stephen Wright

When I was researching the Eventide H910 Harmonizer, I found it curious that the box had controls for both feedback and something called “anti-feedback.” The service manual explains the anti-feedback control as follows:

Increasing clockwise rotation of the ANTI-FEEDBACK control progressively adds a small up and down frequency shift to the output signal, which serves to decrease the effect of room resonance peaks on the signal which ultimately re-arrives at the microphone.

In modern terms, I would call this a chorus effect, with a triangle wave modulator. Pretty simple. However, it is interesting to see how such a simple process can have a significant effect in a PA system – by turning on the Anti-Feedback control, you can increase the gain of a microphone being fed into the H910.

The idea of using a time-varying system, such as pitch shifting, delay modulation, or frequency shifting, to increase the maximum gain of a system before oscillation occurs, dates back many decades. In 1962, Manfred Schroeder (of digital reverb fame) published an article in the AES Journal about using frequency shifting as a method of increasing the gain of a PA system by up to 6 dB. A picture tells a thousand words, especially if it has a bunch of words attached to it:

Schroeder also discusses what happens if the gain is turned up beyond the feedback suppression limits of the frequency shifter:

For example, when using the frequency shifter, an excessive gain announces itself by a faint but easily recognizable “growl” or “chirp.” When this sound is heard, the operator decreases the gain by one or two decibels and the system continues to operate without the audience having heard any adverse effect.

This works well for gain increases up to a certain limit, but what happens when the gain is increased well beyond that point? The answer can be found in ValhallaFreqEcho. As the feedback gain is pushed beyond a certain level, the plugin will enter into a self-oscillating region, but one that has a huge amount of complexity. By controlling the shift frequency, delay, tone controls, and feedback gain, a variety of constantly evolving patterns can be produced. The overt goal of ValhallaFreqEcho is to get those chirps and growls that Schroeder described.

The Eno/Lanois “shimmer” sound works along similar principles. Pitch shifting, in and of itself, is a useful way of avoiding oscillation, as it pushes the feedback energy into regions that are above or below the original energy in frequency. However, if you turn the feedback gain up high enough, the system will start to self-oscillate, but in a highly chaotic manner. Keeping the gain just below self-oscillation will result in a sound that slowly evolves into a huge orchestral wash, that fades away into tinkling high octaves.

From a DSP developer’s perspective, delay modulation, frequency shifting, and pitch shifting all fall under the category of time-varying systems. Conventional digital signal processing theory concerns itself with linear, time-invariant (LTI) systems. Once time-variation is introduced, conventional LTI theory falls apart. There has been some research performed on what time-variation will do in otherwise linear systems, but there is no simple answer.

In some systems, time variation will make a simple system become unstable, such that its output amplitude grows out of bounds. Reverb developers call that “blowing up,” as that is the best way to describe the sound that comes out of the speakers. However, in the systems described above, time-variation serves to make a system more stable, in that it allows for the feedback gain to be increased. The onset of oscillation in such systems is something that is usually avoided in academic DSP, but in musical audio it is an area rich for exploration.

In my next post, I will look at an early digital reverb in which the entire theory of operation was based upon the increased gain obtainable through time-variation.

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.