Live Arp
live_arpTurns a patched MIDI input into a beat-synced arpeggiator, letting held keys drive timed steps with pattern, rate, gate, and per-step controls; also starts, updates, stops, or reports active arps.
Instructions
An arpeggiator on a patched input (live_midi: a keyboard, a loopMIDI port or 'screen keys'): its keys stop sounding as they are pressed and drive steps on the set's beat instead, landing on the beat the person hears. The same core as the studio's track_arp: same settings, same notes. Any subset of settings changes only those; the first call starts it with the defaults for the rest. with no source: says which arps are on. Note source (one of): pattern 'up' (default), 'down', 'updown', 'downup', 'order' (as pressed), 'random', 'chord', or a list of held-key numbers ([1, 3, 2, 4]; 1 = the lowest held key, past the last goes up an octave, 0 = a rest); degrees: scale steps above the lowest held key ([0, 2, 4, 7], None = a rest; needs key and scale); notes: an exact step list 'A3 C4 E4 A4 | F3 A3 C4 F4', one bar per '|' group, switching on bar lines, each group cycling inside its bar ('.' a rest, 'C4,E4' two at once); it plays with no keys held. rate: beats per step (default 0.25 = 16ths, 1/3 = 8th triplets; 1/64 to 4). octaves: 1 to 4 (default 1). key ('A', 'F#') + scale ('minor', 'major', 'dorian' ... or semitones [0, 2, 3, ...]): held keys snap onto the scale; on a step list, key= moves it from the key it was given with, each note kept on its scale degree. transpose: semitones. Per step (a number, or a list cycling on its own length; [] clears): gate (fraction of a step, 0.5), velocity (1-127; default the key's own), accent (0/1: velocity 127), slide (0/1: the step ties into the next; live it re-attacks, the studio's mono synths glide), octave (-3 to 3), cutoff (Hz: a low-pass on that step's note), pan (-1 to 1). restart: 'key' (default: a key pressed starts the pattern again at the next step), 'bar', 'off'. swing: 0 to 0.5 of a step, every second step. latch=True: keys keep playing after release until a new chord is pressed. at: when it starts or changes ('next_bar' default, 'now', 'next_4', 'bar:17'). off=True stops it (at= a bar line too). live_status shows its state. live_played still logs the keys pressed, not the steps. Not yet: the input's bend, pressure and mod wheel (live_midi lanes) do not move the steps.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| at | No | next_bar | |
| key | No | ||
| off | No | ||
| pan | No | ||
| gate | No | ||
| rate | No | ||
| latch | No | ||
| notes | No | ||
| scale | No | ||
| slide | No | ||
| swing | No | ||
| accent | No | ||
| cutoff | No | ||
| octave | No | ||
| source | No | ||
| degrees | No | ||
| octaves | No | ||
| pattern | No | ||
| project | Yes | ||
| restart | No | ||
| velocity | No | ||
| transpose | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |