Arp curves
Everywhere you draw a value on the grid: a step velocity, a step duty, a velo arp, a duty arp. You are drawing a number from 0 to 7. That number is not a velocity and it is not a note length. It is a position on a curve, and the curve decides what 0 to 7 actually mean for that sequencer.
Each sequencer has two of them: a velocity curve and a note-length curve. Both are eight points, both are editable, and both belong to the box rather than to the song.
Why they exist
The eight rows of a step or arp view are a comfortable number to play with and a useless number to be stuck with. Eight evenly spaced velocities are fine for one instrument and wrong for the next; eight note lengths that are not musical values are wrong for everything.
The curve is the layer that fixes that. Draw the same shape on the grid, point the curve somewhere else, and the same pattern plays with a different response. It is per-sequencer, so the sequencer driving a bass synth can have a different idea of “5” from the one driving a pad.
Where to find them
The webapp settings page, under Arp curves. Eight faders, one per point, with the point number underneath.

The velocity curve. The number box is the raw point and the small figure below it is what the engine multiplies by, so you can see that point 5 is the identity and point 7 lifts a hit by a fifth. The strip along the top picks which sequencer you are editing.
The velocity curve
A point is a number from 0 to 127, which the engine reads as a multiplier from ×0 up to ×1.2. The shipped curve is an even ramp:
| Point | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|---|
| Raw | 0 | 21 | 42 | 64 | 85 | 106 | 116 | 127 |
| Multiplier | ×0.00 | ×0.20 | ×0.40 | ×0.60 | ×0.80 | ×1.00 | ×1.10 | ×1.20 |
Point 5 is the identity. It is what a freshly seeded pattern holds, so a velo arp on a new session sounds exactly as though it were switched off until you move something. Above it there is deliberately not much room: two points of lift, because the multiplier is capped and a velocity is capped at 127 anyway.
Twelve sequencers have a velocity curve: 1–7 and 9–13. Sequencer 13 is included because the TR-8 reads the velocity curve too: drums get the same per-row scaling as everything else.
The note-length curve
Duty is where curves earn their keep, because a note length wants to be a musical value. A duty point does not store a multiplier; it picks an entry from a locked 16-entry palette:
1/64 1/32 1/16T 1/32. 1/16 1/8T 1/16. 1/8
1/4T 1/8. 1/4 1/2T 1/4. 1/2 1/2. 1/1
T is a triplet (two thirds) and . is dotted (one and a half), so the palette
covers straight, dotted and triplet values from a 64th to a whole note. The
editor shows you the name and, underneath, the length in steps.
<img src=”/assets/mseq/arp-curve-duty.png” alt=”The editor on its Duty tab, with sequencers 1–7 and 9–12 available: the eight faders carry dropdowns reading 1/64, 1/32, 1/16T, 1/32., 1/16, 1/8T, 1/16., 1/8, each with its length in steps beneath, plus a preset slot row and a toggle labelled “Sequencer duty scales note length”” style=”display:block;margin-inline:auto”>
The note-length curve. Eight distinct musical values, and the toggle at the bottom decides whether the sequencer’s duty knob is allowed to stretch them.
One step is a 16th, so 1/16 is exactly one step and everything above it holds
into the following step. Point 4 is 1/16, the identity, and the same
“sounds like it’s off” logic applies as it does to velocity.
Eleven sequencers have a note-length curve: 1–7 and 9–12. The TR-8 does not, because drums are one-shots with nothing to sustain.
The sequencer-duty toggle
Each sequencer has its own switch for whether the sequencer duty knob still applies on top of the curve:
- On (the default): the knob stretches and shrinks the resolved length, so a curve gives you the shape and the knob gives you a live grip on it.
- Off: you get the palette’s exact lengths, and the duty knob is ignored for
note length. Pick this when you want
1/8to mean1/8.
One thing to watch on a TB-03
A TB-03 re-keys its slide whenever a resolved note length exceeds one step. On the shipped curve that is points 5, 6 and 7. If you author a curve that puts long values low down, you will get slides from grid positions that did not slide before.
Presets
Each kind has a bank of eight preset slots, shared by every sequencer:
- Store copies the sequencer’s current curve into the slot you have selected.
- Recall copies a slot into the sequencer you are editing.
Both are copies, and only copies. Recalling a preset does not attach the sequencer to it: edit the curve afterwards and the preset is untouched, and editing the preset later does not reach back into any sequencer that once recalled it. There is no “this sequencer is using preset 3” state, deliberately: the slot control is a target for an action, not a relationship.
Curves belong to the box, not to the song
This is the part worth remembering, because it is the opposite of nearly everything else you can edit.
Curves are a device setting, kept the way the CC map is kept, in their own config file rather than inside a session. So:
- loading a song does not change your curves: that is the whole point;
- a peer load does not bring a collaborator’s curves with their patterns;
- copying a sequencer to another does not copy its curves.
Your box keeps its response and songs move between boxes. If you want a different feel for a different track, that is a preset recall, not a session load.
Nothing about curves appears in a session file, and no session operation (save, load, undo, init) touches them. See Saving and loading sessions for what a session does carry.
Editing the file by hand
The config file is plain Lua and you can read it. If you edit it directly, the webapp notices at the next save and refuses to overwrite your work, asking you to reimport first. That is a guard, not a fault: reimport pulls your hand-edit into the editor and the two are back in step.
Cross-References
- Step values: where per-step values are drawn, and how velocity and duty differ in the way they combine
- Velocity and duty arps: the velo and duty arps, which index the same curves
- Saving and loading sessions: what a session saves, and why curves are not in it