Ableton Drift: MIDI CC, NRPN and OSC map¶
The Ableton Drift as named OSC addresses — 66 CC — ready to use from Claude (MCP), SuperCollider, Sonic Pi, TouchDesigner or any OSC app via osc-bridge.
| Device | Ableton Drift |
|---|---|
| Vendor | Ableton |
| OSC prefix | /drift |
| Source | 🎛️ Derived from an Electra One community preset |
| Revision | per Electra preset |
| Upstream | electra-preset |
| Driver file | devices/ableton/drift.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/ableton/drift.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 drift: ask “what can the Ableton Drift do?” and it reads this map with list_routes. See the MCP guide.
MIDI CC and NRPN parameters (66)¶
| OSC address | CC | NRPN (MSB/LSB) | Range | Nature | Section |
|---|---|---|---|---|---|
/drift/wave |
78 | 0–127 | continuous | ||
/drift/octave |
76 | -2–3 | continuous | ||
/drift/shape |
1 / 33 | 0–100 | continuous | ||
/drift/osc_1 |
77 | 0–127 | continuous | ||
/drift/gain |
0 / 32 | 0–16383 | continuous | ||
/drift/filter |
75 | 0–127 | continuous | ||
/drift/shape_mod |
2 / 34 | -1000–1000 | continuous | ||
/drift/retrigger |
83 | 0–127 | continuous | ||
/drift/wave |
82 | 0–127 | continuous | ||
/drift/octave |
80 | -3–2 | continuous | ||
/drift/detune |
3 / 35 | -700–700 | continuous | ||
/drift/osc_2_on |
81 | 0–127 | continuous | ||
/drift/gain |
4 / 36 | 0–16383 | continuous | ||
/drift/filter |
79 | 0–127 | continuous | ||
/drift/amount_1 |
5 / 37 | -1000–1000 | continuous | ||
/drift/amount_2 |
6 / 38 | -1000–1000 | continuous | ||
/drift/noise_on |
73 | 0–127 | continuous | ||
/drift/gain |
31 / 63 | 0–16383 | continuous | ||
/drift/filter |
72 | 0–127 | continuous | ||
/drift/amount_1 |
25 / 57 | -1000–1000 | continuous | ||
/drift/amount_2 |
26 / 58 | -1000–1000 | continuous | ||
/drift/frequency |
24 / 56 | 0–16383 | continuous | ||
/drift/type |
70 | 0–127 | continuous | ||
/drift/lp_reso |
27 / 59 | 0–101 | continuous | ||
/drift/key_lpf |
17 / 49 | 0–100 | continuous | ||
/drift/hp_freq |
16 / 48 | 0–16383 | continuous | ||
/drift/rate |
20 / 52 | 0–16383 | continuous | ||
/drift/mode |
68 | 0–127 | continuous | ||
/drift/retrig_on |
67 | 0–127 | continuous | ||
/drift/amount_1 |
28 / 60 | -1000–1000 | continuous | ||
/drift/mono_thickness |
10 / 42 | 0–1000 | continuous | ||
/drift/volume |
13 / 45 | 0–16383 | continuous | ||
/drift/wave |
69 | 0–127 | continuous | ||
/drift/amount |
18 / 50 | 0–1000 | continuous | ||
/drift/mod_amount |
19 / 51 | -1000–1000 | continuous | ||
/drift/amount_2 |
29 / 61 | -1000–1000 | continuous | ||
/drift/stereo_spread |
8 / 40 | 0–1000 | continuous | ||
/drift/vel_vol |
12 / 44 | 0–1000 | continuous | ||
/drift/amount_3 |
30 / 62 | -1000–1000 | continuous | ||
/drift/unisonstrength |
9 / 41 | 0–1000 | continuous | ||
/drift/transpose |
11 / 43 | -48–48 | continuous | ||
/drift/envelope_1 |
7 / 39 | 0–16383 | continuous | ||
/drift/envelope_1 |
8 / 40 | 0–16383 | continuous | ||
/drift/envelope_1 |
10 / 42 | 0–16383 | continuous | ||
/drift/envelope_1 |
9 / 41 | 0–16383 | continuous | ||
/drift/drift |
6 / 38 | 0–1000 | continuous | ||
/drift/cycling |
66 | 0–127 | continuous | ||
/drift/envelope_2 |
11 / 43 | 0–16383 | continuous | ||
/drift/envelope_2 |
12 / 44 | 0–16383 | continuous | ||
/drift/envelope_2 |
14 / 46 | 0–16383 | continuous | ||
/drift/envelope_2 |
13 / 45 | 0–16383 | continuous | ||
/drift/time_mode |
64 | 0–127 | continuous | ||
/drift/legato_on |
71 | 0–127 | continuous | ||
/drift/nt_pitch_bend |
74 | 0–127 | continuous | ||
/drift/tilt |
4 / 36 | 0–100 | continuous | ||
/drift/hold |
0 / 32 | 0–100 | continuous | ||
/drift/rate |
1 / 33 | 0–16383 | continuous | ||
/drift/glide_time |
15 / 47 | 0–16383 | continuous | ||
/drift/ply_vc_dpth |
7 / 39 | 0–1000 | continuous | ||
/drift/time |
23 / 55 | 0–16383 | continuous | ||
/drift/time |
5 / 37 | 0–16383 | continuous | ||
/drift/ratio |
21 / 53 | 2–160 | continuous | ||
/drift/ratio |
2 / 34 | 2–160 | continuous | ||
/drift/synced |
22 / 54 | 0–16383 | continuous | ||
/drift/synced |
3 / 35 | 0–16383 | continuous | ||
/drift/device_on |
65 | 0–127 | continuous |
Performance MIDI¶
Notes, pitch bend and any CC are also available: /drift/note/on <note> <velocity>, /drift/cc/<number> <value>, /drift/pitchbend <0-16383>, /drift/program_change <n>.
Limitations¶
Imported from an Electra One community preset. The mapping reflects the preset author's editorial choices: parameter naming, ranges, and which params are exposed. Untested on hardware in this repo.