Skip to content

discoDSP Corona MIDI CC chart, NRPN and OSC map

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

Device discoDSP Corona
Vendor discoDSP
OSC prefix /corona
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/corona.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/corona.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 /corona/global/portamento 63

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

MIDI CC and NRPN parameters (88)

OSC address CC NRPN (MSB/LSB) Range Nature Section
/corona/global/portamento 5 0–127 continuous Global
/corona/global/master 7 0–127 continuous Global
/corona/delay/feedback 9 0–127 continuous Delay
/corona/delay/mix 12 0–127 continuous Delay
/corona/chorus/mix 13 0–127 continuous Chorus
/corona/oscillator/finetune 14 0–100 continuous Oscillator
/corona/vibrato/vibfreq 15 0–127 continuous Vibrato
/corona/volume_envelope/attack 16 0–127 continuous Volume Envelope
/corona/volume_envelope/decay 17 0–127 continuous Volume Envelope
/corona/volume_envelope/sustain 18 0–127 continuous Volume Envelope
/corona/volume_envelope/release 19 0–127 continuous Volume Envelope
/corona/filter_1/drive 21 0–127 continuous Filter 1
/corona/unison/spread_cents 24 0–100 continuous Unison
/corona/unison/panning_spread 25 0–100 continuous Unison
/corona/filter_1_envelope/filter_attack 26 0–127 continuous Filter 1 Envelope
/corona/filter_1_envelope/filter_decay 27 0–127 continuous Filter 1 Envelope
/corona/filter_1_envelope/filter_sustain 28 0–127 continuous Filter 1 Envelope
/corona/filter_1_envelope/filter_release 29 0–127 continuous Filter 1 Envelope
/corona/filter_1_lfo/f_lfo_delay 30 0–127 continuous Filter 1 LFO
/corona/filter_1_lfo/f_lfo_smooth 31 0–127 continuous Filter 1 LFO
/corona/filter_1_lfo/f_lfo_mode 33 0–11 continuous Filter 1 LFO
/corona/oscillator/semitones 34 0–127 continuous Oscillator
/corona/global/finetune 35 0–100 continuous Global
/corona/oscillator/w3_level 36 0–127 continuous Oscillator
/corona/oscillator/phase 37 0–127 continuous Oscillator
/corona/vibrato/vibdepth 39 0–127 continuous Vibrato
/corona/oscillator/w3_finetune 40 0–100 continuous Oscillator
/corona/oscillator/level 41 0–127 continuous Oscillator
/corona/vibrato/vibdelay 42 0–127 continuous Vibrato
/corona/global/transpose 43 0–127 continuous Global
/corona/oscillator/w3_semitones 44 0–127 continuous Oscillator
/corona/mod_envelope/m_env_phase 45 0–127 continuous Mod Envelope
/corona/mod_envelope/m_env_osc_2 46 0–127 continuous Mod Envelope
/corona/mod_lfo/m_lfo_delay 47 0–127 continuous Mod LFO
/corona/mod_lfo/m_lfo_freq 48 0–127 continuous Mod LFO
/corona/mod_lfo/m_lfo_decay 49 0–127 continuous Mod LFO
/corona/mod_lfo/m_lfo_smooth 50 0–127 continuous Mod LFO
/corona/mod_lfo/m_lfo_waveform 51 0–11 continuous Mod LFO
/corona/mod_lfo/m_lfo_mode 52 0–11 continuous Mod LFO
/corona/filter_1_lfo/f_lfo_waveform 53 0–11 continuous Filter 1 LFO
/corona/mod_lfo/m_lfo_phase 54 0–127 continuous Mod LFO
/corona/mod_lfo/m_lfo_osc_2 55 0–127 continuous Mod LFO
/corona/filter_2_lfo/f2_lfo_freq 56 0–127 continuous Filter 2 LFO
/corona/filter_2_lfo/f2_lfo_depth 57 0–127 continuous Filter 2 LFO
/corona/filter_2_lfo/f2_lfo_delay 58 0–127 continuous Filter 2 LFO
/corona/filter_2_lfo/f2_lfo_smooth 59 0–127 continuous Filter 2 LFO
/corona/chorus/frequency 60 0–127 continuous Chorus
/corona/chorus/depth 61 0–127 continuous Chorus
/corona/distortion/mix 62 0–127 continuous Distortion
/corona/distortion/amount 63 0–127 continuous Distortion
/corona/distortion/tone 65 0–127 continuous Distortion
/corona/distortion/type 66 0–8 continuous Distortion
/corona/filter_2_lfo/f2_lfo_waveform 67 0–11 continuous Filter 2 LFO
/corona/arpeggiator/a_length 68 0–127 continuous Arpeggiator
/corona/arpeggiator/a_swing 69 0–127 continuous Arpeggiator
/corona/arpeggiator/a_vel_mix 70 0–127 continuous Arpeggiator
/corona/filter_1/resonance 71 0–127 continuous Filter 1
/corona/filter_2_lfo/f2_lfo_mode 72 0–11 continuous Filter 2 LFO
/corona/filter_1/cutoff 74 0–127 continuous Filter 1
/corona/filter_1_lfo/f_lfo_freq 76 0–127 continuous Filter 1 LFO
/corona/mod_envelope/m_attack 80 0–127 continuous Mod Envelope
/corona/mod_envelope/m_decay 81 0–127 continuous Mod Envelope
/corona/mod_envelope/m_sustain 82 0–127 continuous Mod Envelope
/corona/mod_envelope/m_release 83 0–127 continuous Mod Envelope
/corona/filter_2/kbd_track_2 84 0–127 continuous Filter 2
/corona/filter_1/kbd_track 85 0–127 continuous Filter 1
/corona/filter_2/resonance_2 86 0–127 continuous Filter 2
/corona/filter_2/drive_2 87 0–127 continuous Filter 2
/corona/filter_2/cutoff_2 88 0–127 continuous Filter 2
/corona/filter_1/filter_envmod 89 0–127 continuous Filter 1
/corona/filter_1_lfo/f_lfo_depth 90 0–127 continuous Filter 1 LFO
/corona/filter_2/filter_envmod_2 93 0–127 continuous Filter 2
/corona/filter_2_envelope/filter_attack_2 94 0–127 continuous Filter 2 Envelope
/corona/filter_2_envelope/filter_sustain_2 95 0–127 continuous Filter 2 Envelope
/corona/filter_2_envelope/filter_release_2 102 0–127 continuous Filter 2 Envelope
/corona/filter_2_envelope/filter_decay_2 103 0–127 continuous Filter 2 Envelope
/corona/limiter/limit_look_ahead 104 0–127 continuous Limiter
/corona/limiter/limit_release 105 0–127 continuous Limiter
/corona/mod_matrix/m1_amount 20 0–127 continuous Mod Matrix
/corona/mod_matrix/m2_amount 73 0–127 continuous Mod Matrix
/corona/mod_matrix/m3_amount 75 0–127 continuous Mod Matrix
/corona/mod_matrix/m4_amount 77 0–127 continuous Mod Matrix
/corona/mod_matrix/m5_amount 78 0–127 continuous Mod Matrix
/corona/mod_matrix/m6_amount 79 0–127 continuous Mod Matrix
/corona/mod_matrix/m7_amount 91 0–127 continuous Mod Matrix
/corona/mod_matrix/m8_amount 92 0–127 continuous Mod Matrix
/corona/delay/left 111 0–127 continuous Delay
/corona/delay/right 112 0–127 continuous Delay

Performance MIDI

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

CC 74 (0–127), named /corona/filter_1/cutoff in SynthHub's map.

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

SynthHub's map of the discoDSP Corona lists 88 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 Corona?

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