KeyStep-style MIDI and CV sequence recorder and 16-step sequencer, that can re-organize your recorded notes.
This is my first dedicated Euroburo/ZEBU patch, and it’s meant as a controller patch to use with MIDI or Eurorack synths (although there’s a simple synth built-in as well). It’s inspired by the simplicity of the KeyStep-keyboard sequencer: just punch in some notes in playing order and it plays it back and extends the sequence on-the-fly. It can record up to 16 steps, and it can handle rests and even tied notes.
But what really makes the patch fun is that you can shuffle around the order of notes to create original melodies, so the recorded sequence is just the “steppingstone” for new ideas. And unlike the random-modes on many sequencers, these new melodies are consistently reproduceable so you can switch back-and-forth between melodies or patterns. To top it off, there’s a Ratchet parameter that gradually adds ratchet-triggers on fixed steps in the sequence, and you can even play on top of the playing sequencer with external inputs to create complex intertwining patterns from simple sequences. It’s basically an idea-machine; you can ‘catch’ anything that generates a pitch sequence and simply let it generate accompanying tunes.
=====
[OVERVIEW]
-Audio Input/Output: Stereo in dry through to Stereo out, and a simple synth voice outputting double mono.
-CPU load: Around 97%
-Build: Initial version built with firmware 2.0
-MIDI: Controls are set to CCs (I use channels 21/36, see CONTROLS section for details).
-MIDI Input/Output: Keyboard pitch and gate are used to enter notes into the sequence, clock is used to set sequencer speed, pitch and gates are outputted.
-CV Inputs:
1) Pitch (for entering new notes in sequence, 1V/Oct)
2) Gate (for entering new notes in sequence)
3) Reorganize (CV input for the Reorganize control)
4) Clock (for sequencer speed)
-CV Outputs:
1) Pitch (1V/Oct)
2) Gate
3) End-Of-Cycle gate
4) Clock
[REVISIONS]
1.0: Initial patch.
[PATCH STRUCTURE]
This is by far the biggest patch I’ve ever made (>20 pages in use?) so it’s fairly complex, but I’ll try to at least explain some of the core principles.
RECORDING:
It starts with Pitch and Gate input pages; you can select via toggle buttons between using CV inputs or MIDI input. When recording, Pitch CV values are recorded whenever a Gate is received (or when the Rest or Tie button is pressed) and stored with Sample&Hold modules – one per step, 16 in total – and those are connected to individual steps of a (Pitch)sequencer.
Similarly, the Gate values are stored in S&H modules, but there’s a small trick applied; a ‘normal’ gate gets a value of 0, but a ‘tied’ step has value 0.5 and a ‘rest’ step has value 1. These S&H modules are connected to the steps of a (Gate)sequencer. It’s just a trick to store some more info in a single sequencer.
Finally, whenever a new step is recorded, a (Length)S&H module goes up as a sort-of counter to keep track of the total length of the sequence, so the sequence grows from 1, 2, 3, etc, to up to 16 steps. There’s a pushbutton on the first page to ‘lock’ the sequence before it reaches 16 steps though. You could navigate back/forth to any step and just re-record some separate notes and leave the ones before and after that bit intact. Kinda like overdub, but in a less intuitive way :)
You can record a sequence step-by-step when the sequencer is stopped, or you can record as it’s playing, so play back is extended as you record more steps.
PLAYING BACK:
When playing back the sequence, we’re clocking only the Gate-sequencer with the incoming Clock signal (MIDI or CV clock). But the Pitch-sequencer is clocked via a weird kind-of clock, namely a 1-step sequencer set to Ratchet-mode. By default, this is set to ratchet only ONCE per step, i.e. a single pulse (which behaves exactly as a normal clock would; it advances one note per clock-tick). However, when we’re changing the Reorganize parameter the ratchets will INCREASE, making the Pitch-sequencer skip through its steps and go faster and faster as the Reorganize value is increased. We’re using a S&H module to sample the Pitch at every Gate-sequencer step, so despite the Pitch-sequencer racing along at high speeds we’re STILL getting a clean note for every step of the sequence! So… what have we achieved then? Well, we’ve ‘reorganized’ our originally sequenced notes into a new order!
We’re keeping score of the length of the playing sequence by means of a (Length)S&H module and a comparator. A 2nd track is enabled in both the Pitch- and Gate-sequencers, which gradually increases in value for every step, and is fed into this length-comparator, which resets the sequencers back to step 1.
This sounds complicated, but it’s a trick to also restrict the Pitch-sequencer to X nr of steps even if it’s clocked completely separate from the Gate-sequencer (as it will be when we change the Organize parameter…). So, if the total length is set to 4 steps, you’ll only get the first 4 recorded pitches (but shuffled into new patterns via Reorganize) but it’ll not use pitches of steps 5 or higher.
Finally, you can increase the Ratchet-value to slowly increase the chance of ratchetting of the Gate-sequencer. Only ‘normal’ steps are ratchetted (so not ‘rest’ or ‘tie’ steps), and it will stick to a fixed pattern (so it’s random WHICH steps will ratchet, but it’s NOT random ratcheting). It will only range between 2x, 3x and 4x ratchetting, never higher.
LIVE PLAYING:
While the sequence is playing, you can play live over it by simply playing notes via the selected input method (MIDI or CV). Whenever the input Gate is high, the live-input Pitch takes priority over the sequenced Pitch, but the gate-sequencer keeps going so your notes will be perfectly in time and rhythm.
When the sequence is stopped, any live-input notes will be played as well (using their own Gates).
There’s a toggle to mute the live-input as well.
One really nice application for the patch is to input any existing CV sequence, hit record for a few steps and let it play on. Now reduce the nr of gates of the ‘original’ sequence playing on top of this, and you get this nice interplay between the ‘actual’ sequence and the reorganized one, which can be different lengths and timings and whatnot, but is always gonna be musically related!
Little note about the Length-controls; they are in binary format to save space. So instead of toggling the length with 16 buttons to choose from, you only have 5 buttons to instantly jump between 1, 2, 4, 8, and 16 step length. You can increase/decrease the length by single steps using separate controls as well (thus allowing for odd-nr sequences). There’s a button to manually reset the sequencer length. I ran out of CV inputs for this one, but you can still sync up the melody with external gear.
SOUND ENGINE:
There’s a simple, single page synth that I built to test this entire patch. I’ve left it in and added a mute button on the second page, but it’s really a very basic subtractive mono-synth voice.
If you’re sequencing external gear you could simply delete this page to win some CPU and use that to process incoming audio another way (without the synth there’s probably enough CPU left for a reverb).
=====
[CONTROLS]
The main UI is on PAGE0 (see below for a “Picture Manual” in the comments).
Top row is the sequencer ‘transport’ control, to set the length of the sequenced melody.
Other controls are to record the sequence and to manipulate how it’s played back.
The Stereo Input/Output modules with gain parameter and some additional controls are on PAGE1.
Transport controls (top row):
1, 2, 4, 8 or 16 (pressing one of these buttons sets the length to that nr of steps)
DECREASE STEPS (decreases sequencer length by 1 step)
INCREASE STEPS (increases sequencer length by 1 step)
RESTART (push to restart the sequence at step 1)
Recording/playback controls:
RUN-PAUSE (press to pause [=red] or run [=green] sequencer; when paused notes can still be recorded)
MUTE INPUT (mutes external Pitch/Gate inputs)
REC-LOCK (press to record new notes [=red] and extend sequence length, or lock the sequence [=green] and play on top of current sequence)
RESET (stops sequence and cues recording of first step; recording won’t start until REC-LOCK = red; resetting doesn’t clear all notes so ‘older’ notes are kept until overwritten)
REST (adds rest note)
TIE (adds long gate in previous step and extends the sequence by one step)
REORGANIZE (shuffles the sequenced notes, 0=original sequence, ~0.5 is least variation, 1=maximum variation; CV Input 3 or cc21)
RATCHETT (adds random ratchet triggering as the value is increased; cc22)
LEFT button = decreases sequencer length by 1 step.
MID button = increases sequencer length by 1 step.
Additional controls on PAGE1:
CV MODE / MIDI MODE (selects between CV or MIDI input modes for Pitch and Gate)
RESEED RNDMS (reseeds all random modules in patch, giving new Ratchet- and Reorganize-permutations)
MUTE INT. SYNTH (mutes the built-in sound generation)
TAP (manual tap tempo for sequencer speed if no MIDI or CV clock is used)
MIDI INPUT (MIDI input module; default MIDI channel is 10)
MIDI CLOCK (clock input; beat modifier is set to 2 but can easily be changed in here)
MIDI OUTPUT (MIDI output module, default MIDI channel is 10)
=====
[TIPS/TRICKS]
>>> The basics:
(1) set the sequencer to run (RUN-PAUSE = green)
(2) hit RESET to cue recording from the start of the sequencer
(3) set the RUN-LOCK to REC (=red)
(4) now just play a few notes and hear the played notes being looped back.
If you can’t hear anything, make sure Mute Input is off and notes are coming through (select CV or MIDI mode and the correct MIDI channel).
>>> If the playback order of notes is NOT the same as recording, make sure Reorganize = 0.
>>> Try increasing the Ratchet value to add interesting rhythmic variations. Ratchets affect the sequencer differently for higher Reorganize values; see how it responds at 0, or near 0.5 or near 1.
>>> Try playing another external sequence on top of a recorded one and play around with the Mute Input or sequence length buttons to find interesting interplaying patterns. Also try varying the gate length of your external gear; longer gates will ‘override’ the ZOIA sequences more, while very short gates provide more melodic variation!
>>> You can use the End-Of-Cycle CV output to toggle an external switch or flip-flop (or even a small sequencer), which modulates the Reorganize CV input. After every cycle, the Reorganize value will change, so you’ll get a new phrase variation after each cycle.
[THOUGHTS/IDEAS/PLANS]
No plans for changes; it’s such a big patch already, it’s becoming a pain to modify. I’ll probably just build something new from scratch if I have more ideas… and there are ALWAYS more ideas :D
If there’s any bugs/questions/remarks/requests or suggestions for improvement, please let me know!
Enjoy!
(image: Tom Hegen)

Picture manual attached.
It’s really less complicated than it looks (or reads), but it’s important to note that it’s a CONTROLLER patch for external synths.
Attachment Manual-SteppingStone-V1-page1-1.jpg
…and page 2 of manual.
Attachment Manual-SteppingStone-V1-page2.jpg