Skip to content

Roland D-50 V1 w/Patch select: MIDI CC, NRPN and OSC map

The Roland D-50 V1 w/Patch select as named OSC addresses — 2 CC, 116 SysEx commands — ready to use from Claude (MCP), SuperCollider, Sonic Pi, TouchDesigner or any OSC app via osc-bridge.

Device Roland D-50 V1 w/Patch select
Vendor Roland
OSC prefix /d_50_v1_w_patch_select
Source 🎛️ Derived from an Electra One community preset
Revision per Electra preset
Upstream electra-preset
Driver file devices/roland/d_50_v1_w_patch_select.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_v1_w_patch_select.json --out-port <N> --in-port <M>

Then send OSC to 127.0.0.1:7777, for example:

osc-bridge osc-send /d_50_v1_w_patch_select/portamento 63

From Claude or any MCP client, the osc-bridge mcp server exposes this driver as d_50_v1_w_patch_select: ask “what can the Roland D-50 V1 w/Patch select 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_v1_w_patch_select/portamento 65 0–127 continuous
/d_50_v1_w_patch_select/hold 64 0–127 continuous

SysEx commands (116)

OSC address Arguments
/d_50_v1_w_patch_select/key_mode val: u7
/d_50_v1_w_patch_select/total_volume val: u7
/d_50_v1_w_patch_select/l_u val: u7
/d_50_v1_w_patch_select/output_mode val: u7
/d_50_v1_w_patch_select/rev_type val: u7
/d_50_v1_w_patch_select/dry_wet val: u7
/d_50_v1_w_patch_select/split_point val: u7
/d_50_v1_w_patch_select/chase_mode val: u7
/d_50_v1_w_patch_select/chase_level val: u7
/d_50_v1_w_patch_select/chase_time val: u7
/d_50_v1_w_patch_select/sepmode_rec_ch val: u7
/d_50_v1_w_patch_select/l_key val: u7
/d_50_v1_w_patch_select/structure val: u7
/d_50_v1_w_patch_select/part_balance val: u7
/d_50_v1_w_patch_select/u_key val: u7
/d_50_v1_w_patch_select/l_fine_tune val: u7
/d_50_v1_w_patch_select/l1_on val: u7
/d_50_v1_w_patch_select/l2_on val: u7
/d_50_v1_w_patch_select/u1_on val: u7
/d_50_v1_w_patch_select/u2_on val: u7
/d_50_v1_w_patch_select/u_fine_tune val: u7
/d_50_v1_w_patch_select/p_bend_range val: u7
/d_50_v1_w_patch_select/hold_mode val: u7
/d_50_v1_w_patch_select/at_p_bend val: u7
/d_50_v1_w_patch_select/p_destination val: u7
/d_50_v1_w_patch_select/porta_time val: u7
/d_50_v1_w_patch_select/lfo_1_depth val: u7
/d_50_v1_w_patch_select/mod_lever val: u7
/d_50_v1_w_patch_select/aftertouch val: u7
/d_50_v1_w_patch_select/low_eq_freq val: u7
/d_50_v1_w_patch_select/low_eq_gain val: u7
/d_50_v1_w_patch_select/high_eq_freq val: u7
/d_50_v1_w_patch_select/high_eq_q val: u7
/d_50_v1_w_patch_select/high_eq_gain val: u7
/d_50_v1_w_patch_select/chorus_type val: u7
/d_50_v1_w_patch_select/chorus_rate val: u7
/d_50_v1_w_patch_select/chorus_depth val: u7
/d_50_v1_w_patch_select/chorus_balance val: u7
/d_50_v1_w_patch_select/pitch_attack val: u7
/d_50_v1_w_patch_select/pitch_t1_2 val: u7
/d_50_v1_w_patch_select/pitch_t2_sus val: u7
/d_50_v1_w_patch_select/pitch_release val: u7
/d_50_v1_w_patch_select/key_f_time val: u7
/d_50_v1_w_patch_select/pitch_start_l val: u7
/d_50_v1_w_patch_select/pitch_l1 val: u7
/d_50_v1_w_patch_select/pitch_l2 val: u7
/d_50_v1_w_patch_select/pitch_sustain val: u7
/d_50_v1_w_patch_select/pitch_end_l val: u7
/d_50_v1_w_patch_select/velo_range val: u7
/d_50_v1_w_patch_select/wg_pitch_coarse val: u7
/d_50_v1_w_patch_select/wg_pitch_fine val: u7
/d_50_v1_w_patch_select/wg_pitch_1_kf val: u7
/d_50_v1_w_patch_select/lfo_mode val: u7
/d_50_v1_w_patch_select/pitch_env_mode val: u7
/d_50_v1_w_patch_select/pitch_bend_mode val: u7
/d_50_v1_w_patch_select/synth_waveform val: u7
/d_50_v1_w_patch_select/pulse_width val: u7
/d_50_v1_w_patch_select/pwm_velo val: u7
/d_50_v1_w_patch_select/pwm_at val: u7
/d_50_v1_w_patch_select/lfo_depth val: u7
/d_50_v1_w_patch_select/pwm_lfo_sel val: u7
/d_50_v1_w_patch_select/pcm_waveform val: u7
/d_50_v1_w_patch_select/tvf_cutoff_freq val: u7
/d_50_v1_w_patch_select/tvf_resonance val: u7
/d_50_v1_w_patch_select/kf_gradient val: u7
/d_50_v1_w_patch_select/kf_bias_point val: u7
/d_50_v1_w_patch_select/kf_bias_level val: u7
/d_50_v1_w_patch_select/tvf_env_depth val: u7
/d_50_v1_w_patch_select/tvf_env_velo val: u7
/d_50_v1_w_patch_select/tvf_lfo_select val: u7
/d_50_v1_w_patch_select/tvf_lfo_depth val: u7
/d_50_v1_w_patch_select/tvf_at_range val: u7
/d_50_v1_w_patch_select/tvf_attack val: u7
/d_50_v1_w_patch_select/tvf_t1_2 val: u7
/d_50_v1_w_patch_select/tvf_t2_3 val: u7
/d_50_v1_w_patch_select/tvf_t3_sus val: u7
/d_50_v1_w_patch_select/tvf_release val: u7
/d_50_v1_w_patch_select/tvf_key_f_time val: u7
/d_50_v1_w_patch_select/tvf_l1 val: u7
/d_50_v1_w_patch_select/tvf_l2 val: u7
/d_50_v1_w_patch_select/tvf_l3 val: u7
/d_50_v1_w_patch_select/tvf_sus_l val: u7
/d_50_v1_w_patch_select/tvf_end_l val: u7
/d_50_v1_w_patch_select/key_f_depth val: u7
/d_50_v1_w_patch_select/tva_level val: u7
/d_50_v1_w_patch_select/tva_velo val: u7
/d_50_v1_w_patch_select/tva_bias_point val: u7
/d_50_v1_w_patch_select/tva_bias_level val: u7
/d_50_v1_w_patch_select/velo_attack val: u7
/d_50_v1_w_patch_select/tva_lfo_select val: u7
/d_50_v1_w_patch_select/tva_lfo_depth val: u7
/d_50_v1_w_patch_select/tva_at_range val: u7
/d_50_v1_w_patch_select/tva_attack val: u7
/d_50_v1_w_patch_select/tva_t1_2 val: u7
/d_50_v1_w_patch_select/tva_t2_3 val: u7
/d_50_v1_w_patch_select/tva_t3_sus val: u7
/d_50_v1_w_patch_select/tva_release val: u7
/d_50_v1_w_patch_select/tva_key_f_time val: u7
/d_50_v1_w_patch_select/tva_l1 val: u7
/d_50_v1_w_patch_select/tva_l2 val: u7
/d_50_v1_w_patch_select/tva_l3 val: u7
/d_50_v1_w_patch_select/tva_sustain val: u7
/d_50_v1_w_patch_select/tva_end_l val: u7
/d_50_v1_w_patch_select/wg_pitch_2_kf val: u7
/d_50_v1_w_patch_select/lfo_1_wf val: u7
/d_50_v1_w_patch_select/lfo_1_rate val: u7
/d_50_v1_w_patch_select/lfo_2_wf val: u7
/d_50_v1_w_patch_select/lfo_2_rate val: u7
/d_50_v1_w_patch_select/lfo_3_wf val: u7
/d_50_v1_w_patch_select/lfo_3_rate val: u7
/d_50_v1_w_patch_select/lfo_1_sync val: u7
/d_50_v1_w_patch_select/lfo_1_delay val: u7
/d_50_v1_w_patch_select/lfo_2_sync val: u7
/d_50_v1_w_patch_select/lfo_2_delay val: u7
/d_50_v1_w_patch_select/lfo_3_sync val: u7
/d_50_v1_w_patch_select/lfo_3_delay val: u7

Performance MIDI

Notes, pitch bend and any CC are also available: /d_50_v1_w_patch_select/note/on <note> <velocity>, /d_50_v1_w_patch_select/cc/<number> <value>, /d_50_v1_w_patch_select/pitchbend <0-16383>, /d_50_v1_w_patch_select/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.