Strymon TimeLine: MIDI CC, NRPN and OSC map¶
The Strymon TimeLine as named OSC addresses — 104 CC — ready to use from Claude (MCP), SuperCollider, Sonic Pi, TouchDesigner or any OSC app via osc-bridge.
| Device | Strymon TimeLine |
|---|---|
| Vendor | Strymon |
| OSC prefix | /timeline |
| Source | 🎛️ Derived from an Electra One community preset |
| Revision | per pencilresearch canonical CSV |
| Upstream | electra-preset |
| Driver file | devices/strymon/timeline.json |
Not tested on the device yet
This driver comes from documentation or community data and has not been checked on real hardware. If you own one, a quick test and a pull request promoting it helps everyone — see CONTRIBUTING.
How do you control it?¶
Find the MIDI ports, then start the bridge with this driver:
osc-bridge detect # prints the ready-to-run line for what is plugged in
osc-bridge run --device devices/strymon/timeline.json --out-port <N> --in-port <M>
Then send OSC to 127.0.0.1:7777, for example:
From Claude or any MCP client, the osc-bridge mcp server exposes this driver as timeline: ask “what can the Strymon TimeLine do?” and it reads this map with list_routes. See the MCP guide.
MIDI CC and NRPN parameters (104)¶
| OSC address | CC | NRPN (MSB/LSB) | Range | Nature | Section |
|---|---|---|---|---|---|
/timeline/knobs/time |
3 | 0–127 | continuous | Knobs | |
/timeline/knobs/repeats |
9 | 0–127 | continuous | Knobs | |
/timeline/knobs/mix |
14 | 0–127 | continuous | Knobs | |
/timeline/knobs/filter |
15 | 0–127 | continuous | Knobs | |
/timeline/knobs/grit |
16 | 0–127 | continuous | Knobs | |
/timeline/knobs/speed |
17 | 0–127 | continuous | Knobs | |
/timeline/knobs/depth |
18 | 0–127 | continuous | Knobs | |
/timeline/knobs/type_algorithm_select |
19 | 0–11 | continuous | Knobs | |
/timeline/common_parameters/tap_division |
21 | 0–4 | continuous | Common Parameters | |
/timeline/common_parameters/persist_trails |
22 | 0–1 | switch | Common Parameters | |
/timeline/common_parameters/boost |
23 | 0–60 | continuous | Common Parameters | |
/timeline/common_parameters/smear |
38 | 0–18 | continuous | Common Parameters | |
/timeline/common_parameters/high_pass |
47 | 0–20 | continuous | Common Parameters | |
/timeline/common_parameters/expression_enable |
60 | 0–1 | switch | Common Parameters | |
/timeline/common_parameters/midi_clock |
63 | 0–1 | switch | Common Parameters | |
/timeline/dtape/tape_speed |
58 | 0–1 | switch | dTape | |
/timeline/dtape/low_end_contour |
59 | 0–20 | continuous | dTape | |
/timeline/dbucket/range |
45 | 0–1 | switch | dBucket | |
/timeline/digital/repeat_dynamics |
56 | 0–1 | switch | Digital | |
/timeline/dual/time_2_ratio |
32 | 0–26 | continuous | Dual | |
/timeline/dual/repeats_2 |
34 | 0–18 | continuous | Dual | |
/timeline/dual/mix_2 |
33 | 0–18 | continuous | Dual | |
/timeline/dual/configuration |
36 | 0–1 | switch | Dual | |
/timeline/pattern/pattern |
39 | 0–15 | continuous | Pattern | |
/timeline/swell/rise_time |
44 | 0–27 | continuous | Swell | |
/timeline/trem/speed_ratio |
61 | 0–34 | continuous | Trem | |
/timeline/trem/depth |
57 | 0–18 | continuous | Trem | |
/timeline/trem/lfo_shape |
29 | 0–4 | continuous | Trem | |
/timeline/filter/q_resonance |
40 | 0–11 | continuous | Filter | |
/timeline/filter/lfo_shape |
28 | 0–10 | continuous | Filter | |
/timeline/filter/depth |
41 | 0–18 | continuous | Filter | |
/timeline/filter/speed_ratio |
42 | 0–34 | continuous | Filter | |
/timeline/filter/location |
43 | 0–1 | switch | Filter | |
/timeline/lo_fi/mix |
51 | 0–20 | continuous | Lo-Fi | |
/timeline/lo_fi/vinyl |
52 | 0–18 | continuous | Lo-Fi | |
/timeline/lo_fi/sample_rate |
49 | 0–20 | continuous | Lo-Fi | |
/timeline/lo_fi/bit_depth |
50 | 0–20 | continuous | Lo-Fi | |
/timeline/lo_fi/filter_shape |
53 | 0–8 | continuous | Lo-Fi | |
/timeline/ice/interval |
30 | 0–29 | continuous | Ice | |
/timeline/ice/slice |
46 | 0–2 | continuous | Ice | |
/timeline/ice/blend |
25 | 0–20 | continuous | Ice | |
/timeline/duck/sensitivity |
37 | 0–17 | continuous | Duck | |
/timeline/duck/release |
55 | 0–20 | continuous | Duck | |
/timeline/duck/feedback_ducking |
54 | 0–1 | switch | Duck | |
/timeline/looper/record |
87 | 0–127 | continuous | Looper | |
/timeline/looper/play |
86 | 0–127 | continuous | Looper | |
/timeline/looper/stop |
85 | 0–127 | continuous | Looper | |
/timeline/looper/reverse_toggle |
94 | 0–127 | continuous | Looper | |
/timeline/looper/half_speed_toggle |
95 | 0–127 | continuous | Looper | |
/timeline/looper/pre_post_toggle |
96 | 0–127 | continuous | Looper | |
/timeline/looper/undo_to_initial |
89 | 0–127 | continuous | Looper | |
/timeline/looper/redo |
90 | 0–127 | continuous | Looper | |
/timeline/looper/level |
98 | 0–127 | continuous | Looper | |
/timeline/global_control/footswitch_a |
80 | 0–127 | continuous | Global / Control | |
/timeline/global_control/footswitch_b |
82 | 0–127 | continuous | Global / Control | |
/timeline/global_control/tap_footswitch |
81 | 0–127 | continuous | Global / Control | |
/timeline/global_control/remote_tap |
93 | 0–127 | continuous | Global / Control | |
/timeline/global_control/expression_pedal |
100 | 0–127 | continuous | Global / Control | |
/timeline/global_control/bypass |
102 | 0–127 | continuous | Global / Control | |
/timeline/global_control/phase_reset |
125 | 0–127 | continuous | Global / Control | |
/timeline/global_control/midi_bank_select_msb |
0 | 0–1 | switch | Global / Control | |
/timeline/delay_type |
19 | 0–127 | continuous | ||
/timeline/time |
3 | 0–127 | continuous | ||
/timeline/repeats |
9 | 0–127 | continuous | ||
/timeline/mix |
14 | 0–127 | continuous | ||
/timeline/filter |
15 | 0–127 | continuous | ||
/timeline/grit |
16 | 0–127 | continuous | ||
/timeline/tap_division |
21 | 0–127 | continuous | ||
/timeline/smear |
38 | 0–18 | continuous | ||
/timeline/high_pass |
47 | 0–20 | continuous | ||
/timeline/boost_db |
23 | -30–30 | continuous | ||
/timeline/speed |
17 | 0–127 | continuous | ||
/timeline/depth |
18 | 0–127 | continuous | ||
/timeline/tape_speed |
58 | 0–127 | continuous | ||
/timeline/low_end |
59 | -10–10 | continuous | ||
/timeline/range |
45 | 0–127 | continuous | ||
/timeline/phase_reset |
125 | 0–127 | continuous | ||
/timeline/tap |
93 | 0–127 | continuous | ||
/timeline/repeats |
56 | 0–127 | continuous | ||
/timeline/time_2 |
32 | 0–127 | continuous | ||
/timeline/repeats_2 |
34 | 0–127 | continuous | ||
/timeline/mix_2 |
33 | 0–127 | continuous | ||
/timeline/configuration |
36 | 0–127 | continuous | ||
/timeline/pattern |
39 | 1–16 | continuous | ||
/timeline/interval |
30 | 0–127 | continuous | ||
/timeline/slice |
46 | 0–127 | continuous | ||
/timeline/blend_dry_ice |
25 | 0–20 | continuous | ||
/timeline/sensitivity |
37 | 0–17 | continuous | ||
/timeline/release |
55 | 0–127 | continuous | ||
/timeline/feedback |
54 | 0–127 | continuous | ||
/timeline/rise_time_s |
44 | 0–127 | continuous | ||
/timeline/lfo |
29 | 0–127 | continuous | ||
/timeline/speed |
61 | 0–127 | continuous | ||
/timeline/depth |
57 | 0–18 | continuous | ||
/timeline/lfo |
28 | 0–127 | continuous | ||
/timeline/speed |
42 | 0–127 | continuous | ||
/timeline/depth |
41 | 0–18 | continuous | ||
/timeline/res |
40 | 0–127 | continuous | ||
/timeline/location |
43 | 0–127 | continuous | ||
/timeline/mix |
51 | 0–20 | continuous | ||
/timeline/vinyl |
52 | 0–127 | continuous | ||
/timeline/sample_rate |
49 | 0–127 | continuous | ||
/timeline/bit_depth |
50 | 0–127 | continuous | ||
/timeline/filter |
53 | 0–127 | continuous |
Performance MIDI¶
Notes, pitch bend and any CC are also available: /timeline/note/on <note> <velocity>, /timeline/cc/<number> <value>, /timeline/pitchbend <0-16383>, /timeline/program_change <n>.
Limitations¶
CC/NRPN only. SysEx (preset management, display control, bulk dump/load, vendor-proprietary opcodes) is NOT covered by pencilresearch. To extend this device with SysEx, sniff the vendor editor, add `sysex.header/footer` + `commands` blocks, and use `update_device.md` PR template.