discoDSP Discovery Pro: MIDI CC, NRPN and OSC map¶
The discoDSP Discovery Pro as named OSC addresses — 112 CC — ready to use from Claude (MCP), SuperCollider, Sonic Pi, TouchDesigner or any OSC app via osc-bridge.
| Device | discoDSP Discovery Pro |
|---|---|
| Vendor | discoDSP |
| OSC prefix | /discovery_pro |
| Source | 📦 Derived from MIDI Guide (community CC/NRPN data) |
| Firmware | unknown |
| Revision | per pencilresearch canonical CSV |
| Upstream | pencilresearch |
| Data licence | CC-BY-SA-4.0 — MIDI Guide (https://midi.guide) by Pencil Research and contributors |
| Driver file | devices/discodsp/discovery_pro.pencilresearch.fw-unknown.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/discodsp/discovery_pro.pencilresearch.fw-unknown.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 discovery_pro: ask “what can the discoDSP Discovery Pro do?” and it reads this map with list_routes. See the MCP guide.
MIDI CC and NRPN parameters (112)¶
| OSC address | CC | NRPN (MSB/LSB) | Range | Nature | Section |
|---|---|---|---|---|---|
/discovery_pro/global/mod_wheel |
1 | 0–127 | continuous | Global | |
/discovery_pro/global/portamento |
5 | 0–127 | continuous | Global | |
/discovery_pro/amp/gain |
7 | 0–127 | continuous | Amp | |
/discovery_pro/oscillator/osc_mix |
8 | 0–127 | continuous | Oscillator | |
/discovery_pro/global/master_volume |
12 | 0–127 | continuous | Global | |
/discovery_pro/global/morph_assign |
14 | 0–127 | continuous | Global | |
/discovery_pro/global/play_mode |
15 | 0–2 | continuous | Global | |
/discovery_pro/global/unison |
16 | 0–127 | continuous | Global | |
/discovery_pro/global/octave_shift |
17 | 0–127 | continuous | Global | |
/discovery_pro/global/wheel_mode |
18 | 0–5 | continuous | Global | |
/discovery_pro/lfo_1/lfo1_rate |
19 | 0–127 | continuous | LFO 1 | |
/discovery_pro/lfo_1/lfo1_waveform |
20 | 0–9 | continuous | LFO 1 | |
/discovery_pro/lfo_1/lfo1_destination |
21 | 0–4 | continuous | LFO 1 | |
/discovery_pro/lfo_1/lfo1_amount |
22 | 0–127 | continuous | LFO 1 | |
/discovery_pro/lfo_2/lfo2_rate |
23 | 0–127 | continuous | LFO 2 | |
/discovery_pro/global/layer_apply_midi_cc_1 |
24 | 0–9 | continuous | Global | |
/discovery_pro/lfo_2/lfo2_amount |
25 | 0–127 | continuous | LFO 2 | |
/discovery_pro/mod_envelope/mod_env_attack |
26 | 0–127 | continuous | Mod Envelope | |
/discovery_pro/mod_envelope/mod_env_decay |
27 | 0–127 | continuous | Mod Envelope | |
/discovery_pro/mod_envelope/mod_env_destination |
28 | 0–4 | continuous | Mod Envelope | |
/discovery_pro/mod_envelope/mod_env_amount |
29 | 0–127 | continuous | Mod Envelope | |
/discovery_pro/oscillator/osc_1_waveform |
30 | 0–6 | continuous | Oscillator | |
/discovery_pro/oscillator/osc_2_waveform |
31 | 0–7 | continuous | Oscillator | |
/discovery_pro/oscillator/osc_2_finetune |
33 | 0–127 | continuous | Oscillator | |
/discovery_pro/oscillator/osc_2_kbd_track |
34 | 0–127 | continuous | Oscillator | |
/discovery_pro/oscillator/osc_mode |
35 | 0–3 | continuous | Oscillator | |
/discovery_pro/amp_envelope/amp_decay |
36 | 0–127 | continuous | Amp Envelope | |
/discovery_pro/amp_envelope/amp_sustain |
37 | 0–127 | continuous | Amp Envelope | |
/discovery_pro/filter_envelope/filter_decay |
39 | 0–127 | continuous | Filter Envelope | |
/discovery_pro/filter_envelope/filter_sustain |
40 | 0–127 | continuous | Filter Envelope | |
/discovery_pro/filter_envelope/filter_release |
41 | 0–127 | continuous | Filter Envelope | |
/discovery_pro/filter/resonance |
42 | 0–127 | continuous | Filter | |
/discovery_pro/filter/env_amount |
43 | 0–127 | continuous | Filter | |
/discovery_pro/filter/type |
44 | 0–15 | continuous | Filter | |
/discovery_pro/filter/velocity |
45 | 0–127 | continuous | Filter | |
/discovery_pro/filter/kbd_track |
46 | 0–3 | continuous | Filter | |
/discovery_pro/wave/layer_apply_midi_cc_2_wave_set |
47 | 0–127 | continuous | Wave | |
/discovery_pro/wave/layer_apply_midi_cc_3_wave_bank |
48 | 0–127 | continuous | Wave | |
/discovery_pro/oscillator/osc_enable |
49 | 0–2 | continuous | Oscillator | |
/discovery_pro/global/unison_mode_alt |
50 | 0–7 | continuous | Global | |
/discovery_pro/global/portamento_auto |
65 | 0–127 | continuous | Global | |
/discovery_pro/oscillator/osc_1_fm_amount |
70 | 0–127 | continuous | Oscillator | |
/discovery_pro/global/click_style_midi_cc |
71 | 0–127 | continuous | Global | |
/discovery_pro/amp_envelope/amp_release |
72 | 0–127 | continuous | Amp Envelope | |
/discovery_pro/amp_envelope/amp_attack |
73 | 0–127 | continuous | Amp Envelope | |
/discovery_pro/filter/frequency |
74 | 0–127 | continuous | Filter | |
/discovery_pro/oscillator/osc_2_semitones |
78 | 0–127 | continuous | Oscillator | |
/discovery_pro/oscillator/osc_pulse_width |
79 | 0–127 | continuous | Oscillator | |
/discovery_pro/filter/distortion |
80 | 0–4 | continuous | Filter | |
/discovery_pro/delay/level |
81 | 0–127 | continuous | Delay | |
/discovery_pro/delay/left_time |
82 | 0–127 | continuous | Delay | |
/discovery_pro/delay/right_time |
83 | 0–127 | continuous | Delay | |
/discovery_pro/delay/feedback_left |
84 | 0–127 | continuous | Delay | |
/discovery_pro/delay/feedback_right |
85 | 0–127 | continuous | Delay | |
/discovery_pro/pan/position |
86 | 0–127 | continuous | Pan | |
/discovery_pro/pan/mod_rate |
87 | 0–127 | continuous | Pan | |
/discovery_pro/pan/mod_amount |
88 | 0–127 | continuous | Pan | |
/discovery_pro/filter_envelope/filter_attack |
89 | 0–127 | continuous | Filter Envelope | |
/discovery_pro/lfo_1/lfo1_sync |
90 | 0–127 | continuous | LFO 1 | |
/discovery_pro/lfo_2/lfo2_sync |
91 | 0–127 | continuous | LFO 2 | |
/discovery_pro/pan/mod_sync |
92 | 0–127 | continuous | Pan | |
/discovery_pro/amp/limiter |
93 | 0–127 | continuous | Amp | |
/discovery_pro/filter/soft_filter |
94 | 0–127 | continuous | Filter | |
/discovery_pro/delay/cross |
95 | 0–127 | continuous | Delay | |
/discovery_pro/delay/sync |
102 | 0–127 | continuous | Delay | |
/discovery_pro/amp/shape_1 |
103 | 0–127 | continuous | Amp | |
/discovery_pro/amp/shape_2 |
104 | 0–127 | continuous | Amp | |
/discovery_pro/amp/shape_3 |
105 | 0–127 | continuous | Amp | |
/discovery_pro/global/midi_to_velocity_swap |
106 | 0–127 | continuous | Global | |
/discovery_pro/gate/level |
107 | 0–127 | continuous | Gate | |
/discovery_pro/mod/level |
108 | 0–127 | continuous | Mod | |
/discovery_pro/mod/destination |
109 | 0–3 | continuous | Mod | |
/discovery_pro/wave/level |
110 | 0–127 | continuous | Wave | |
/discovery_pro/layer/a_active |
111 | 0–127 | continuous | Layer | |
/discovery_pro/layer/b_active |
112 | 0–127 | continuous | Layer | |
/discovery_pro/layer/c_active |
113 | 0–127 | continuous | Layer | |
/discovery_pro/layer/d_active |
114 | 0–127 | continuous | Layer | |
/discovery_pro/wave/semitones |
115 | 0–127 | continuous | Wave | |
/discovery_pro/wave/finetune |
116 | 0–127 | continuous | Wave | |
/discovery_pro/wave/kbd_track |
117 | 0–127 | continuous | Wave | |
/discovery_pro/wave/mode |
118 | 0–127 | continuous | Wave | |
/discovery_pro/pad/mode |
119 | 0–127 | continuous | Pad | |
/discovery_pro/button_mode/assign_morph_button |
14 | 0–127 | continuous | Button Mode | |
/discovery_pro/button_mode/lfo1_waveform_button |
15 | 0–127 | continuous | Button Mode | |
/discovery_pro/button_mode/lfo1_destination_button |
16 | 0–127 | continuous | Button Mode | |
/discovery_pro/button_mode/lfo2_arp_hold_button |
17 | 0–127 | continuous | Button Mode | |
/discovery_pro/button_mode/lfo2_arp_mode_destination_button |
18 | 0–127 | continuous | Button Mode | |
/discovery_pro/button_mode/mod_env_destination_button |
19 | 0–127 | continuous | Button Mode | |
/discovery_pro/button_mode/osc_1_waveform_button |
20 | 0–127 | continuous | Button Mode | |
/discovery_pro/button_mode/osc_2_waveform_button |
21 | 0–127 | continuous | Button Mode | |
/discovery_pro/button_mode/amp_limiter_button |
22 | 0–127 | continuous | Button Mode | |
/discovery_pro/button_mode/osc_2_kbd_track_button |
23 | 0–127 | continuous | Button Mode | |
/discovery_pro/button_mode/osc_mode_button |
24 | 0–127 | continuous | Button Mode | |
/discovery_pro/button_mode/filter_type_prev_button |
25 | 0–127 | continuous | Button Mode | |
/discovery_pro/button_mode/filter_type_next_button |
26 | 0–127 | continuous | Button Mode | |
/discovery_pro/button_mode/filter_velocity_button |
27 | 0–127 | continuous | Button Mode | |
/discovery_pro/button_mode/filter_kbd_track_button |
28 | 0–127 | continuous | Button Mode | |
/discovery_pro/button_mode/filter_distortion_button |
29 | 0–127 | continuous | Button Mode | |
/discovery_pro/button_mode/wave_kbd_track_button |
30 | 0–127 | continuous | Button Mode | |
/discovery_pro/button_mode/octave_down_button |
31 | 0–127 | continuous | Button Mode | |
/discovery_pro/button_mode/octave_up_button |
32 | 0–127 | continuous | Button Mode | |
/discovery_pro/button_mode/wheel_mode_button |
33 | 0–127 | continuous | Button Mode | |
/discovery_pro/button_mode/program_up_button |
34 | 0–127 | continuous | Button Mode | |
/discovery_pro/button_mode/program_down_button |
35 | 0–127 | continuous | Button Mode | |
/discovery_pro/button_mode/play_mode_button |
36 | 0–127 | continuous | Button Mode | |
/discovery_pro/button_mode/portamento_auto_button |
37 | 0–127 | continuous | Button Mode | |
/discovery_pro/button_mode/layer_a_select_button |
40 | 0–127 | continuous | Button Mode | |
/discovery_pro/button_mode/layer_b_select_button |
41 | 0–127 | continuous | Button Mode | |
/discovery_pro/button_mode/layer_c_select_button |
42 | 0–127 | continuous | Button Mode | |
/discovery_pro/button_mode/layer_d_select_button |
43 | 0–127 | continuous | Button Mode | |
/discovery_pro/button_mode/unison_button |
44 | 0–127 | continuous | Button Mode | |
/discovery_pro/button_mode/phaser_chorus_button |
45 | 0–127 | continuous | Button Mode |
Performance MIDI¶
Notes, pitch bend and any CC are also available: /discovery_pro/note/on <note> <velocity>, /discovery_pro/cc/<number> <value>, /discovery_pro/pitchbend <0-16383>, /discovery_pro/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.