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

This dataset is provided under the Creative Commons Attribution Share Alike 4.0 International license.