U R the SHIFT (Register) — a playable shift register synth

You are part of the shift register in this patch! There are four voices, all duty-modulated sine waves (with some neat FM thrown in), which each have a four-note shift register. But the shift register isn’t advanced by a clock or logic gate — each voice has a playable surface, with features meant to approximate velocity/amplitude control and something like a crude aftertouch (in how a pitchbend is implemented) — and each voice only advances to the next note in its register at the conclusion of the envelope gated from this playing surface.

In other words, your touch controls when the shift register… shifts. (Hence the dumb but accurate name for the patch.)

This is admittedly a weird instrument (and I’m using this word ‘instrument’ very deliberately as it has a unique playing style), without a necessarily obvious use case; it’s kind of a sequencer, kind of a drone synth, kind of a soundscape machine. But I designed it with a philosophy that 1) it does interesting things that I haven’t necessarily seen in other instruments, and 2) it’s been a lot of fun to play as I developed it. So maybe it appeals to my singular sensibilities, but I’m hoping other people enjoy its weird mixture of the chaotic and controlled.

WARNING: I would -definitely- encourage you to use this page in ‘performance mode’ (accessed by pressing shift and back when the patch is on its title screen; the back button should turn magenta to indicate the mode — in thos mode, you can’t make connections, which, the UI buttons are just itching to make).

Each of the shift registers can be locked, either to a single note, or to keep their contents from being altered. And each voice can be set to drone (fun fact: the pitchbend can still be applied to droning notes).

There are two versions in the zipped folder. The one without an M has a reverb lite at the end; the other one with an M has MIDI outputs (I thought this would be kind of neat). The MIDI outputs are on a labeled page; at the moment, the default output channel is 1, but you could map each shift register to a different synth/voice on separate channels. The M version also has an audio pass-through (I -think- the non-M version could support this as well, but its CPU is a little more iffy and I wanted to be safe rather than sorry).

Although I developed the patch on Zebu, it’s designed to be format amorphous: no Zebu user buttons or stompswitches are mapped to any controls. It does, however, output each of the shift registers (and pitchbend) as pitch CV on the four Zebu CV outputs.

The output is stereo, and all versions make use of a stereo ping-pong delay.

Some pages of note:

The page marked Quantizers has two important controls. At the top left corner are two value modules labeled “Low range” and “High range” which set the output range of the shift registers (so you can move the note window around). There are also quantizers for each voice. By default, these are set to A minor pentatonic, but you could set them to any key and scale that you like (and even set different voices to different, complementary or dissonant keys and scales).

On the M version, the page marked MIDI includes the MIDI note outputs. These have a velocity output, too, mapped to the four buttons which control each voice (divided by four, so full velocity is when all four buttons are pressed).

On the non-M version, the reverb lite is found on the page labeled Effects, if you want to adjust its decay and mix.

The control page:

Across the top are four, color-coded “zones” (let’s call them), each devoted to one of the voices. Each zone is made up of four UI buttons. The four UI buttons serve two, separate purposes: pressing more of them makes a given voice louder, replicating a crude sort of velocity or touch mixer.

And pressing buttons on either side of the zone’s square affects pitchbend positively or negatively. This affect is uneven distributed. The two top buttons affect the pitch more than the bottom two buttons, at approximately a scale of 1:.583. That ratio is important, because when the pitchbend range is set to its maximum, the top two buttons affect the pitch by plus (right) or minus (left) one octave, and the bottom two buttons affect the pitch by plus (right) or minus (left) a fifth.

Below each of the zones are a few buttons of note, that affect each voice individually.

The “Drone” button will set the voice to drone; the drone will hold a steady amplitude based on the number of buttons pressed (so, for softer drones hold one or two buttons for that voice while pressing “Drone”).

The “Lock Note” button locks that voice to the current note it is using. This can be helpful if you happen upon a few notes you want to form a melody from, or a low note you want to use as a bass counterpoint to other, shifting voices.

The “Lock Register” button locks the four-note shift register for that voice, regardless of the “Stability” setting, so that those four notes will repeat until the lock is released (and then they may continue to repeat, depending on the “Stability” setting).

There are two parameters that affect the shift registers globally:

“Stability,” as already mentioned, controls how stable the shift registers are. If it is set to 1, the shift registers will endlessly repeat the four notes in each of their shift registers. If it is set to 0, new, random values will be inserted each time the register shifts. Points in between bring greater and lesser degrees of stability.

“Shift threshold” pertains to the comparators that trigger the shift register. This triggering occurs when the envelope of a given voice reaches 0. That envelope’s output is connected to the negative input of a comparator, which subsequently goes high, triggering the shift register to change notes. As these envelopes are logarithmic, their decay can approach zero without reaching it for quite some time. The threshold allows you to change the positive threshold of the comparators, if you find yourself waiting too long for the shift register to change notes. At its higher levels, you will likely hear the note change in the tail of the envelope, but lower levels can give you a satisfying decay while also changing the note (fairly) silently.

The rest of the controls affect the timbre of the voices.

“Delay level” controls the amplitude of the delay -and- its feedback, so higher levels will have stronger regeneration and be louder, while lower levels will be the inverse. (Tip: I like setting the delay level at ~.95 or higher for a pseudo-looper with gradual decay; at 1, the delay buffer will loop endlessly.) “Delay time” affects the length of the delay (up to 2 seconds).

“Attack” and “Decay” control the amplitude envelopes of each voice. These are generated by gated CV filters, so they have a logarithmic rise and fall. (Pro-tip: Without attack or decay, some of the pitch and amplitude changes produced by changing the buttons used to control a voice can be jarring, but adding envelope will smooth these out.)

“Duty position” controls the base duty position of the oscillators. The higher this level, the more harmonic content the sine waves have, as they are distorted and folded. “Duty mod depth” controls the depth of the duty modulation performed by LFOs (one for each voice, more on this in a moment). The sum of the duty position and the duty modulation depth can exceed a 100% duty cycle, which cancels the wave and introduces silence; this can be a cool rhythmic effect. “Duty mod rate” affects the rate of the LFOs performing the duty mod. Each voice has its own LFO, and each LFO operates at its own rate, and each LFO’s rate is affected to differing degrees by this global rate control. At the slowest rates, the outermost voices cycle faster than the innermost voices. At the fastest rates, the opposite is true.

“FM amount” introduces FM to the voices. This is a circular FM network, so each oscillator feeds into the next oscillator, and so each oscillator is both modulator and carrier. Each voice becomes a four-operator FM voice. The results can be quite atonal and noisy, but also introduce some lovely metallic klang and snarling distortion.

“Pitchbend range” determines the range of the pitchbend. As already explain above, at a value of 1.000, it produces pitchbends up to (cumulative) plus or minus an octave and a fifth (as well as points in between, depending on which buttons in a given zone are used). At more subdued levels > .1000, it offers more typical vibrato found on a stringed instrument. “Pitchbend speed” determines how quickly the pitch changes occur.

Leave a Reply

  • Platform:
  • Category: Sequencer Synthesizer
  • Revision: 1.0
  • License: Creative Commons Attribution Share Alike 4.0
  • Modified: 5 years ago
  • Views: 1547
    Likes: 1
    Downloads: 935
Download
Chat