Skip to content

discoDSP Discovery MIDI CC chart, NRPN and OSC map

The discoDSP Discovery MIDI implementation: 55 CC, each named, for Claude (MCP), SuperCollider or any OSC app.

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.

Frequently asked questions

Which MIDI CC controls the filter cutoff on the discoDSP Discovery?

CC 42 (0–127), named /discovery/filter/resonance in SynthHub's map.

How many parameters of the discoDSP Discovery can be controlled over MIDI?

SynthHub's map of the discoDSP Discovery lists 55 MIDI CC parameters, each with its number, range and a readable name; the full chart is on this page.

Can an AI agent like Claude control the discoDSP Discovery?

Yes: SynthHub's hosted MCP server knows the discoDSP Discovery's MIDI map, and its browser relay lets the agent send it parameter changes or load a sound, each sound change confirmed by you.