MIDI implementation details for the Teenage Engineering OP-XY.
Last update: February 3, 2026 • 62 parameters
Contributions welcome! You can email us your edited CSV if you don't want to use GitHub.
| Parameter | CC | Range | Usage | Description | Orientation |
|---|---|---|---|---|---|
| Track volume | 7 | [0–127] | — |
Note: Channels 1-16
|
0-based |
| Track mute | 9 | [0–127] |
0: Unmute; 1-127: Mute
|
Note: Channels 1-16
|
0-based |
| Track pan | 10 | [0–127] |
0~127: Left to right pan amount
|
Note: Channels 1-16
|
Centered |
| Track parameter 1 | 12 | [0–127] | — |
Dark grey knob; Audio In: x Speed; Tape: -
Note: Channels 1-16 |
0-based |
| Track parameter 2 | 13 | [0–127] | — |
Mid grey knob; Tape: Tape Speed
Note: Channels 1-16 |
0-based |
| Track parameter 3 | 14 | [0–127] | — |
Light grey knob; Tape: Key scale
Note: Channels 1-16 |
0-based |
| Track parameter 4 | 15 | [0–127] | — |
White knob; Brain: Link channel; Tape: Mix
Note: Channels 1-16 |
0-based |
| Track parameters | 46 | [0–127] | — |
Note: Channels 1-16
|
0-based |
| Track select | 102 | [0–15] |
0~7: Tracks 1 to 8; 8~15: Auxillary tracks 9 to 16
|
Note: Channel 1 only
|
0-based |
| Parameter | CC | Range | Usage | Description | Orientation |
|---|---|---|---|---|---|
| Amp attack | 20 | [0–127] | — |
Note: Channels 1-16
|
0-based |
| Amp decay | 21 | [0–127] | — |
Note: Channels 1-16
|
0-based |
| Amp sustain | 22 | [0–127] | — |
Note: Channels 1-16
|
0-based |
| Amp release | 23 | [0–127] | — |
Note: Channels 1-16
|
0-based |
| Filter attack | 24 | [0–127] | — |
Note: Channels 1-16
|
0-based |
| Filter decay | 25 | [0–127] | — |
Note: Channels 1-16
|
0-based |
| Filter sustain | 26 | [0–127] | — |
Note: Channels 1-16
|
0-based |
| Filter release | 27 | [0–127] | — |
Note: Channels 1-16
|
0-based |
| Poly mode | 28 | [0–127] | — |
Poly/Mono/Legato selection
Note: Channels 1-8 |
0-based |
| Portamento | 29 | [0–127] |
0: Off; 1-127: On
|
Note: Channels 1-8
|
0-based |
| Pitch bend range | 30 | [0–127] | — |
Off; 1-7 St; 8=Octave
Note: Channels 1-8 |
0-based |
| Engine volume | 31 | [0–127] | — |
Note: Channels 1-8
|
0-based |
| Parameter | CC | Range | Usage | Description | Orientation |
|---|---|---|---|---|---|
| Filter cutoff | 32 | [0–127] | — |
Note: Channels 1-8
|
0-based |
| Filter resonance | 33 | [0–127] | — |
Note: Channels 1-8
|
0-based |
| Filter envelope amount | 34 | [0–127] | — |
Note: Channels 1-8
|
0-based |
| Key tracking | 35 | [0–127] | — |
Note: Channels 1-8
|
0-based |
| Send to external | 36 | [0–127] | — |
Note: Channels 1-8
|
0-based |
| Send to tape | 37 | [0–127] | — |
Note: Channels 1-8
|
0-based |
| Send to FX I | 38 | [0–127] | — |
Note: Channels 1-8
|
0-based |
| Send to FX II | 39 | [0–127] | — |
Note: Channels 1-8
|
0-based |
| Parameter | CC | Range | Usage | Description | Orientation |
|---|---|---|---|---|---|
| LFO parameter 1 | 40 | [0–127] | — |
Shape parameter
Note: Channels 1-16 |
0-based |
| LFO parameter 2 | 41 | [0–127] | — |
Varies by type
Note: Channels 1-16 |
0-based |
| LFO parameter 3 | 42 | [0–127] | — |
Varies by type
Note: Channels 1-16 |
0-based |
| LFO parameter 4 | 43 | [0–127] | — |
Varies by type
Note: Channels 1-16 |
0-based |
| Parameter | CC | Range | Usage | Description | Orientation |
|---|---|---|---|---|---|
| Tempo | 80 | [0–127] |
0~127: 40 BPM to 220 BPM
|
Note: Any channel
|
0-based |
| Groove | 81 | [0–127] |
63: No groove applied
|
Note: Any channel
|
Centered |
| Scene, delayed change | 82 | [0–98] |
0~98: Change to scene 1 to 99 after next bar
|
Delays change until next bar
Note: Any channel |
0-based |
| Previous scene | 83 | [0–127] | — |
Note: Any channel
|
0-based |
| Next scene | 84 | [0–127] | — |
Note: Any channel
|
0-based |
| Scene | 85 | [0–98] |
0~98: Change to scene 1 to 99 immediately
|
Immediate change
Note: Any channel |
0-based |
| Project | 86 | [0–127] | — |
Projects named with suffix 000-127
Note: Any channel |
0-based |
| EQ | 90 | [0–127] | — |
Ch1=Low; Ch2=Mid; Ch3=High
Note: Channels 1-3 |
0-based |
| Parameter | CC | Range | Usage | Description | Orientation |
|---|---|---|---|---|---|
| Play | 104 | [0–127] |
0-127: Start playback
|
Note: Any channel
|
0-based |
| Stop | 105 | [0–127] |
0-127: Stop playback
|
Note: Any channel
|
0-based |
| View Tempo page | 107 | [0–127] | — |
Note: Any channel
|
0-based |
| Parameter | CC | Range | Usage | Description | Orientation |
|---|---|---|---|---|---|
| HP cutoff | 32 | [0–127] | — |
Note: Channel 12
|
0-based |
| LP cutoff | 35 | [0–127] | — |
Note: Channel 12
|
0-based |
| Send to tape | 37 | [0–127] | — |
Note: Channel 12
|
0-based |
| Send to FX I | 38 | [0–127] | — |
Note: Channel 12
|
0-based |
| Send to FX II | 39 | [0–127] | — |
Note: Channel 12
|
0-based |
| Parameter | CC | Range | Usage | Description | Orientation |
|---|---|---|---|---|---|
| HP cutoff | 32 | [0–127] | — |
Note: Channel 13
|
0-based |
| LP cutoff | 35 | [0–127] | — |
Note: Channel 13
|
0-based |
| Send to FX I | 38 | [0–127] | — |
Note: Channel 13
|
0-based |
| Send to FX II | 39 | [0–127] | — |
Note: Channel 13
|
0-based |
| Parameter | CC | Range | Usage | Description | Orientation |
|---|---|---|---|---|---|
| HP cutoff | 32 | [0–127] | — |
Note: Channel 14
|
0-based |
| LP cutoff | 35 | [0–127] | — |
Note: Channel 14
|
0-based |
| Send to FX I | 38 | [0–127] | — |
Note: Channel 14
|
0-based |
| Send to FX II | 39 | [0–127] | — |
Note: Channel 14
|
0-based |
| Parameter | CC | Range | Usage | Description | Orientation |
|---|---|---|---|---|---|
| HP cutoff | 32 | [0–127] | — |
Note: Channel 15
|
0-based |
| LP cutoff | 35 | [0–127] | — |
Note: Channel 15
|
0-based |
| Send to FX II | 39 | [0–127] | — |
Note: Channel 15
|
0-based |
| Parameter | CC | Range | Usage | Description | Orientation |
|---|---|---|---|---|---|
| HP cutoff | 32 | [0–127] | — |
Note: Channel 16
|
0-based |
| LP cutoff | 35 | [0–127] | — |
Note: Channel 16
|
0-based |
This dataset is provided under the Creative Commons Attribution Share Alike 4.0 International license.