short-header

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 arp curve editor on its Velo tab: a Velo/Duty toggle, a strip for sequencers 1–7 and 9–13, eight faders rising left to right with number boxes reading 0, 21, 42, 64, 85, 106, 116, 127, the decoded multiplier beneath each, and a preset slot row with Recall and Store buttons

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:

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:

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:

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