ValhallaShimmer: a bit of history

ValhallaShimmer has its roots in the earliest digital reverberation algorithms, as described by Mannfred Schroeder in 1961. Schroeder, in his earliest AES paper on the subject, described a “colorless” reverberator, based upon cascaded diffusor (allpass) delays. At the time, the computation power available on the mainframe computers Schroeder was using limited the complexity of his algorithms.

In 2006, I experimented with extending Schroeder’s early reverberator structure to much higher orders. I was expecting that using much larger numbers of cascading diffusors would increase the echo density of the algorithm. It did, but it had a really weird effect: As the number of diffusors increased, the reverb decay started to sound less and less like a “real” acoustic space, and more and more like some weird spooky backwards thing.

It turned out that I had run into an artifact of what is known as the Central Limit Theorem. Without getting into the messy scientific details, the effective result was that, as the number N of cascaded diffusors increased, the attack and decay characteristics of the reverb changed from an exponential decay towards a bell, or Gaussian, curve. In other words, the reverb would slowly fade in, and then slowly fade out.

This wasn’t what I was expecting. More importantly, it sounded cool. Add some randomized modulation to each of the diffusors, and the result was an ethereal, ghostly soundscape.

The pitch shifting Eno trick was one that I had first tried back in 2004. The pitch shifter I used at the time produced decent results. Later on, I conducted research into early pitch shifting techniques (as detailed in earlier blog posts) and developed a simple yet effective algorithm for pitch shifting. The goal was to generate similar artifacts to what a “de-glitched” pitch shifter would produce in a feedback loop with a reverberator, but without performing the costly autocorrelation analysis that the deglitching pitch shifters used. The result was a pitch shifting algorithm that added noise and texture to the feedback loop. It was an attempt to avoid metallic colorations (and emulate what a deglitching pitch shifter sounds like when it is freaking out), but it also sounded like a huge orchestra warming up.

When I started work on ValhallaShimmer in the spring of 2010, I knew that I wanted to combine the results of the cascaded diffusor experiments with the pitch shifted feedback as used by Brian Eno, Daniel Lanois, U2 et al. In order to put these into plugin form, I had to perform extensive optimization on the basic building blocks, as my early experiments used up far too much of the CPU. After a few months of work, I had a framework that brought the CPU consumption down by a factor of 10 to 20 from my 2006 experiments.

The original version of ValhallaShimmer had a single reverb algorithm, the one currently labeled as “mono.” Testing the plugin with material recorded with stereo miking techniques quickly pointed out that true stereo algorithms were necessary. The resulting algorithms (bigStereo, mediumStereo, smallStereo) were designed to get different perceived room “sizes,” although most of the sounds fall in the range between pretty big and huge.

During the optimization process, I found that one of my CPU-reducing tricks resulting in a lot of high frequency loss. Instead of looking at this as a technical shortcoming, I listened to the results. The optimized code sounded “warm,” and much closer to an ancient digital reverb with a low sampling rate and steep anti-aliasing filters. So I left it in as the “color” mode, so the user can choose between the original “bright” mode for modern reverb sounds, and the “dark” mode for that warm vintage sound.

Looking back at the history of ValhallaShimmer, it just struck me that most of what makes this an original algorithm was embracing the weird little artifacts that I came across while experimenting with various digital signal processing techniques. The cascaded diffusors didn’t behave in the manner I was expecting, but they sounded great. The pitch shifting artifacts added some grainy texture to the reverb decay, that sounded like a string orchestra section, even though the original goal was to get rid of metallic coloration. My optimization techniques darkened the overall tone, and helped me to realize that dark is often a good thing for a reverb. Happy accidents.

About the author:

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

Comments (7)

  1. “The optimized code sounded “warm,” and much closer to an ancient digital reverb with a low sampling rate and steep anti-aliasing filters. So I left it in as the “color” mode, so the user can choose between the original “bright” mode for modern reverb sounds, and the “dark” mode for that warm vintage sound”

    I find myself using the Dark mode all the time. And, I can’t see that CPU difference between the 2 modes 🙂

    Nice post!

  2. Hello, just very happy with the sound of Valhalla shimmer. I must dig in deeper to get the most out of it. But that said, it just blows me away the way it has lifted the spacial feel of my Numerology soundscapes.. Great tools, thanks for your hard and creative work, just bought it and I’m happy it is highly recommended..

  3. Just what I didn’t need…another reverb plug. Then I tried the demo all day and was forced to buy it. There’s just nothing like it for eerie atmospheric stuff. Truly wonderful. Thank you.

    Andy B

  4. I’ve been trying to combine the Schroeder structure with a pitch shifting algorithm I made for a school project. I’ve been placing the pitch shifting delay line as the delay for each all pass filter. This is resulting in white noise at high orders. Can you talk a little more about how you incorporated the pitch shifter into the feedback path?

    Inspiring work. Thanks for the blog.

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.