Skip to content

discoDSP Discovery: MIDI CC, NRPN and OSC map

The discoDSP Discovery as named OSC addresses — 55 CC — ready to use from Claude (MCP), SuperCollider, Sonic Pi, TouchDesigner or any OSC app via osc-bridge.

Device discoDSP Discovery
Vendor discoDSP
OSC prefix /discovery
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.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.pencilresearch.fw-unknown.json --out-port <N> --in-port <M>

Then send OSC to 127.0.0.1:7777, for example:

osc-bridge osc-send /discovery/global/mod_wheel 63

From Claude or any MCP client, the osc-bridge mcp server exposes this driver as discovery: ask “what can the discoDSP Discovery do?” and it reads this map with list_routes. See the MCP guide.

MIDI CC and NRPN parameters (55)

OSC address CC NRPN (MSB/LSB) Range Nature Section
/discovery/global/mod_wheel 1 0–127 continuous Global
/discovery/global/portamento 5 0–127 continuous Global
/discovery/amp/gain 7 0–127 continuous Amp
/discovery/oscillator/osc_mix 8 0–127 continuous Oscillator
/discovery/global/play_mode 15 0–2 continuous Global
/discovery/global/unison 16 0–3 continuous Global
/discovery/global/octave_shift 17 0–127 continuous Global
/discovery/global/wheel_mode 18 0–5 continuous Global
/discovery/lfo_1/lfo1_rate 19 0–127 continuous LFO 1
/discovery/lfo_1/lfo1_waveform 20 0–9 continuous LFO 1
/discovery/lfo_1/lfo1_destination 21 0–4 continuous LFO 1
/discovery/lfo_1/lfo1_amount 22 0–127 continuous LFO 1
/discovery/lfo_2/lfo2_rate 23 0–127 continuous LFO 2
/discovery/global/lfo2_arp_destination_combo 24 0–8 continuous Global
/discovery/lfo_2/lfo2_amount 25 0–127 continuous LFO 2
/discovery/mod_envelope/mod_env_attack 26 0–127 continuous Mod Envelope
/discovery/mod_envelope/mod_env_decay 27 0–127 continuous Mod Envelope
/discovery/mod_envelope/mod_env_destination 28 0–3 continuous Mod Envelope
/discovery/mod_envelope/mod_env_amount 29 0–127 continuous Mod Envelope
/discovery/oscillator/osc_1_waveform 30 0–4 continuous Oscillator
/discovery/oscillator/osc_2_waveform 31 0–4 continuous Oscillator
/discovery/oscillator/osc_2_finetune 33 0–127 continuous Oscillator
/discovery/oscillator/osc_2_kbd_track 34 0–127 continuous Oscillator
/discovery/oscillator/osc_mode 35 0–3 continuous Oscillator
/discovery/amp_envelope/amp_decay 36 0–127 continuous Amp Envelope
/discovery/amp_envelope/amp_sustain 37 0–127 continuous Amp Envelope
/discovery/filter_envelope/filter_decay 39 0–127 continuous Filter Envelope
/discovery/filter_envelope/filter_sustain 40 0–127 continuous Filter Envelope
/discovery/filter_envelope/filter_release 41 0–127 continuous Filter Envelope
/discovery/filter/resonance 42 0–127 continuous Filter
/discovery/filter/env_amount 43 0–127 continuous Filter
/discovery/filter/type 44 0–7 continuous Filter
/discovery/filter/velocity 45 0–127 continuous Filter
/discovery/filter/kbd_track 46 0–3 continuous Filter
/discovery/global/portamento_auto 65 0–127 continuous Global
/discovery/oscillator/osc_1_fm_amount 70 0–127 continuous Oscillator
/discovery/amp_envelope/amp_release 72 0–127 continuous Amp Envelope
/discovery/amp_envelope/amp_attack 73 0–127 continuous Amp Envelope
/discovery/filter/frequency 74 0–127 continuous Filter
/discovery/oscillator/osc_2_semitones 78 0–127 continuous Oscillator
/discovery/oscillator/osc_pulse_width 79 0–127 continuous Oscillator
/discovery/filter/distortion 80 0–3 continuous Filter
/discovery/delay/level 81 0–127 continuous Delay
/discovery/delay/left_time 82 0–127 continuous Delay
/discovery/delay/right_time 83 0–127 continuous Delay
/discovery/delay/feedback_left 84 0–127 continuous Delay
/discovery/delay/feedback_right 85 0–127 continuous Delay
/discovery/pan/position 86 0–127 continuous Pan
/discovery/pan/mod_rate 87 0–127 continuous Pan
/discovery/pan/mod_amount 88 0–127 continuous Pan
/discovery/filter_envelope/filter_attack 89 0–127 continuous Filter Envelope
/discovery/layer/a_active 111 0–127 continuous Layer
/discovery/layer/b_active 112 0–127 continuous Layer
/discovery/layer/c_active 113 0–127 continuous Layer
/discovery/layer/d_active 114 0–127 continuous Layer

Performance MIDI

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