This definition has been reviewed by the manufacturer. discoDSP Discovery Pro MIDI CCs & NRPNs

MIDI implementation details for the discoDSP Discovery Pro.

Last update: April 24, 2026 • 112 parameters


Contributions welcome! You can email us your edited CSV if you don't want to use GitHub.

Global

Parameter CC Range Usage Description Orientation
Mod Wheel 1 [0–127]
0~127: No modulation to full modulation
Modulation wheel
Note: Standard MIDI mod wheel input.
0-based
Portamento 5 [0–127]
0~127: Instant to slowest glide
Portamento time
Note: Per-layer glide time.
0-based
Master Volume 12 [0–127]
0~127: Silence to full output
Global output volume
Note: Global; not per-layer.
0-based
Morph Assign 14 [0–127]
0: Off; 1-127: On
Morph assign toggle
Note: Global; sets user_morph_assign on/off.
0-based
Play Mode 15 [0–2]
0: Monophonic; 1: Legato; 2: Polyphonic
Voice play mode
Note: Per-layer; raw value stored.
0-based
Unison 16 [0–127]
0: Off; 1-127: On (4-voice unison)
Unison enable
Note: Per-layer; replaces Chorus. When MIDICCOSCRANGE config is on, threshold is 64; otherwise threshold is 1. Activates 4-voice unison.
0-based
Octave Shift 17 [0–127]
0: -2 oct; 1: -1 oct; 2: 0; 3: +1 oct; 4-127: +2 oct
Octave shift
Note: Per-layer; values above 4 clamp to 4.
Centered
Wheel Mode 18 [0–5]
0: Filter; 1: FM; 2: Osc 2; 3: LFO 1; 4: Morph; 5: Off
Mod wheel destination mode
Note: Per-layer.
0-based
Layer Apply MIDI CC 1 24 [0–9]
0: Arp Down (Hold On); 1: Arp Up (Hold On); 2: Arp Up&Down (Hold On); 3: Dest Filter (Hold Off); 4: Dest Amplitude (Hold Off); 5: Arp Random (Hold On); 6: Arp Random 2 (Hold On); 7: Dest Disabled (Hold Off); 8: Dest Osc 1+2 (Hold Off); 9: Arp Random Markov (Hold On)
Selects layer that receives following CCs / LFO2 Arp+Dest combo
Note: Per-layer; sets layer target. Value also encodes LFO 2 arp_hold + arp_mode + destination as a combined preset; channel 5 broadcasts to all active layers.
0-based
Unison Mode (alt) 50 [0–7]
0: All Off; 1: Phaser; 2: Chorus; 3: Phaser+Chorus; 4: Unison; 5: Unison+Phaser; 6: Unison+Chorus; 7: All On
Unison mode bitfield
Note: Per-layer; bitfield.
0-based
Portamento Auto 65 [0–127]
0: Off; 1-127: Auto
Portamento auto/legato mode
Note: Per-layer.
0-based
Click Style MIDI CC 71 [0–127]
0: Off (continuous mode); 1-127: On (button mode)
Toggle button-mode (click) for CCs 14~45
Note: Global. When On, CCs 14~45 act as click-style buttons (any non-zero value triggers a single click on the corresponding GUI button). When Off, those CCs operate as normal continuous parameters.
0-based
MIDI to Velocity Swap 106 [0–127]
0: Off; 1-127: On
MIDI value-to-velocity swap
Note: Per-layer.
0-based

Amp

Parameter CC Range Usage Description Orientation
Amp Gain 7 [0–127]
0~127: Silence to full output
Amplifier output gain
Note: Per-layer level.
0-based
Amp Limiter 93 [0–127]
0: Off; 1-127: On
Output limiter enable
Note: Per-layer.
0-based
Amp Shape 1 103 [0–127]
0: Bit cleared; 1-127: Bit set
Amp shape bit 0
Note: Per-layer; sets bit 0 of amp_shapes bitmask.
0-based
Amp Shape 2 104 [0–127]
0: Bit cleared; 1-127: Bit set
Amp shape bit 1
Note: Per-layer; sets bit 1 of amp_shapes bitmask.
0-based
Amp Shape 3 105 [0–127]
0: Bit cleared; 1-127: Bit set
Amp shape bit 2
Note: Per-layer; sets bit 2 of amp_shapes bitmask.
0-based

Oscillator

Parameter CC Range Usage Description Orientation
Osc Mix 8 [0–127]
0~127: Osc 1 only to Osc 2 only
Oscillator 1/2 mix
Note: Per-layer.
0-based
Osc 1 Waveform 30 [0–6]
0: Pulse Width Modulation; 1: Saw; 2: Triangle; 3: Sine; 4: Pulse; 5: Parabolic; 6: Super 7
Oscillator 1 waveform
Note: Per-layer; direct value (0~6). When MIDICCOSCRANGE config is on, full 0~127 range is mapped (value/19, clamped to 0~6).
0-based
Osc 2 Waveform 31 [0–7]
0: Pulse Width Modulation; 1: Saw; 2: Triangle; 3: Noise; 4: Pulse; 5: Parabolic; 6: Pink Noise; 7: Super 7
Oscillator 2 waveform
Note: Per-layer; direct value (0~7). When MIDICCOSCRANGE config is on, full 0~127 range is mapped (value/16, clamped to 0~7).
0-based
Osc 2 Finetune 33 [0–127]
0~127: -50 to +50 cents
Oscillator 2 finetune
Note: Per-layer.
Centered
Osc 2 Kbd Track 34 [0–127]
0: Off; 1-127: On
Oscillator 2 keyboard tracking
Note: Per-layer.
0-based
Osc Mode 35 [0–3]
0: Off; 1: Sync; 2: Ring Modulation; 3: FM via Osc 2
Oscillator 2 modulation mode
Note: Per-layer; direct value selects mode.
0-based
Osc Enable 49 [0–2]
0: Off; 1: On (Free Phase); 2: On (Retrigger Phase)
VA Oscillator section enable
Note: Per-layer; direct value selects state.
0-based
Osc 1 FM Amount 70 [0–127]
0~127: No FM to maximum FM depth
Oscillator 1 FM amount
Note: Per-layer.
0-based
Osc 2 Semitones 78 [0–127]
0~127: -64 to +63 semitones
Oscillator 2 semitone offset
Note: Per-layer (scaled by /120).
Centered
Osc Pulse Width 79 [0–127]
0~63: Narrow; 64: Square; 65~127: Wide
Oscillator pulse width
Note: Per-layer.
Centered

LFO 1

Parameter CC Range Usage Description Orientation
LFO1 Rate 19 [0–127]
0~127: Slowest to fastest
LFO 1 rate
Note: Per-layer.
0-based
LFO1 Waveform 20 [0–9]
0: Random; 1: Saw; 2: Triangle; 3: Square; 4: LF Filtered Noise; 5: Random (Retrig); 6: Saw (Retrig); 7: Triangle (Retrig); 8: Square (Retrig); 9: LF Filtered Noise (Retrig)
LFO 1 waveform
Note: Per-layer; direct value selects waveform.
0-based
LFO1 Destination 21 [0–4]
0: Pulse Width; 1: Filter; 2: Oscillator 2; 3: Oscillator 1+2; 4: FM
LFO 1 destination
Note: Per-layer; direct value selects destination.
0-based
LFO1 Amount 22 [0–127]
0~127: No modulation to maximum
LFO 1 amount
Note: Per-layer.
0-based
LFO1 Sync 90 [0–127]
0: Free; 1-127: Synced to host tempo
LFO 1 tempo sync
Note: Per-layer.
0-based

LFO 2

Parameter CC Range Usage Description Orientation
LFO2 Rate 23 [0–127]
0~127: Slowest to fastest
LFO 2 rate
Note: Per-layer.
0-based
LFO2 Amount 25 [0–127]
0~127: No modulation to maximum
LFO 2 amount
Note: Per-layer.
0-based
LFO2 Sync 91 [0–127]
0: Free; 1-127: Synced to host tempo
LFO 2 tempo sync
Note: Per-layer.
0-based

Mod Envelope

Parameter CC Range Usage Description Orientation
Mod Env Attack 26 [0–127]
0~127: Near-instant to slowest
Modulation envelope attack
Note: Per-layer.
0-based
Mod Env Decay 27 [0–127]
0~127: Near-instant to slowest
Modulation envelope decay
Note: Per-layer.
0-based
Mod Env Destination 28 [0–4]
0: Oscillator 2; 1: FM; 2: Pulse Width; 3: Disabled; 4: Oscillator 2 + Wave
Modulation envelope destination
Note: Per-layer; direct value selects destination.
0-based
Mod Env Amount 29 [0–127]
0~63: Negative; 64: None; 65~127: Positive
Modulation envelope amount
Note: Per-layer.
Centered

Amp Envelope

Parameter CC Range Usage Description Orientation
Amp Decay 36 [0–127]
0~127: Near-instant to slowest
Amplitude envelope decay
Note: Per-layer.
0-based
Amp Sustain 37 [0–127]
0~127: No sustain to full sustain
Amplitude envelope sustain
Note: Per-layer.
0-based
Amp Release 72 [0–127]
0~127: Near-instant to slowest
Amplitude envelope release
Note: Per-layer.
0-based
Amp Attack 73 [0–127]
0~127: Near-instant to slowest
Amplitude envelope attack
Note: Per-layer.
0-based

Filter Envelope

Parameter CC Range Usage Description Orientation
Filter Decay 39 [0–127]
0~127: Near-instant to slowest
Filter envelope decay
Note: Per-layer.
0-based
Filter Sustain 40 [0–127]
0~127: No sustain to full sustain
Filter envelope sustain
Note: Per-layer.
0-based
Filter Release 41 [0–127]
0~127: Near-instant to slowest
Filter envelope release
Note: Per-layer.
0-based
Filter Attack 89 [0–127]
0~127: Near-instant to slowest
Filter envelope attack
Note: Per-layer.
0-based

Filter

Parameter CC Range Usage Description Orientation
Filter Resonance 42 [0–127]
0~127: No resonance to maximum Q
Filter resonance
Note: Per-layer; may self-oscillate at high values.
0-based
Filter Env Amount 43 [0–127]
0~63: Inverted env; 64: None; 65~127: Positive env
Filter envelope modulation amount
Note: Per-layer.
Centered
Filter Type 44 [0–15]
0: LP12; 1: LP24; 2: HP24; 3: BP24; 4: BR24; 5: HP12; 6: Formant; 7: Phaser; 8: XFilter12; 9: XFilter24; 10: YFilter12; 11: YFilter24; 12: Ladder24; 13: Ladder12; 14: SEM Classic; 15: SEM Raw
Filter type
Note: Per-layer; direct value selects filter algorithm.
0-based
Filter Velocity 45 [0–127]
0: Off; 1-127: On
Filter velocity sensitivity
Note: Per-layer.
0-based
Filter Kbd Track 46 [0–3]
0: Off; 1: 2/3; 2: 1/3; 3: Full
Filter keyboard tracking
Note: Per-layer; direct value selects amount.
0-based
Filter Frequency 74 [0–127]
0~127: Fully closed to fully open
Filter cutoff
Note: Per-layer; exponential frequency response.
0-based
Filter Distortion 80 [0–4]
0: Off; 1: Asymmetric 1; 2: Symmetric; 3: Asymmetric 2; 4: Tube Warmth
Filter distortion algorithm
Note: Per-layer; value modulo 5.
0-based
Soft Filter 94 [0–127]
0: Off; 1-127: On
Filter soft saturation
Note: Per-layer.
0-based

Wave

Parameter CC Range Usage Description Orientation
Layer Apply MIDI CC 2 (Wave Set) 47 [0–127]
0~127: Wave preset index
Selects wave preset (legacy)
Note: Per-layer; SetWave().
0-based
Layer Apply MIDI CC 3 (Wave Bank) 48 [0–127]
0~127: Wave bank index
Selects wave bank (legacy)
Note: Per-layer; SetWaveBank().
0-based
Wave Level 110 [0–127]
0~127: Silent to full level
Wave level
Note: Per-layer.
0-based
Wave Semitones 115 [0–127]
0~127: -64 to +63 semitones
Wave semitone offset
Note: Per-layer.
Centered
Wave Finetune 116 [0–127]
0~127: -50 to +50 cents
Wave finetune
Note: Per-layer.
Centered
Wave Kbd Track 117 [0–127]
0: Off; 1-127: On
Wave keyboard tracking
Note: Per-layer.
0-based
Wave Mode 118 [0–127]
0: Off; 1-127: On
Wave playback mode
Note: Per-layer.
0-based

Delay

Parameter CC Range Usage Description Orientation
Delay Level 81 [0–127]
0~127: Dry only to fully wet delay
Delay output level
Note: Per-layer.
0-based
Delay Left Time 82 [0–127]
0~127: Shortest to longest
Delay left channel time
Note: Per-layer.
0-based
Delay Right Time 83 [0–127]
0~127: Shortest to longest
Delay right channel time
Note: Per-layer.
0-based
Delay Feedback Left 84 [0–127]
0~127: No feedback to near-infinite sustain
Delay left feedback
Note: Per-layer.
0-based
Delay Feedback Right 85 [0–127]
0~127: No feedback to near-infinite sustain
Delay right feedback
Note: Per-layer.
0-based
Delay Cross 95 [0–127]
0: Off; 1-127: On
Delay cross-feedback (ping-pong)
Note: Per-layer.
0-based
Delay Sync 102 [0–127]
0: Free; 1-127: Synced to host tempo
Delay tempo sync
Note: Per-layer.
0-based

Pan

Parameter CC Range Usage Description Orientation
Pan Position 86 [0–127]
0~63: Left; 64: Center; 65~127: Right
Pan position
Note: Per-layer.
Centered
Pan Mod Rate 87 [0–127]
0~127: Slowest to fastest
Auto-pan rate
Note: Per-layer.
0-based
Pan Mod Amount 88 [0–127]
0~127: No movement to full stereo width
Auto-pan depth
Note: Per-layer.
0-based
Pan Mod Sync 92 [0–127]
0: Free; 1-127: Synced to host tempo
Auto-pan tempo sync
Note: Per-layer.
0-based

Gate

Parameter CC Range Usage Description Orientation
Gate Level 107 [0–127]
0~127: Silent to full level
Gate level
Note: Per-layer.
0-based

Mod

Parameter CC Range Usage Description Orientation
Mod Level 108 [0–127]
0~127: No modulation to maximum
Mod sequencer level
Note: Per-layer.
0-based
Mod Destination 109 [0–3]
0: Osc 2 / Wave; 1: FM; 2: Pulse Width; 3: Filter
Mod sequencer destination
Note: Per-layer; value modulo 4.
0-based

Layer

Parameter CC Range Usage Description Orientation
Layer A Active 111 [0–127]
0: Off; 1-127: On
Layer A on/off
Note: Global; toggles layer A active flag.
0-based
Layer B Active 112 [0–127]
0: Off; 1-127: On
Layer B on/off
Note: Global; toggles layer B active flag.
0-based
Layer C Active 113 [0–127]
0: Off; 1-127: On
Layer C on/off
Note: Global; toggles layer C active flag.
0-based
Layer D Active 114 [0–127]
0: Off; 1-127: On
Layer D on/off
Note: Global; toggles layer D active flag.
0-based

Pad

Parameter CC Range Usage Description Orientation
Pad Mode 119 [0–127]
0: Off; 1-127: On
Pad playback mode
Note: Per-layer.
0-based

Button Mode

Parameter CC Range Usage Description Orientation
Assign / Morph (button) 14 [0–127]
0: Ignored; 1-127: Single click toggles morph assign
Click Assign/Morph button
Note: Button mode (active when CC71 is ON; range 14~45). Any value > 0 triggers a single click on the GUI Assign button.
0-based
LFO1 Waveform (button) 15 [0–127]
0: Ignored; 1-127: Cycle next waveform. Order: 0: Random; 1: Saw; 2: Triangle; 3: Square; 4: LF Filtered Noise; 5: Random (Retrig); 6: Saw (Retrig); 7: Triangle (Retrig); 8: Square (Retrig); 9: LF Filtered Noise (Retrig)
Cycle LFO 1 waveform
Note: Button mode. Single click cycles to next LFO 1 waveform (0 to 9 then wraps).
0-based
LFO1 Destination (button) 16 [0–127]
0: Ignored; 1-127: Cycle next destination. Order: 0: Pulse Width; 1: Filter; 2: Oscillator 2; 3: Oscillator 1+2; 4: FM
Cycle LFO 1 destination
Note: Button mode. Cycles to next LFO 1 destination (0 to 4 then wraps).
0-based
LFO2 Arp Hold (button) 17 [0–127]
0: Ignored; 1-127: Toggle ARP Hold (Off / On)
Toggle LFO 2 arpeggiator hold
Note: Button mode. Toggles ARP/Hold on/off; on enable sets default destination.
0-based
LFO2 Arp Mode / Destination (button) 18 [0–127]
0: Ignored; 1-127: Cycle next. Hold On (arp mode): 0: Down; 1: Up&Down; 2: Up; 3: Random; 4: Random 2; 5: Random Markov. Hold Off (destination): 0: Filter; 1: Amplitude; 2: Oscillator 1+2
Cycle LFO 2 arpeggiator mode or destination
Note: Button mode. Cycles arp_mode (when Hold On) or lfo2_destination (when Hold Off).
0-based
Mod Env Destination (button) 19 [0–127]
0: Ignored; 1-127: Cycle next destination. Order: 0: Oscillator 2; 1: FM; 2: Pulse Width; 3: Disabled; 4: Oscillator 2 + Wave
Cycle mod envelope destination
Note: Button mode. Cycles mod env destination through GUI order.
0-based
Osc 1 Waveform (button) 20 [0–127]
0: Ignored; 1-127: Cycle next waveform. Order: 0: Pulse Width Modulation; 1: Saw; 2: Triangle; 3: Sine; 4: Pulse; 5: Parabolic; 6: Super 7
Cycle Osc 1 waveform
Note: Button mode. Cycles Osc 1 waveform through GUI order.
0-based
Osc 2 Waveform (button) 21 [0–127]
0: Ignored; 1-127: Cycle next waveform. Order: 0: Pulse Width Modulation; 1: Saw; 2: Triangle; 3: Noise; 4: Pulse; 5: Parabolic; 6: Pink Noise; 7: Super 7
Cycle Osc 2 waveform
Note: Button mode. Cycles Osc 2 waveform through GUI order.
0-based
Amp Limiter (button) 22 [0–127]
0: Ignored; 1-127: Toggle (Off / On)
Toggle output limiter
Note: Button mode. Toggles amp limiter on/off.
0-based
Osc 2 Kbd Track (button) 23 [0–127]
0: Ignored; 1-127: Toggle (Off / On)
Toggle Osc 2 keyboard tracking
Note: Button mode. Toggles Osc 2 keyboard tracking on/off.
0-based
Osc Mode (button) 24 [0–127]
0: Ignored; 1-127: Cycle next mode. Order: 0: Off; 1: Sync; 2: Ring Modulation; 3: FM via Osc 2
Cycle Osc 2 modulation mode
Note: Button mode. Cycles Osc mode (0 to 3 then wraps).
0-based
Filter Type Prev (button) 25 [0–127]
0: Ignored; 1-127: Step previous in GUI order: 0: LP24; 1: LP12; 2: Ladder24; 3: Ladder12; 4: XFilter24; 5: XFilter12; 6: YFilter24; 7: YFilter12; 8: SEM Classic; 9: SEM Raw; 10: HP24; 11: HP12; 12: BP24; 13: BR24; 14: Formant; 15: Phaser
Previous filter type
Note: Button mode. Steps backward through GUI-ordered filter list (skips hidden filters).
0-based
Filter Type Next (button) 26 [0–127]
0: Ignored; 1-127: Step next in GUI order: 0: LP24; 1: LP12; 2: Ladder24; 3: Ladder12; 4: XFilter24; 5: XFilter12; 6: YFilter24; 7: YFilter12; 8: SEM Classic; 9: SEM Raw; 10: HP24; 11: HP12; 12: BP24; 13: BR24; 14: Formant; 15: Phaser
Next filter type
Note: Button mode. Steps forward through GUI-ordered filter list (skips hidden filters).
0-based
Filter Velocity (button) 27 [0–127]
0: Ignored; 1-127: Toggle (Off / On)
Toggle filter velocity sensitivity
Note: Button mode. Toggles filter velocity on/off.
0-based
Filter Kbd Track (button) 28 [0–127]
0: Ignored; 1-127: Cycle next amount. Order: 0: Off; 1: 2/3; 2: 1/3; 3: Full
Cycle filter keyboard tracking
Note: Button mode. Cycles filter kbd tracking amount.
0-based
Filter Distortion (button) 29 [0–127]
0: Ignored; 1-127: Cycle next algorithm. Order: 0: Off; 1: Asymmetric 1; 2: Symmetric; 3: Asymmetric 2; 4: Tube Warmth
Cycle filter distortion algorithm
Note: Button mode. Cycles filter distortion algorithm.
0-based
Wave Kbd Track (button) 30 [0–127]
0: Ignored; 1-127: Toggle (Off / On)
Toggle wave keyboard tracking
Note: Button mode. Toggles wave keyboard tracking on/off.
0-based
Octave Down (button) 31 [0–127]
0: Ignored; 1-127: Step octave -1
Octave shift down
Note: Button mode. Decrements octave shift (clamped at -2).
0-based
Octave Up (button) 32 [0–127]
0: Ignored; 1-127: Step octave +1
Octave shift up
Note: Button mode. Increments octave shift (clamped at +2).
0-based
Wheel Mode (button) 33 [0–127]
0: Ignored; 1-127: Cycle next destination. Order: 0: Filter; 1: FM; 2: Osc 2; 3: LFO 1; 4: Morph; 5: Off
Cycle mod wheel destination
Note: Button mode. Cycles mod wheel destination.
0-based
Program Up (button) 34 [0–127]
0: Ignored; 1-127: Step program +1
Next program
Note: Button mode. Loads next program.
0-based
Program Down (button) 35 [0–127]
0: Ignored; 1-127: Step program -1
Previous program
Note: Button mode. Loads previous program.
0-based
Play Mode (button) 36 [0–127]
0: Ignored; 1-127: Cycle next mode. Order: 0: Monophonic; 1: Legato; 2: Polyphonic
Cycle play mode
Note: Button mode. Cycles play mode.
0-based
Portamento Auto (button) 37 [0–127]
0: Ignored; 1-127: Toggle (Off / On)
Toggle portamento auto
Note: Button mode. Toggles portamento auto/legato on/off.
0-based
Layer A Select (button) 40 [0–127]
0: Ignored; 1-127: Click Layer A
Select layer A
Note: Button mode. Clicks Layer A selector button in editor.
0-based
Layer B Select (button) 41 [0–127]
0: Ignored; 1-127: Click Layer B
Select layer B
Note: Button mode. Clicks Layer B selector button in editor.
0-based
Layer C Select (button) 42 [0–127]
0: Ignored; 1-127: Click Layer C
Select layer C
Note: Button mode. Clicks Layer C selector button in editor.
0-based
Layer D Select (button) 43 [0–127]
0: Ignored; 1-127: Click Layer D
Select layer D
Note: Button mode. Clicks Layer D selector button in editor.
0-based
Unison (button) 44 [0–127]
0: Ignored; 1-127: Toggle Unison (Off / On)
Toggle Unison voices
Note: Button mode. Toggles Unison bit (bit 2) of misc_unison.
0-based
Phaser/Chorus (button) 45 [0–127]
0: Ignored; 1-127: Cycle next combination. Order: 0: Off; 1: Phaser; 2: Chorus; 3: Phaser+Chorus
Cycle Phaser/Chorus combination
Note: Button mode. Cycles bottom 2 bits of misc_unison (Phaser=bit0; Chorus=bit1).
0-based

The portions of this library that refer to specific devices may be owned by the devices' respective manufacturers. Everything else is licensed under the Creative Commons Attribution Share Alike 4.0 International license.