Shifting Around — a generative shift register

Four sine oscillator-based voices use a shift register formed from CV delays to create a swirling generative sequence. Shift registers are a bit like a bucket brigade delay; information gets past from one point to the next in sequence, moving down the line. Although they can be formed from sample and hold modules, here I’ve used CV delays (with sample and holds “holding” given notes once an envelope is triggered) to give more flexibility in the length of the delay as notes are passed from one voice to the next.

This patch uses firmware 2.20.

Each voice has a number of individual controls that determine how often it plays, how often it samples a new note, its pitch, envelope, level, etc. The sum total is a generative patch that creates its melodies automatically, but which you have a great deal of control over.

Then everything goes through a plate reverb, so its sounds nice.

Audio is passed through the patch in stereo. Incoming audio passes through the reverb, but the input is on the same page as the reverb and the output, so you can change that if you would prefer a direct pass-through.

There is also a page to send the shifter register out via MIDI (I used the envelopes as “gates”; not sure how that will work). The default is channel 1; the modules are located on the third page (labeled “MIDI”). Since notes may overlap, you may want to employ multiple devices. If anyone tries this out, let me know!



Left — tap tempo (the patch also accepts MIDI clock)

Middle — raises the tempo by 1 multiple (there is a clock divider located on the second page; so, if you set the clock to 3x, the stompswitch will raise it to 4x, etc.)

Front page:

Low note/high note — sets the range for the randomly generated notes (there is a quantizer on the second page to select key and scale; the default is F minor, but you can set it to whatever you like)

Then for each voice:

Shift delay (not used in the first voice; it takes its notes directly from the quantizer) — this determines how long the delay is before a note arrives at a subsequent voice; if all the shift delays are set to 0 (and all the voices are set to trigger every beat; more on this in a second) the notes will cascade from one voice to the next. With longer delays, melodic elements heard in an early voice may or may not be repeated (depending on triggering).

Transpose — individual voices can be transposed. Because the transposition is not quantized, transposing by octaves is advised, to allow voices in different ranges

Trigger chance — this determines how likely a voice’s envelope is to trigger; it also determines when a new note is sampled from the shift register

Hold chance — this determines how likely a voice is to repeat a note rather than sample a new one

Envelope shape — this determines the shape of the voice’s envelope; 0 = decay envelope; 1 = attack envelope; values in between are proportions of both

There is a blinky light to blink with the voice. #blinkylightsandstuff

Along the bottom are some global controls:

Amp level — raises the VCA floor; as it increases, the envelopes don’t close completely (and at 1.000, they have no effect at all). The notes cascade across the oscillators. It can be quite dramatic.

Shape mod rate — the oscillators are sine waves, but they are waveshaped by LFOs. Each oscillator has its own LFO, with its own rate, to keep things from getting stagnant. This control adjusts the rates of all the LFOs.

Noise mod — this modulates the oscillators with noise; at low levels it can thicken the sound and add harmonics; at high levels it gets a bit more chaotic

Vibrato amount — the vibrato is fixed at ~5.5kHz

Chorus amount — the chorus effect is fairly subtle and it is designed to warble a little

Envelope extension — the envelopes are, by default, tied to the clock; this control allows you to extend the envelopes beyond the clock; it also changes how they retrigger

Linear envelopes — this is a switch which changes the envelopes from exponential (the default) to exponential

Aux mode — this is a pushbutton that triggers auxiliary mode (so the middle stompswitch can be employed)

  • Platform:
  • Category: Effect Sequencer Synthesizer
  • Revision: 1.0
  • License: Creative Commons Attribution Share Alike 4.0
  • Views: 456
  • Modified: 2 months ago
Chat about this patch on Discord! Download (172)

Leave a Reply