MIDI implementation details for the discoDSP OB-Xd 3.
Last update: April 24, 2026 • 81 parameters
Contributions welcome! You can email us your edited CSV if you don't want to use GitHub.
| Parameter | CC | Range | Usage | Description | Orientation |
|---|---|---|---|---|---|
| Voice Count | 15 | [0–127] |
1~32: Voice count
|
Polyphony / number of voices
Note: Voice count = round(value/127 * 31) + 1. |
0-based |
| Unison | 16 | [0–127] |
0-63: Off; 64-127: On
|
Unison enable
Note: Threshold at 64. |
0-based |
| Octave | 17 | [0–127] |
0-15: -2 oct; 16-47: -1 oct; 48-79: 0; 80-111: +1 oct; 112-127: +2 oct
|
Master octave
Note: Octave = (round(value/127 * 4) - 2) * 12 semitones. |
Centered |
| As Played Allocation | 21 | [0–127] |
0-63: Round-robin; 64-127: As-played
|
Voice allocation mode
Note: Threshold at 64. |
0-based |
| Portamento | 23 | [0–127] |
0~127: Instant to slowest glide
|
Portamento time
Note: Logarithmic 0.14~250 ms scaled internally. |
0-based |
| Unison Detune | 24 | [0–127] |
0~127: No detune to maximum
|
Unison voice detune
|
0-based |
| Bend Osc 2 Only | 31 | [0–127] |
0-63: Off (both oscillators); 64-127: On (Osc 2 only)
|
Pitch wheel affects only oscillator 2
Note: Threshold at 64. |
0-based |
| Tune | 33 | [0–127] |
0~127: -100 to +100 cents
|
Master fine tune
Note: Maps to -1~+1 internally. |
Centered |
| Legato Mode | 35 | [0–127] |
0-21: Mode 0; 22-63: Mode 1; 64-105: Mode 2; 106-127: Mode 3
|
Mono/legato mode
Note: LegatoMode = round(value/127 * 3 + 1) - 1. |
0-based |
| Pitch Bend LFO Rate | 75 | [0–127] |
0: Off; 1~127: Slowest to fastest vibrato rate
|
Vibrato LFO rate (mod wheel)
Note: Vibrato enabled when value > 6. |
0-based |
| Volume | 71 | [0–127] |
0~127: Silence to full output
|
Master volume
Note: Linear 0~0.30 internally. |
0-based |
| Economy Mode | 111 | [0–127] |
0-63: Off; 64-127: On
|
CPU economy mode (skip inactive voices)
Note: Threshold at 64. |
0-based |
| Bend Range | 118 | [0–127] |
0-63: 2 semitones; 64-127: 12 semitones
|
Pitch bend range
Note: Threshold at 64; sets pitch wheel amount. |
0-based |
| Multiply Voices | 123 | [0–127] |
1~16: Voice multiplier
|
Voice multiplier
Note: Voices = round(value/127 * 15) + 1; shadows MIDI All Notes Off. |
0-based |
| Parameter | CC | Range | Usage | Description | Orientation |
|---|---|---|---|---|---|
| Oversampling | 18 | [0–127] |
0-63: Off; 64-127: On
|
Filter oversampling enable
Note: Threshold at 64. |
0-based |
| Resonance | 42 | [0–127] |
0~127: No resonance to maximum Q
|
Filter resonance
|
0-based |
| Cutoff | 74 | [0–127] |
0~127: Fully closed to fully open
|
Filter cutoff
Note: Linear 0~120 internally. |
0-based |
| Filter Key Follow | 103 | [0–127] |
0~127: No tracking to full tracking
|
Filter cutoff keyboard tracking
|
0-based |
| Multimode | 104 | [0–127] |
0~127: Low-pass to High-pass (centre = Band-pass)
|
Filter multimode (LP to HP)
Note: Continuous LP to HP morph. |
0-based |
| Bandpass Blend | 105 | [0–127] |
0-63: Off; 64-127: On
|
Bandpass mode enable
Note: Threshold at 64. |
0-based |
| Four Pole | 106 | [0–127] |
0-63: Off (2-pole / 12 dB); 64-127: On (4-pole / 24 dB)
|
4-pole filter mode (24dB/oct) enable
Note: Threshold at 64. |
0-based |
| Filter Env Amount | 107 | [0–127] |
0~127: No modulation to maximum
|
Filter envelope modulation amount
Note: Linear 0~140 internally. |
0-based |
| Self Osc Push | 119 | [0–127] |
0-63: Off; 64-127: On
|
Filter self-oscillation push
Note: Threshold at 64. |
0-based |
| Filter Falloff | 122 | [0–127] |
0~127: No leak to maximum leak
|
Filter analog falloff/leak
Note: Linear 0~0.0003 internally. |
0-based |
| Parameter | CC | Range | Usage | Description | Orientation |
|---|---|---|---|---|---|
| LFO Frequency | 19 | [0–127] |
0~127: Slowest to fastest
|
LFO rate
Note: Logarithmic 0~50 Hz scaled internally. |
0-based |
| LFO Amount 1 | 22 | [0–127] |
0~127: No modulation to maximum
|
LFO modulation depth 1
|
0-based |
| LFO Amount 2 | 25 | [0–127] |
0~127: No modulation to maximum
|
LFO modulation depth 2 (PW)
|
0-based |
| LFO Sine Wave | 44 | [0–127] |
0-63: Off; 64-127: On
|
LFO sine waveform enable
Note: Threshold at 64; OR'd into LFO waveform bitmask. |
0-based |
| LFO Square Wave | 45 | [0–127] |
0-63: Off; 64-127: On
|
LFO square waveform enable
Note: Threshold at 64; OR'd into LFO waveform bitmask. |
0-based |
| LFO S&H Wave | 46 | [0–127] |
0-63: Off; 64-127: On
|
LFO sample-and-hold waveform enable
Note: Threshold at 64; OR'd into LFO waveform bitmask. |
0-based |
| LFO to Osc 1 Pitch | 47 | [0–127] |
0-63: Off; 64-127: On
|
LFO target oscillator 1 pitch
Note: Threshold at 64. |
0-based |
| LFO to Osc 2 Pitch | 48 | [0–127] |
0-63: Off; 64-127: On
|
LFO target oscillator 2 pitch
Note: Threshold at 64. |
0-based |
| LFO to Filter | 49 | [0–127] |
0-63: Off; 64-127: On
|
LFO target filter cutoff
Note: Threshold at 64. |
0-based |
| LFO to PW Osc 1 | 50 | [0–127] |
0-63: Off; 64-127: On
|
LFO target oscillator 1 pulse width
Note: Threshold at 64. |
0-based |
| LFO to PW Osc 2 | 51 | [0–127] |
0-63: Off; 64-127: On
|
LFO target oscillator 2 pulse width
Note: Threshold at 64. |
0-based |
| LFO Sync | 112 | [0–127] |
0-63: Off (free); 64-127: On (synced)
|
LFO tempo sync
Note: Threshold at 64. |
0-based |
| Parameter | CC | Range | Usage | Description | Orientation |
|---|---|---|---|---|---|
| Volume Env Velocity | 20 | [0–127] |
0~127: No velocity to full velocity
|
Amp envelope velocity sensitivity
|
0-based |
| Loudness Decay | 36 | [0–127] |
0~127: Near-instant to slowest
|
Amp envelope decay
Note: Logarithmic 4~60000 ms. |
0-based |
| Loudness Sustain | 37 | [0–127] |
0~127: No sustain to full sustain
|
Amp envelope sustain
|
0-based |
| Filter Attack | 38 | [0–127] |
0~127: Near-instant to slowest
|
Filter envelope attack
Note: Logarithmic 4~60000 ms. |
0-based |
| Filter Decay | 39 | [0–127] |
0~127: Near-instant to slowest
|
Filter envelope decay
Note: Logarithmic 4~60000 ms. |
0-based |
| Filter Sustain | 40 | [0–127] |
0~127: No sustain to full sustain
|
Filter envelope sustain
|
0-based |
| Filter Release | 41 | [0–127] |
0~127: Near-instant to slowest
|
Filter envelope release
Note: Logarithmic 8~60000 ms. |
0-based |
| Env to Pitch | 63 | [0–127] |
0~127: No mod to maximum
|
Filter envelope to pitch amount
Note: Maps to 0~36 internally. |
0-based |
| Loudness Release | 72 | [0–127] |
0~127: Near-instant to slowest
|
Amp envelope release
Note: Logarithmic 8~60000 ms. |
0-based |
| Loudness Attack | 73 | [0–127] |
0~127: Near-instant to slowest
|
Amp envelope attack
Note: Logarithmic 4~60000 ms. |
0-based |
| Filter Env Velocity | 76 | [0–127] |
0~127: No velocity to full velocity
|
Filter envelope velocity sensitivity
|
0-based |
| PW Env | 113 | [0–127] |
0~127: No modulation to maximum
|
Pulse width envelope amount
|
0-based |
| PW Env Both | 114 | [0–127] |
0-63: Osc 1 only; 64-127: Both oscillators
|
Apply PW envelope to both oscillators
Note: Threshold at 64. |
0-based |
| Env Pitch Both | 115 | [0–127] |
0-63: Osc 1 only; 64-127: Both oscillators
|
Apply pitch envelope to both oscillators
Note: Threshold at 64. |
0-based |
| Filter Env Invert | 116 | [0–127] |
0-63: Normal; 64-127: Inverted
|
Invert filter envelope
Note: Threshold at 64. |
0-based |
| Loudness Env Shape | 120 | [0–127] |
0~127: Linear to most curved
|
Amp envelope shape
Note: Logarithmic 1.05~10 (asymmetry); shadows MIDI All Sound Off. |
0-based |
| Filter Env Shape | 121 | [0–127] |
0~127: Linear to most curved
|
Filter envelope shape
Note: Logarithmic 1.05~10 (asymmetry); shadows MIDI Reset All Controllers. |
0-based |
| Parameter | CC | Range | Usage | Description | Orientation |
|---|---|---|---|---|---|
| Osc 2 Detune | 43 | [0–127] |
0~127: No detune to maximum
|
Oscillator 2 detune
Note: Logarithmic 0.001~0.6. |
0-based |
| Osc 2 Hard Sync | 52 | [0–127] |
0-63: Off; 64-127: On
|
Oscillator 2 hard sync to osc 1
Note: Threshold at 64. |
0-based |
| Cross Mod | 53 | [0–127] |
0~127: No cross-mod to maximum
|
Osc 2 cross modulation amount
Note: Maps to 0~24 internally. |
0-based |
| Osc 1 Pitch | 54 | [0–127] |
0~127: 0 to +48 semitones
|
Oscillator 1 pitch offset (semitones)
Note: Maps to 0~48 semitones. |
0-based |
| Osc 2 Pitch | 55 | [0–127] |
0~127: 0 to +48 semitones
|
Oscillator 2 pitch offset (semitones)
Note: Maps to 0~48 semitones. |
0-based |
| Pitch Quantize | 56 | [0–127] |
0-63: Off; 64-127: On
|
Quantize osc pitch to semitones
Note: Threshold at 64. |
0-based |
| Osc 1 Saw | 57 | [0–127] |
0-63: Off; 64-127: On
|
Oscillator 1 saw waveform enable
Note: Threshold at 64. |
0-based |
| Osc 1 Pulse | 58 | [0–127] |
0-63: Off; 64-127: On
|
Oscillator 1 pulse waveform enable
Note: Threshold at 64. |
0-based |
| Osc 2 Saw | 59 | [0–127] |
0-63: Off; 64-127: On
|
Oscillator 2 saw waveform enable
Note: Threshold at 64. |
0-based |
| Osc 2 Pulse | 60 | [0–127] |
0-63: Off; 64-127: On
|
Oscillator 2 pulse waveform enable
Note: Threshold at 64. |
0-based |
| Pulse Width | 61 | [0–127] |
0~127: Narrow to wide
|
Oscillator pulse width
|
0-based |
| Brightness | 62 | [0–127] |
0~127: Dark to bright
|
Oscillator brightness
Note: Linear 7000~26000 internally. |
0-based |
| Osc 1 Mix | 77 | [0–127] |
0~127: Silent to full level
|
Oscillator 1 level
|
0-based |
| Osc 2 Mix | 78 | [0–127] |
0~127: Silent to full level
|
Oscillator 2 level
|
0-based |
| Noise Mix | 102 | [0–127] |
0~127: Silent to full noise
|
Noise level
Note: Logarithmic 0~1 (35 internally). |
0-based |
| PW Osc 2 Offset | 117 | [0–127] |
0~127: No offset to maximum offset
|
Pulse width offset for oscillator 2
|
0-based |
| Level Difference | 124 | [0–127] |
0~127: No variation to maximum
|
Loudness detune (per-voice level variation)
|
0-based |
| Parameter | CC | Range | Usage | Description | Orientation |
|---|---|---|---|---|---|
| Pan Voice 1 | 81 | [0–127] |
0~63: Left; 64: Center; 65~127: Right
|
Voice 1 pan position
|
Centered |
| Pan Voice 2 | 82 | [0–127] |
0~63: Left; 64: Center; 65~127: Right
|
Voice 2 pan position
|
Centered |
| Pan Voice 3 | 83 | [0–127] |
0~63: Left; 64: Center; 65~127: Right
|
Voice 3 pan position
|
Centered |
| Pan Voice 4 | 84 | [0–127] |
0~63: Left; 64: Center; 65~127: Right
|
Voice 4 pan position
|
Centered |
| Pan Voice 5 | 85 | [0–127] |
0~63: Left; 64: Center; 65~127: Right
|
Voice 5 pan position
|
Centered |
| Pan Voice 6 | 86 | [0–127] |
0~63: Left; 64: Center; 65~127: Right
|
Voice 6 pan position
|
Centered |
| Pan Voice 7 | 87 | [0–127] |
0~63: Left; 64: Center; 65~127: Right
|
Voice 7 pan position
|
Centered |
| Pan Voice 8 | 88 | [0–127] |
0~63: Left; 64: Center; 65~127: Right
|
Voice 8 pan position
|
Centered |
| Parameter | CC | Range | Usage | Description | Orientation |
|---|---|---|---|---|---|
| Envelope Detune | 108 | [0–127] |
0~127: No variation to maximum
|
Per-voice envelope time variation
|
0-based |
| Filter Detune | 109 | [0–127] |
0~127: No variation to maximum
|
Per-voice filter detune variation
Note: Linear 0~18 internally. |
0-based |
| Portamento Detune | 110 | [0–127] |
0~127: No variation to maximum
|
Per-voice portamento variation
Note: Linear 0~0.75 internally. |
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.