Curve Track — manual

A shape-per-step CV/gate sequencer. Each step is one of 25 curve shapes scaled between Min and Max, with gates derived live from the curve and a per-pattern Chaos / Wavefolder / Filter chain.

1. Overview
2. The Curve Shapes
3. The Signal Chain
4. Gate Generation
5. The Step Edit Page
6. Playback & Timing
7. Track Setup
8. Setup & Routing

Introduction

The Curve track is a shape-per-step CV/gate sequencer. Each step is not a note but a curve segment — one of 25 built-in shapes (ramp, exp, log, smooth, bell, triangle, step, multi-ramp …) scaled between a per-step Min and Max voltage. As the playhead sweeps a step it reads the shape continuously and emits CV; gates are derived from what the curve does (its peaks, troughs, zero crossings, slope, level) rather than from a stored on/off pattern. On top of the raw shape sits a per-pattern signal chain — Chaos, Wavefolder, DJ Filter, Crossfade — and a set of generative Curve Studio tools that draw, transform, and gate-stamp whole ranges of steps at once.

Everything here is grounded in the firmware as built — defaults, ranges, enum members, key bindings, and step-grid maps come from the model, engine, and UI code.

Prerequisites

Part 1 · Overview

A Curve track plays a sequence of steps, but each step holds a shape, not a note:

  1. Each step stores a curve Shape (one of 25), a Min and Max level (8-bit, 0..255), a Gate event mask, and a Gate Parameter (trigger length or advanced-gate mode).
  2. The playhead advances step to step (grid-locked or free-running) and, within each step, sweeps a continuous fraction 0→1 through that step's shape.
  3. CV output is the shape value scaled into Min..Max, pushed through the per-pattern signal chain and limited to ±5V.
  4. Gate output is generated live from the curve: zero crossings, peaks, troughs, slope, or level comparators.

There is no separate "note" — the curve is the data. A step playing RampUp from Min=0 to Max=255 is a rising ramp across that step; a Bell shape is a single smooth hump.

The two playback modes

ModeAdvanceSpeed control
Alignedgrid-locked: a step lasts exactly divisor ticksdivisor + clock mult only
Freephase-accumulator: step advances when an internal phase crosses 1.0Curve Rate (0–4×) modulates speed for audio-rate FM

Aligned is quantized and rhythmic. Free is continuous and FM-capable; Curve Rate has no effect in Aligned mode. Both feed the same signal chain and 1kHz output interpolation. Play Mode is a track param (Part 7).

Where state lives. Per-step data (shape, shape variation, variation probability, min, max, gate events, gate parameter) lives on each step. Per-sequence params (range, divisor, clock mult, reset measure, run mode, first/last step, and the whole Chaos + Wavefolder + Filter + Crossfade chain) live on the sequence. Track-wide params (play mode, fill, mute, slide, offset, rotate, curve rate, global phase, the two probability biases) live on the track.

Part 2 · The Curve Shapes

A step's Shape selects one of 25 functions, evaluated over a fraction x (0→1) that runs across the step. The result (0→1) is then scaled into the step's Min..Max.

#NameCurve over the step
0Lowflat at 0 (bottom)
1Highflat at 1 (top)
2RampUplinear rise 0→1
3RampDownlinear fall 1→0
4ExpUpexponential rise (x²)
5ExpDownexponential fall ((1−x)²)
6LogUplogarithmic rise (√x)
7LogDownlogarithmic fall (√(1−x))
8SmoothUpS-curve rise (smoothstep)
9SmoothDownS-curve fall
10RampUpHalframp up in first half, flat 0 in second
11RampDownHalframp down in first half, flat 0 in second
12ExpUpHalfexp up in first half, then flat 0
13ExpDownHalfexp down in first half, then flat 0
14LogUpHalflog up in first half, then flat 0
15LogDownHalflog down in first half, then flat 0
16SmoothUpHalfsmooth up in first half, then flat 0
17SmoothDownHalfsmooth down in first half, then flat 0
18Triangleup then down, single peak at centre
19Bellraised-cosine hump (½−½·cos)
20StepUp0 for first half, jumps to 1
21StepDown1 for first half, drops to 0
22ExpDown2xtwo exp-down lobes across the step
23ExpDown3xthree exp-down lobes
24ExpDown4xfour exp-down lobes

The shape index range is 0..Curve::Last-1 (24); the editor clamps to it. The …Half shapes fire in the first half of the step and rest at 0 for the second — one-shot envelopes per step. ExpDown2x/3x/4x pack 2/3/4 decay lobes into a single step.

Min / Max and inversion

Shape Variation

Each step also stores a Shape Variation (a second shape index) and a Variation Probability (0..8). On each trigger the engine rolls: with probability variationProbability/8 (plus the track's Shape P. Bias) the step plays its variation shape instead of its main shape — per-step shape randomness without changing the stored main shape.

Part 3 · The Signal Chain

After the raw shape is evaluated and scaled, every Curve step's value flows through a fixed per-sequence chain before it reaches the CV output:

Step Shape → Chaos mix → Wavefolder → DJ Filter → Crossfade → Limiter (±5V) → 1kHz interp → Slide → CV out

Chaos

A generative source mixed in before the wavefolder. It crossfades between the clean shape and a chaotic signal, so at 100% Amount you hear pure chaos and the output always stays in range.

ParamRangeDefaultRole
Amount (AMT)0–100%0dry/chaos crossfade depth
Rate (HZ)0–127 → ~0.01–50 Hz65evolution speed (3-band curve)
Param 1 (HEAT)0–10045algorithm parameter A
Param 2 (DAMP)0–10062algorithm parameter B
AlgorithmLatoocarfian / LorenzLatoocarfianstepped jumps vs. smooth attractor
RangeMid / Below / AboveMidcentre of the wiggle (mid / bottom-quarter / top-quarter)

Latoocarfian has a stepped sample-and-hold character; Lorenz flows smoothly. The Range offset shifts the chaos centre into the bottom or top quarter of the voltage range.

Wavefolder

ParamRangeDefaultRole
Fold (FOLD)0.00–1.000.00folding amount (sine-based, exp-curved); 0 = bypass
Gain (GAIN)0.00–2.000.00input gain into the folder (mapped to internal 1×–5×)

With Fold at 0 the folder is bypassed.

DJ Filter

FILTER, one knob, −1.00..+1.00, default 0:

The filter state is always computed (so it tracks the signal), but only applied when the control leaves the dead zone.

Crossfade

XFADE, 0.00..1.00, default 1.00 (fully wet). It blends the original phased shape (dry, pre-Chaos/folder/filter) against the processed signal. At 0.00 you hear the clean shape; at 1.00 the full processed chain. XFADE is non-routable (UI-only).

Limiter, interpolation, slide

The processed voltage is hard-clamped to ±5V. The tick-rate sample is then linearly interpolated to ~1kHz to remove staircase artifacts, and finally passed through the track's Slide slew limiter (if Slide Time > 0) plus the track Offset.

Part 4 · Gate Generation

Curve tracks have no stored gate pattern. Gates are generated live from the curve each tick, driven by two per-step fields: the Gate event mask (4 bits) and the Gate parameter (0..7). The mask being zero or non-zero selects between two modes.

Event mode (mask ≠ 0)

When any event bit is set, the engine fires a trigger pulse when that curve event occurs. The pulse length comes from the gate parameter (exponential): 4 << param ticks, i.e. 4, 8, 16, 32, 64, 128, 256, 512 ticks.

BitConstantEvent
0 (1)Peakend of a rise (rising → flat/falling)
1 (2)Troughend of a fall (falling → flat/rising)
2 (4)ZeroRiseupward zero crossing
3 (8)ZeroFalldownward zero crossing

Advanced mode (mask = 0)

When the mask is zero, the gate parameter (0..7) selects a continuous gate mode that holds the gate high while a condition is true:

ParamModeGate high when
0Offnever (no gate)
1RisingSlopecurve is rising
2FallingSlopecurve is falling
3AnySlopecurve is moving (rising or falling)
4Compare25level > 25% of range
5Compare50level > 50% of range
6Compare75level > 75% of range
7Windowlevel between 25% and 75%
A muted Curve step silences both gate and CV (the CV target follows Mute Mode — Part 7). Fill can pass the gate even while muted.

Part 5 · The Step Edit Page

Page+S0 opens the Curve STEPS page. It is a single page with several edit modes cycled by F5; F1–F4 pick the active per-step layer, the step keypad selects steps, and the encoder edits the selected step(s) on the active layer.

Curve STEPS page in default Shape mode
Step mode (SHAPE layer): the 16-step curve lane, loop bracket markers, dotted step grid, step numbers, and the playhead sweeping a step. The footer reads SHAPE · MIN · MAX · GATE · PHASE.

The layers (F1–F4)

The footer shows SHAPE · MIN · MAX · GATE · PHASE. F1–F4 select layers; F5 cycles edit modes (Step → Phase → Wavefolder → Chaos → back).

Curve STEPS page on the GATE EVENTS layer
GATE layer ("GATE EVENTS"): the per-step event row appears under the curve lane — four segments per step show the Peak / Trough / Zero-rise / Zero-fall mask bits. GATE is highlighted in the footer.

Holding the active function key while turning the encoder on MIN/MAX moves Min and Max together. On the Min/Max layers a single unpersisted selected step is monitored — its level is driven to the output so you can dial it by ear.

Editing steps

Encoder edit-mode panels (F5)

Beyond Step, F5 reaches three full-width panels. In each, F1–F4 select a column; the encoder edits the focused column (press-turn to move the cursor).

Curve Wavefolder edit-mode panel
Wavefolder panel (F5): four value+bar columns — FOLD, GAIN, FILTER (bipolar, centre-zero), XFADE — plus NEXT. The focused column's value is bright.
Curve Chaos edit-mode panel
Chaos panel (F5): AMT (%), HZ (rate in Hz), HEAT, DAMP. The Range offset prints under AMT and the algorithm name under HZ (Latoocarfian wraps to two lines).

Step keypad and quick-edit

Curve Studio shortcuts (Page + step)

Four context menus stamp whole step ranges. With no selection they act on the loop range; with a single step selected they run from that step to the loop end; with multiple steps selected they act on the selection.

ShortcutMenuItems
Page + S5LFOTRI · SINE · SAW · SQUA · MM-RND (single-cycle waveforms; MM-RND randomizes Min/Max)
Page + S4MacroMM-INIT · M-FM · M-DAMP · M-BOUNCE · M-RSTR (multi-step rasterized shapes)
Page + S6TransformT-INV · T-REV · T-MIRR · T-ALGN · T-WALK (invert / reverse / mirror / align / smooth walk)
Page + S14Gate PresetsZC+ · EOC/EOR · RISING · FALLING · >50% (stamp gate events/modes onto the range)

(Step indices are 0-based key positions; on the panel these are buttons 5, 6, 7, 15.)

Context menu (long-press)

In Step / Global-Phase mode: INIT · COPY · PASTE · DUPL · GEN (init steps, copy/paste step selection, duplicate the loop, run the sequence generator). In Wavefolder / Chaos mode the menu becomes INIT · RAND · COPY · PASTE acting on that panel's params.

LEDs

Part 6 · Playback & Timing

These per-sequence params govern how the loop is read.

ParamRangeDefaultRole
First Step0–630 (shown as 1)loop start
Last Step0–6315 (shown as 16)loop end
Run ModeForward / Backward / Pendulum / PingPong / Random / Random WalkForwardtraversal order
Divisor1–768192ticks per step (Aligned); base step duration (Free)
Clock Mult50–150%100% (1.00×)scales the divisor timing
Reset Measureoff / 1–128 barsoffhard reset every N bars
Range1V…5V Unipolar / 1V…5V Bipolar5V Bipolaroutput voltage range

True reverse: in Backward (and the down-leg of Pendulum/PingPong) the engine inverts the step fraction too, so the shape plays backwards, not just the step order. Pendulum and PingPong make seamless loops.

Rotate (track param, −64..64) rotates which physical step maps to each sequence position, without moving the loop window.

Part 7 · Track Setup

These live on the track (Page+S2), shared across all of the track's patterns.

ParamRangeDefaultRole
Play ModeAligned / FreeFreegrid-locked vs. phase-accumulator (FM)
Fill ModeNone / Variation / Next Pattern / InvertNonewhat a fill substitutes
Mute ModeLast Value / 0V / Min / MaxLast ValueCV level while muted
Slide Time0–100%0slew between step values
Offset−5.00..+5.00V0.00VDC offset added to the output
Rotate−64..+640rotate step-to-position mapping
Shape P. Bias−8..+8 (×12.5%)0global bias on shape-variation probability
Gate P. Bias−8..+8 (×12.5%)0global bias on gate probability
Curve Rate0.00–4.00×1.00×Free-mode speed multiplier (no effect in Aligned)
Global Phase0.00–1.000sequence-wide read-position offset

Mute Mode sets where the CV parks when the track is muted: hold the last value, snap to 0V, or snap to the bottom/top of the range. Curve Rate only acts in Free mode; a minimum of 8 ticks/step is enforced so fast rates stay clean.

Part 8 · Setup & Routing

Track-scope list (Page+S2)

CurveTrackListModel — track-wide params, in order:

  1. Play Mode
  2. Fill Mode
  3. Mute Mode
  4. Slide Time
  5. Offset
  6. Rotate
  7. Shape P. Bias
  8. Gate P. Bias
  9. Curve Rate
  10. Global Phase

Sequence-scope list (Page+S1)

CurveSequenceListModel — per-pattern quick-list, in order:

  1. First Step
  2. Last Step
  3. Run Mode
  4. Divisor
  5. Clock Mult
  6. Reset Measure
  7. Range

(The Chaos / Wavefolder / Filter / Crossfade params are not on this quick-list — they are edited on the F5 panels of the step page, Part 5.)

What is routable

A route targeting a Curve track can address these 19 params (the Curve param table). The RoutingPage groups them: Divisor and Clock Mult appear on the CLOCK band, Slide Time and Rotate on the PITCH band; the rest appear on the CURVE band.

Track-levelSequence-level
Slide TimeDivisor
OffsetClock Mult
RotateRun Mode
Shape P. BiasFirst Step
Gate P. BiasLast Step
Curve RateWavefolder Fold
Phase (Global Phase)Wavefolder Gain
DJ Filter
Chaos Amount
Chaos Rate
Chaos Param 1
Chaos Param 2
Not routable: Play Mode, Fill Mode, Mute Mode, Reset Measure, Range, and the Crossfade (XFADE) control. Per-step fields (shape, min, max, gate) are not routing targets either — they are edited, not modulated.