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.