draft: false Name: CVSeq short-description: "A 32-step performance CV sequencer - edited from a Music Thing 8mu, with a web editor" Language: C++ (ComputerCard) Creator: XponentOneAudio Version: "0.8.0" Status: Beta License: MIT Editor: web date-created: 2026-10-05 date-updated: 2026-10-10 contact: email: XponentOneAudio@gmail.com # Vendors, unmodified and under their own MIT terms: # ComputerCard.h, EightMU.h (which carries the rppicomidi usb_midi_host # driver, (c) 2023 rppicomidi) # (c) Chris Johnson uf2: - path: UF2/cvseq.uf2 name: CVSeq 0.8.0 tags: - sequencer - modulation - cv - usb-host - midi - 8mu summary: | A step sequencer for control voltages. Each of its up to 32 steps plays a shape - a ramp, a pluck, a sine, stairs, a random wander - and the steps run on one after another as one continuous voltage.

Every step has two shapes from a library of 40 and a morph between them, a level, a start and an end level from -100% to +100% that ramp across the step (so it can invert, or swing through zero), an offset of -5V to +5V, a quantise that turns the shape into held stairs, and a chance that it plays at all. A step that loses its chance holds the voltage where it was.

The sequence is edited from a Music Thing 8mu: its eight faders edit one bank of eight steps at a time, and its four buttons choose the page - A is SHAPE 1, B SHAPE 2, C MORPH and D LEVEL - with further presses giving START (A), END (B), OFFSET (C), and QUANT then CHANCE (D). A long press of a button chooses the bank (A steps 1-8 to D steps 25-32), and holding a button while moving a fader sets the last step, from 1 to 32; it starts at 8. Faders pick up, so changing page never makes the voltage jump, and the 8mu's LEDs show the stored values. Tilting the 8mu morphs every step at once (past a dead zone of about 15 degrees, so holding it doesn't).

Eight directions run the sequence, chosen by holding the switch down and turning Main: step forward, step ping-pong and step backward change the order of the steps, true ping-pong and true reverse play the whole sequence backwards, every shape reversed too, and random step, random reverse and true random roll the dice on which step plays next, which way round, or both.

An optional (but highly recommended) web editor (web/index.html, Chrome or Edge) draws the sequence with a live playhead and a scope of the output, shows the shape library, and keeps presets. With a computer plugged into the Computer's USB socket the card becomes a USB MIDI device for the editor, and an 8mu plugged into the computer is passed on through it. panel: inputs: - id: AudioIn1 name: Unused type: audio description: Not used. - id: AudioIn2 name: Unused type: audio description: Not used. - id: CVIn1 name: Morph type: cv description: Added to every step's MORPH; +5V moves it all the way from shape 1 to shape 2. - id: CVIn2 name: Rate type: cv description: Rate, 1V/oct - each volt doubles the speed. With a clock, moves the clock divider/multiplier two steps a volt. - id: PulseIn1 name: Clock type: pulse description: > While clocks are arriving, each step lasts one beat, for clocks anything up to a minute apart. A beat is the clock divided or multiplied by the Main knob (switch middle): /8 to x8. The card follows the clock from its second pulse, and returns to the Main knob's rate once four of the clock's periods (at least 2s) pass without one. - id: PulseIn2 name: Restart type: pulse description: Restarts the sequence from its first step. outputs: - id: AudioOut1 name: CV copy type: audio description: The same voltage as CV Out 1, uncalibrated. - id: AudioOut2 name: Inverted type: audio description: CV Out 1 inverted, uncalibrated. - id: CVOut1 name: CV type: cv description: The sequence - offset plus depth times 0 to 5V - after smoothing. - id: CVOut2 name: Quantised type: cv description: CV Out 1 quantised to the chosen scale (to semitones with the scale Off), 1V/oct. - id: PulseOut1 name: Step type: pulse description: Trigger at the start of every step that plays (not one that loses its chance). - id: PulseOut2 name: Start type: pulse description: Trigger at the start of the sequence. controls: switch: up: name: Output description: Main sets the scale, X and Y depth and offset. middle: name: Shape description: Main sets the rate, X and Y smoothing and morph offset. down: name: Direction description: > Momentary. Hold it and turn Main to choose the direction from eight: step forward, step ping-pong, step backward, true ping-pong, true reverse, random step, random reverse and true random. A tap without turning steps to the next. While held, LED 4 is lit and LEDs 1-3 show the direction's number in binary. knobs: - when: z: up main: name: Scale description: > Off (fully down, QUANT only steps the shape), then Chromatic, Major, Minor, Harmonic minor, Dorian, Phrygian, Lydian, Mixolydian, Major and Minor pentatonic, Blues, Whole tone, Diminished, Fifths and Octaves. With a scale chosen, every step with QUANT above zero snaps to the scale's notes, 1V/oct with C at 0V. LEDs 1-4 show the scale number in binary for a second when it changes. x: name: Depth description: -100% to +100%, an attenuverter on the 0-5V sequence. Each X/Y setting keeps its value; after the switch moves a knob picks up only once turned to its value. y: name: Offset description: -5V to +5V added to the output. - when: z: middle main: name: Rate description: 8s to 10ms per step. With a clock on Pulse In 1 it picks a clock divider or multiplier instead, in eleven equal zones - /8, /6, /4, /3, /2, x1 (centre), x2, x3, x4, x6, x8. x: name: Smoothing description: Off across the bottom few percent of the knob, then a lag of 1ms to about 2s. y: name: Morph offset description: Added to every step's MORPH, -100% to +100%. leds: - display: list items: - id: LED0 name: Page A / step description: With an 8mu or the web editor, LEDs 0-3 show the button whose page is selected (A-D), steady for its first page, blinking slowly for its second and quickly for its third. Without one, they show the playing step - bright for steps 1-4, dim for 5-8. - id: LED1 name: Page B / step - id: LED2 name: Page C / step - id: LED3 name: Page D / step - id: LED4 name: CV description: Brightness follows CV Out 1, 0 to 5V. - id: LED5 name: 8mu / editor description: Lit while an 8mu, or the web editor, is connected. Blinks fast while the X or Y knob is waiting to pick up its setting.