Roland d-50: MIDI CC, NRPN and OSC map¶
The Roland d-50 as named OSC addresses — 2 CC, 100 SysEx commands — ready to use from Claude (MCP), SuperCollider, Sonic Pi, TouchDesigner or any OSC app via osc-bridge.
| Device | Roland d-50 |
|---|---|
| Vendor | Roland |
| OSC prefix | /d_50 |
| Source | 🎛️ Derived from an Electra One community preset |
| Revision | per Electra preset |
| Upstream | electra-preset |
| Driver file | devices/roland/d_50.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/roland/d_50.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 d_50: ask “what can the Roland d-50 do?” and it reads this map with list_routes. See the MCP guide.
MIDI CC and NRPN parameters (2)¶
| OSC address | CC | NRPN (MSB/LSB) | Range | Nature | Section |
|---|---|---|---|---|---|
/d_50/portamento |
65 | 0–127 | continuous | ||
/d_50/hold |
64 | 0–127 | continuous |
SysEx commands (100)¶
| OSC address | Arguments |
|---|---|
/d_50/key_mode |
val: u7 |
/d_50/tone_balance |
val: u7 |
/d_50/split_point |
val: u7 |
/d_50/output_mode |
val: u7 |
/d_50/total_volume |
val: u7 |
/d_50/l_key |
val: u7 |
/d_50/l_fine_tune |
val: u7 |
/d_50/part_balance |
val: u7 |
/d_50/u_key |
val: u7 |
/d_50/u_fine_tune |
val: u7 |
/d_50/p_bend_range |
val: u7 |
/d_50/hold_mode |
val: u7 |
/d_50/at_p_bend |
val: u7 |
/d_50/p_destination |
val: u7 |
/d_50/porta_time |
val: u7 |
/d_50/l1_on |
val: u7 |
/d_50/l2_on |
val: u7 |
/d_50/u1_on |
val: u7 |
/d_50/u2_on |
val: u7 |
/d_50/chase_mode |
val: u7 |
/d_50/chase_level |
val: u7 |
/d_50/chase_time |
val: u7 |
/d_50/structure |
val: u7 |
/d_50/lfo_1_depth |
val: u7 |
/d_50/mod_lever |
val: u7 |
/d_50/aftertouch |
val: u7 |
/d_50/low_eq_freq |
val: u7 |
/d_50/low_eq_gain |
val: u7 |
/d_50/high_eq_freq |
val: u7 |
/d_50/high_eq_q |
val: u7 |
/d_50/high_eq_gain |
val: u7 |
/d_50/chorus_type |
val: u7 |
/d_50/chorus_rate |
val: u7 |
/d_50/chorus_depth |
val: u7 |
/d_50/chorus_balance |
val: u7 |
/d_50/pitch_attack |
val: u7 |
/d_50/pitch_t1_2 |
val: u7 |
/d_50/pitch_t2_sus |
val: u7 |
/d_50/pitch_release |
val: u7 |
/d_50/key_f_time |
val: u7 |
/d_50/pitch_start_l |
val: u7 |
/d_50/pitch_l1 |
val: u7 |
/d_50/pitch_l2 |
val: u7 |
/d_50/pitch_sustain |
val: u7 |
/d_50/pitch_end_l |
val: u7 |
/d_50/velo_range |
val: u7 |
/d_50/pitch_coarse |
val: u7 |
/d_50/pitch_fine |
val: u7 |
/d_50/key_follow |
val: u7 |
/d_50/lfo_mode |
val: u7 |
/d_50/pitch_env_mode |
val: u7 |
/d_50/pitch_bend_mode |
val: u7 |
/d_50/waveform |
val: u7 |
/d_50/pulse_width |
val: u7 |
/d_50/pwm_velo |
val: u7 |
/d_50/pwm_at |
val: u7 |
/d_50/lfo_depth |
val: u7 |
/d_50/pwm_lfo_sel |
val: u7 |
/d_50/cutoff_freq |
val: u7 |
/d_50/resonance |
val: u7 |
/d_50/kf_bias_point |
val: u7 |
/d_50/kf_bias_level |
val: u7 |
/d_50/env_depth |
val: u7 |
/d_50/velocity_range |
val: u7 |
/d_50/tvf_lfo_select |
val: u7 |
/d_50/tvf_lfo_depth |
val: u7 |
/d_50/tvf_at_range |
val: u7 |
/d_50/attack |
val: u7 |
/d_50/time_1_2 |
val: u7 |
/d_50/time_2_3 |
val: u7 |
/d_50/time_3_sus |
val: u7 |
/d_50/release |
val: u7 |
/d_50/tvf_key_f_time |
val: u7 |
/d_50/level_1 |
val: u7 |
/d_50/level_2 |
val: u7 |
/d_50/level_3 |
val: u7 |
/d_50/sustain |
val: u7 |
/d_50/end_level |
val: u7 |
/d_50/key_f_depth |
val: u7 |
/d_50/tva_level |
val: u7 |
/d_50/velocity |
val: u7 |
/d_50/velo_attack |
val: u7 |
/d_50/tva_lfo_select |
val: u7 |
/d_50/tva_lfo_depth |
val: u7 |
/d_50/tva_at_range |
val: u7 |
/d_50/tva_key_f_time |
val: u7 |
/d_50/lfo_1_wf |
val: u7 |
/d_50/lfo_1_rate |
val: u7 |
/d_50/lfo_2_wf |
val: u7 |
/d_50/lfo_2_rate |
val: u7 |
/d_50/lfo_3_wf |
val: u7 |
/d_50/lfo_3_rate |
val: u7 |
/d_50/lfo_1_sync |
val: u7 |
/d_50/lfo_1_delay |
val: u7 |
/d_50/lfo_2_sync |
val: u7 |
/d_50/lfo_2_delay |
val: u7 |
/d_50/lfo_3_sync |
val: u7 |
/d_50/lfo_3_delay |
val: u7 |
/d_50/rev_type |
val: u7 |
/d_50/dry_wet |
val: u7 |
Performance MIDI¶
Notes, pitch bend and any CC are also available: /d_50/note/on <note> <velocity>, /d_50/cc/<number> <value>, /d_50/pitchbend <0-16383>, /d_50/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.