Synth Field Notes

Shift Registers

Session 8 · May 19, 2026

Shift register basics

Like sample and hold, a shift register samples an incoming signal on each trigger. The difference: instead of one output, the shift register has multiple outputs (8 in this case). Each trigger does two things simultaneously — samples the current input voltage into the first output, and shifts every existing value down one slot. It’s a bucket brigade: each output passes its value to the next.

Visualizing the shift with Hot Tuna

Bogaudio A4 pitch into shift register, four Hot Tuna tuners on outputs — before triggering, all show C4 (0V)
Bogaudio A4 pitch into shift register, four Hot Tuna tuners on outputs

The patch: Bogaudio outputs a constant pitch via V/OCT into the shift register’s input (yellow cable). Four Hot Tuna (NYSTHI) tuners are connected to the first four outputs to visualize the voltage at each slot. A manual trigger module fires the shift register.

Before any trigger, all four Hot Tunas read C4 (261.63Hz) — that’s 0V, the default empty state. Nothing has been sampled yet.

First trigger — sampling A4

After one trigger — Hot Tuna 1 shows A4 (440Hz), rest still C4
After one trigger

One trigger with Bogaudio set to A4. The shift register samples the input and places it in the first output. Hot Tuna 1 now reads A4 (440Hz). The other three outputs remain at C4 — the A4 hasn’t been pushed further yet.

Second trigger — the shift in action

After second trigger — Hot Tuna 1 shows F4, Hot Tuna 2 shows A4, rest still C4
After second trigger

Before the second trigger, Bogaudio is changed to F4. On trigger: the new F4 is sampled into output 1, and the previous A4 shifts from output 1 to output 2. Hot Tuna 1 reads F4 (349.2Hz), Hot Tuna 2 reads A4 (440Hz). The remaining outputs are still empty.

This is the core mechanism: each trigger samples a new value and pushes the entire contents down one position. After enough triggers, the register fills up with a sequence of previously sampled values — a rolling history of whatever was at the input at each trigger moment.

Full register — oldest values fall off

All four outputs filled — Eb4, D#4, B4, G4 across the Hot Tunas
All four outputs filled

Once all outputs are occupied, each new trigger still shifts everything down — but now the value in the last slot gets pushed out and lost. The register becomes a sliding window over the most recent inputs. Here all four Hot Tunas show different pitches (Eb4, D#4, B4, G4), and the earlier A4 has already fallen off the end. Only the last four sampled values are retained at any time.

Generating chords from a sequence

ADDR-SEQ through quantizer into shift register — four outputs to four VCOs, mixed to audio. Hot Tunas show G#5, F5, G2, G5
ADDR-SEQ through quantizer into shift register

Since each shift register output holds a different recent pitch, routing those outputs to separate VCOs turns the register into a chord generator. The patch: ADDR-SEQ sequences pitch through a quantizer (set to minor scale), then into the shift register. Four outputs feed four VCOs (yellow cables), each paired with a Hot Tuna for monitoring. All four VCOs are mixed through mix4 to the audio output (red cables).

Each sequencer step triggers the register, sampling the new note into output 1 and shifting the previous notes down. The result: a four-note chord that evolves with the melody — every new note enters the chord while the oldest drops off. The chord voicing is determined entirely by what the sequencer played over the last four steps.

Three-voice polysynth

SEQ 3 through quantizer into shift register — three outputs to three full voice chains (VCO → VCF → VCA → ADSR), mixed to audio
SEQ 3 through quantizer into shift register

Expanding on the chord idea with full voices. SEQ 3 sequences pitch through the quantizer into the shift register (yellow cables). Three shift register outputs each feed a complete voice chain: VCO → VCF → VCA, with an ADSR envelope controlling each VCA. The sequencer clocks both the shift register trigger and all three ADSRs (blue cables), so every voice re-triggers on each step. All three voices are summed through a VCA MIX to the audio output (red cables).

The difference from the previous patch: those were raw VCOs mixed together. Here each voice has its own filter and envelope, so the chord has shape — each note attacks, decays, and releases independently. The shift register distributes pitch across three identical but separate signal paths, turning a monophonic sequence into a polyphonic instrument.

Same three-voice patch with Hot Tuna tuners added — showing A4, C5, Bb5 across the three outputs
Same three-voice patch with Hot Tuna tuners added

Adding Hot Tuna modules to the shift register outputs makes the shifting visible. Here the three voices hold A4, C5, and Bb5. With each sequencer step, the notes cascade down — what was in voice 1 moves to voice 2, voice 2 to voice 3, and a new note enters voice 1. The chord reshapes itself on every beat.

LFO filter modulation and reverb

Three-voice patch with LFO modulating all three VCF cutoffs (green cables), Plateau reverb after the mixer
Three-voice patch with LFO modulating all three VCF cutoffs (green cables), Plateau reverb after the mixer

An LFO modulates the cutoff of all three VCFs (green cables), so the filter sweep moves in sync across all voices — the chord breathes together. The Plateau reverb (Valley) sits after the VCA MIX, adding spatial depth to the combined output. The LFO creates slow timbral movement while the reverb smooths the transitions between chords, blending the shifting notes into an ambient wash rather than discrete steps.

Shift register outputs aren’t limited to pitch — routing them to filter cutoff, resonance, or other parameters gives each voice a time-delayed version of the same modulation, creating coordinated but staggered movement across voices.