- Hello and welcome back to Spoken Word with Electronics. This week we discuss a 1970's-era utility module that replicates a core concept in computing since the 1940's: Shift Registers.
- There's a chance the term Shift Register might be more familiar to an engineer reading this this than a musician. While Shift Registers have found a use in sequencing music, Shift Registers are primarily a key component of the basics of computing or moving around data structures. From its origins in the 1940s, to how numerous calculators work, and so many other things. It's likely you might even have shift registers in most appliances in your home.
- For the musical ideas, let's view Shift Registers as a conveyor belt. On that conveyor belt is a box containing a sequence of notes. There are three separate synthesizers that are waiting to receive notes from this conveyor belt. A Shift Register makes it possible to deliver notes to that first synthesizer, then move (or "shift") those notes to the second synthesizer, then shift those notes down to the third synthesizer. Each time it does this it also brings in new notes to the first sequencer, developing a loop. The sound is similar to a delay or echo, as the second and third synths are playing the sequences you've already heard from the first. This is repeated perpetually.
- There are classical music examples of this, take for example Debussy's always beautiful Arabesque compositions. Listen to how the notes cascade and repeat upon themselves:
If alive today, Debussy would totally be into modular synthesizers. He would also be a great barista.
- So, considering how a computer process might work to make an Arabesque composition, how does this group of notes get moved from one synthesizer to the next as a group? And how small could these notes be? Perhaps this set of notes could be very small, like a group of eight bits of data. Let's say, for example that a series of ones and zeros could define the shape of an 8-bit waveform?
- Working with your 8-bit group as an example, let's first load it to the first synthesizer, and then shift it forward to the next synthesizer. This video and tutorial from Sparkfun explains this process very well. I like in particular the use of two-sided cards to indicate binary numbers. It should cue right to the discussion on 3:11.
- If this peaks your interest in the data component of Shift Registers, I recommend this great in-detail series from Karen Corbeill of The Learning Circuit: How Shift Registers Work | How Flip-Flops Work (Logic Devices)
So what is a Shift Register?
- One glossary bit: Throughout this I shorthand Analog Shift Register as ASR and Shift Register is occasionally shortened to SR. Lingo!
- There are numerous examples of Shift Registers (SR) in electronic music. We'll be describing a Serge-based Analog Shift Register (ASR) circuit, and there are other modules like Ornament & Crime – which is available in eurorack, which is a digital shift register (DSR!). For analog purists, you can consider the Elby ASR, though please be mindful of Elby's 70mm depth which doesn't make it skiff friendly. Our version today is even more esoteric, an ASR in Moog-sized 5U.
- Though some other SR circuit designs are said to have been in production at a similar time, the Serge Analog Shift Register, which appeared in the mid-1970s is considered the first product available to musicians. Read this terrific survey of Serge Tcherepnin's time at Cal Arts in the 1970s. And don't miss this awesome image of what looks like the prototype.
- If the term "Serge" is new for you, then you'll be delighted to learn more about Serge Systems and its creator Serge Tcherepnin, whose creations have delighted a small community of electronic musicians from the 1970s to the current day, along with maker-modifications of its original concepts. It's a devoted following base similar to those who cherish Moog or Buchla.
- The main idea to understand is Shift Registers effectively distribute and move blocks of data on a signal (or a pulse). The shifting is controlled by a pulse sent into the module. Every time it receives a pulse into its clock, it moves whatever is being played in one output to the next output, and then so on. That creates the repeating patterns you hear, as one group is always playing what was just played in the previous group. It can add a sense of intentionality to a random composition, as we interpret music as something that repeats in structures.
- This concept of Shifting allows one group of data to infinitely move from A to B to C to elsewhere, the only limitation being the number of registers in the chain. This is the power of Shift Registers in general. In our example today we have three outputs (or stages) but you could potentially have thousands of shifts to move the data along. The concept is akin to a Bucket Brigade in human terms, which has been adopted into musical applications in early (and lovely sounding) analog echoes. The sound is transferred from one chip to the next, like a bucket holding water. Same concept here.
- So, what's in the bucket? Instead of a sound, the bucket in an Analog Shift Register contains control voltage. This block of voltage is know as a "Sample" – You are likely familiar with the term "Sampling" in audio, meaning to capture a piece of sound (like a drum beat or a vocal) but what if it could mean a granular moment of a waveform? Shift Registers, when used in audio, utilize an idea called Sample and Hold. This literally samples a voltage, and holds onto it. Think of the pulse from the clock as a PAUSE button. Every time the module receives a pulse it will press PAUSE on whatever input it is being fed. This PAUSED and HELD sample will be what it passed along from bucket 1, to bucket 2, to bucket 3.
- There are numerous non-musical applications of this idea in sound design, too. Want to make a Haunted House sound effect? Here is a tutorial on how to make the sound of a creaking floorboard with an activated left/right pan using an ASR. Cue to 7:14 if the player doesn't automatically jump there for you:
Adaptation of Shift Registers for use in Music
- Equipment used in this episode is a modern version of this 1970's Serge modular circuit by David Dixon. Dixon is featured in the I Dream of Wires documentary and is the principal designer of Intellijel. Under the name Sketchy Labs, he also makes small-batch Analog Shift Registers (and other modules), on request. This current ASR circuit design of Dixon's is the basis for this week's show.
- For best flexibility, you'll find ASR's either grouped as pairs in a system or sold as a merged Dual ASR. This allows for one ASR to handle a distributed GATE (which can trigger ENVELOPES) and the other to apply PITCH to the tuning of the OSCILLATORS or FILTER.
- The patch used in this show is one GATE from a sequencer, which is split into three outputs via a MULTIPLE. One of those GATES goes into the INPUT of the first ASR. You'll want to sync that GATE to the CLOCK of each ASR, so that a note moves into each register on each pulse. To do this, take the other two GATES from your MULTIPLE and connect them to both CLOCK inputs on the bottom of each module.
- Connect these GATE-side OUTPUT 1, OUTPUT 2, and OUTPUT 3 to three separate synth voices or envelope generators. You'll be using this ASR to engage the envelope for each of your synth voices.
- Test this GATE side out first. A few things might go wrong here. Depending on how your sequencer sends out the GATE pulse, it might sample a little late and you would get no rising curve of the SQUARE WAVE to trigger the gate. In this instance, a TRIANGLE might work better as your GATE source, as many envelopes will trigger on something as low as 2V. But the point here: Make sure you are triggering all three of your expected GATE inputs from this first side patch. If you're just connecting the OUTPUTS to the KEYBOARD or GATE input of a synth you should hear notes triggered in a series on the GATE outputs alone.
- Now you want to connect PITCH to the INPUT of the second ASR. There should already be the CLOCK connected there. Take the OUTPUT 1, OUTPUT 2, and OUTPUT 3 to match the same GATE OUTPUTS in the other ASR. (This will sync the PITCH signals to make the NOTES)
- Dial the CLOCK on your sequencer back and forth to make the GATE quicker and slower. Enjoy the odd rhythms that occur with faster and slower clocking. The analog shifting can be irregular and sometimes you'll stumble on something very peculiar and/or serendipitous!
- Note that you don't need the GATE side of the ASR, it's just a nice way to trigger the notes. You could easily just send ASR pitch notes into a few oscillators and it will send out notes, often in an R2D2 type noise. The GATE side would allow you to shape them with an ENVELOPE. You can make any of the pulses into a GATE by using an ENVELOPE GENERATOR, too. So, while two is nice, one ASR is plenty.
- There are three big extras with the Dixon ASR that improve on the original Serge design: An ATTENUATOR KNOB for the input voltage, a SHIFT/BYPASS switch for each output, and a LOAD/LOOP switch on the input. These are all awesome.
- ATTENUATOR KNOB: Basically this is identical to a volume knob on your TV or radio. But instead of audible volume it increases or decreases the voltage going into the module. If you think about pitch voltage as 0-10v, the highest pitch being 10v, think of how much lower you can make that same pitch if you decrease the voltage on a dial? You can make the pitch brighter and duller with this attenuation knob without ever having to change your actual outputting voltage. For the GATE purpose, this can be used to vary how loud the GATE is hit and/or opened, and for the PITCH output it can effectively TRANSPOSE or tune on a dial. Very useful!
- SHIFT/BYPASS Switches: You will hear these throughout the show's audio. Another very powerful and simple idea. If you have the switch set to SHIFT, the output will shift the currently sampled voltage at that stage. But click BYPASS and it will serve as an output for the inputed voltage. This is a great way to move a voice around in a mix, just SHIFT it or BYPASS it. A nice trick to listen for is setting all three outputs to BYPASS and they all play simultaneously. This is great for creating a tribal pattern. Then suddenly SHIFT all or a few of the outputs and the notes will space out in separate directions. Cool for disorientation.
- LOAD/LOOP Switch: Even odder is this enhancement. In LOAD the module works just like a normal ASR, but in LOOP it will loop whichever voltage is currently in the Sample/Hold bank. Tons of musical options here. Load and Loop in rhythm, or just use LOOP to have a single voltage always there, unchanging. You might need to commit that LOOP to a single untouched module, like the dial-frozen UEG in the last episode. But that's also why it might be good to have two.
- Finally, if these concepts seem familiar to you, let's talk about Shift Registers in computing and the terms Shift-Right and Shift-Left. This often can mean to multiply or divide a signal. With your GATE output, try taking one of the pulses out into a CLOCK DIVIDER, set to 50% and suddenly you'll have an entire set of shifted melodies at half the speed of the other two. To tie this back to computing, this is Shifting-Right. Shifting to the Left is a CLOCK MULTIPLIER, which will double the clock and make one of the outputs twice as fast as the other two. For everything, just patch things together and see where it leads you.
- SWWE #74: Tribute to the Analog Shift Register