Yamaha DX1: MIDI CC, NRPN and OSC map¶
The Yamaha DX1 as named OSC addresses — 101 SysEx commands — ready to use from Claude (MCP), SuperCollider, Sonic Pi, TouchDesigner or any OSC app via osc-bridge.
| Device | Yamaha DX1 |
|---|---|
| Vendor | Yamaha |
| OSC prefix | /dx1 |
| Source | 🎛️ Derived from an Electra One community preset |
| Revision | per Electra preset |
| Upstream | electra-preset |
| Driver file | devices/yamaha/dx1.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/yamaha/dx1.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 dx1: ask “what can the Yamaha DX1 do?” and it reads this map with list_routes. See the MCP guide.
SysEx commands (101)¶
| OSC address | Arguments |
|---|---|
/dx1/op1_level |
val: u7 |
/dx1/op2_level |
val: u7 |
/dx1/op3_level |
val: u7 |
/dx1/op4_level |
val: u7 |
/dx1/op5_level |
val: u7 |
/dx1/op6_level |
val: u7 |
/dx1/algorithm |
val: u7 |
/dx1/feedback |
val: u7 |
/dx1/transpose |
val: u7 |
/dx1/op1_attack |
val: u7 |
/dx1/op1_decay |
val: u7 |
/dx1/op1_sustain |
val: u7 |
/dx1/op1_release |
val: u7 |
/dx1/lfo_speed |
val: u7 |
/dx1/lfo_delay |
val: u7 |
/dx1/mod_depth |
val: u7 |
/dx1/amp_mod |
val: u7 |
/dx1/op1_coarse |
val: u7 |
/dx1/op1_fine |
val: u7 |
/dx1/op1_detune |
val: u7 |
/dx1/op1_on |
val: u7 |
/dx1/op2_coarse |
val: u7 |
/dx1/op2_fine |
val: u7 |
/dx1/op2_detune |
val: u7 |
/dx1/op2_on |
val: u7 |
/dx1/op3_coarse |
val: u7 |
/dx1/op3_fine |
val: u7 |
/dx1/op3_detune |
val: u7 |
/dx1/op3_on |
val: u7 |
/dx1/op4_coarse |
val: u7 |
/dx1/op4_fine |
val: u7 |
/dx1/op4_detune |
val: u7 |
/dx1/op4_on |
val: u7 |
/dx1/op5_coarse |
val: u7 |
/dx1/op5_fine |
val: u7 |
/dx1/op5_detune |
val: u7 |
/dx1/op5_on |
val: u7 |
/dx1/op6_coarse |
val: u7 |
/dx1/op6_fine |
val: u7 |
/dx1/op6_detune |
val: u7 |
/dx1/op6_on |
val: u7 |
/dx1/op1_env |
val: u7 |
/dx1/op1_l1 |
val: u7 |
/dx1/op1_l2 |
val: u7 |
/dx1/op1_l3 |
val: u7 |
/dx1/op1_l4 |
val: u7 |
/dx1/op2_env |
val: u7 |
/dx1/op2_l1 |
val: u7 |
/dx1/op2_l2 |
val: u7 |
/dx1/op2_l3 |
val: u7 |
/dx1/op2_l4 |
val: u7 |
/dx1/op3_env |
val: u7 |
/dx1/op3_l1 |
val: u7 |
/dx1/op3_l2 |
val: u7 |
/dx1/op3_l3 |
val: u7 |
/dx1/op3_l4 |
val: u7 |
/dx1/op4_env |
val: u7 |
/dx1/op4_l1 |
val: u7 |
/dx1/op4_l2 |
val: u7 |
/dx1/op4_l3 |
val: u7 |
/dx1/op4_l4 |
val: u7 |
/dx1/op5_env |
val: u7 |
/dx1/op5_l1 |
val: u7 |
/dx1/op5_l2 |
val: u7 |
/dx1/op5_l3 |
val: u7 |
/dx1/op5_l4 |
val: u7 |
/dx1/op6_env |
val: u7 |
/dx1/op6_l1 |
val: u7 |
/dx1/op6_l2 |
val: u7 |
/dx1/op6_l3 |
val: u7 |
/dx1/op6_l4 |
val: u7 |
/dx1/pitch_mod |
val: u7 |
/dx1/lfo_wave |
val: u7 |
/dx1/lfo_sync |
val: u7 |
/dx1/p_mod_sens |
val: u7 |
/dx1/peg_r1 |
val: u7 |
/dx1/peg_r2 |
val: u7 |
/dx1/peg_r3 |
val: u7 |
/dx1/peg_r4 |
val: u7 |
/dx1/peg_l1 |
val: u7 |
/dx1/peg_l2 |
val: u7 |
/dx1/peg_l3 |
val: u7 |
/dx1/peg_l4 |
val: u7 |
/dx1/op1_bp |
val: u7 |
/dx1/op1_l_depth |
val: u7 |
/dx1/op1_r_depth |
val: u7 |
/dx1/op1_l_curve |
val: u7 |
/dx1/op1_r_curve |
val: u7 |
/dx1/op1_rate_sc |
val: u7 |
/dx1/op2_bp |
val: u7 |
/dx1/op2_l_depth |
val: u7 |
/dx1/op2_r_depth |
val: u7 |
/dx1/op2_l_curve |
val: u7 |
/dx1/op2_r_curve |
val: u7 |
/dx1/op2_rate_sc |
val: u7 |
/dx1/op3_bp |
val: u7 |
/dx1/op3_l_depth |
val: u7 |
/dx1/op3_r_depth |
val: u7 |
/dx1/op3_l_curve |
val: u7 |
/dx1/op3_r_curve |
val: u7 |
/dx1/op3_rate_sc |
val: u7 |
Performance MIDI¶
Notes, pitch bend and any CC are also available: /dx1/note/on <note> <velocity>, /dx1/cc/<number> <value>, /dx1/pitchbend <0-16383>, /dx1/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.