Implementation Table
MIDI Implementation Chart
| Function | Rx | Tx | Remarks | |||
|---|---|---|---|---|---|---|
| Group | Entry | 1 | 2 | 1 | 2 | |
| Channel | Default | ✓ 1-16 |
✕ | ✕ 1-16 |
✕ | |
| Changed | ✓ 1-16 |
✕ | ✕ 1-16 |
✕ | Supports up to 256 channels. | |
| Note number | ✓ | ✕ | ✕ | ✕ | 0-127 | |
| Mode | Default | - 3 |
- 3 |
- | - | Omni off, polyphonic |
| Messages | ✓ 3, 4 |
✕ | ✕ 3, 4 |
✕ | ||
| Velocity | Note on | ✓ | ✕ | 9n vvvv=01 00-7f 7f (0080-3fff) |
||
| ✕ | ✕ | 9n vv vvvvvv=0000-ffff |
||||
| Note off | ✓ | ✕ | 8n vvvv=00 00-7f 7f (0000-3fff)9n vvvv=00 00-00 7f (0000-007f)Velocity ignored. |
|||
| ✕ | ✕ | 8n vv vvvvvv=0000-ffffVelocity ignored. |
||||
| Aftertouch | Note | ✓ | ✕ | Same as Note On. | ||
| ✕ | ✕ | An nn 0032-bit resolution Truncated to 16-bit. |
||||
| Channel | ✓ | ✕ | Same as Note On. | |||
| ✕ | ✕ | Dn 00 0032-bit resolution Truncated to 16-bit. |
||||
| Pitchbend | Channel | ✓ | ✕ | 0-24 semitone steps 14-bit resolution |
||
| ✕ | ✕ | 0-24 semitone steps 32-bit resolution |
||||
| Note | ✕ | ✕ | 0-24 semitone steps 32-bit resolution |
|||
| Program Change | MIDI 1.0 Split |
✓ 0-127 |
✕ | Cn pppp= 0-127 |
||
| MIDI 2.0 Packed |
✕ 0-127 |
✕ | Cn 00 oopp= 0-127mm= 0-127ll= 0-127 |
|||
| Messages | Control Change | ✓ | ✕ | Bn cc ddcc= 0-127dd= 0-127 |
||
| ✕ | ✕ | Bn cc 00cc= 0-127dddddddd=0000-ffffTruncated to 31-bits. |
||||
| Registered Parameter | ✓ | ✕ | Bn 65 mmBn 64 llBn 06 ddmm= 0-127ll= 0-127dd= 0-127 |
|||
| ✕ | ✕ | 2n mm llmm= 0-127ll= 0-127dddddddd=0000-ffff |
||||
| Registered Parameter Shift | ✓ | ✕ | Bn 65 mmBn 64 llBn 60 ??mm= 0-127ll= 0-127Bn 60 ??Bn 61 ?? |
|||
| ✕ | ✕ | 4n mm llmm= 0-127ll= 0-127dddddddd=0000-ffff |
||||
| Non-Registered Parameter | ✓ | ✕ | Bn 63 mmBn 62 llBn 06 ddmm= 0-127ll= 0-127dd= 0-127 |
|||
| ✕ | ✕ | 3n mm llmm= 0-127ll= 0-127dddddddd=0000-ffff |
||||
| Non-Registered Parameter Shift | ✕ | ✕ | 5n mm llmm= 0-127ll= 0-127dddddddd=0000-ffff |
|||
| System Exclusive | ✓ | ✕ | F0 dd ... F7 |
|||
| ✕ | ✕ | UMP SysEx | ||||
| Control Change Slots | 0 | ✓ | ✕ | MSB Bank Select | ||
| 1 | ✓ | ✕ | ✕ | ✕ | Modulation | |
| 2 | ✓ | ✕ | ✕ | ✕ | Breath | |
| 4 | ✓ | ✕ | ✕ | ✕ | Foot | |
| 5 | ✓ | ✕ | ✕ | ✕ | Portamento Time | |
| 6 | ✓ | ✕ | MSB (N)RPN Data Commit | |||
| 7 | ✓ | ✕ | ✕ | ✕ | Volume | |
| 8 | ✓ | ✕ | ✕ | ✕ | Balance | |
| 10 | ✓ | ✕ | ✕ | ✕ | Pan | |
| 11 | ✓ | ✕ | ✕ | ✕ | Expression | |
| 12 | ✓ | ✕ | ✕ | ✕ | General-purpose effect PLG-AN ribbon X |
|
| 13 | ✓ | ✕ | ✕ | ✕ | General-purpose effect PLG-AN ribbon Z |
|
| 16 | ✓ | ✕ | ✕ | ✕ | General-purpose sound | |
| 17 | ✓ | ✕ | ✕ | ✕ | General-purpose sound | |
| 18 | ✓ | ✕ | ✕ | ✕ | General-purpose sound | |
| 19 | ✓ | ✕ | ✕ | ✕ | General-purpose sound | |
| 32 | ✓ | ✕ | LSB Bank Select | |||
| 38 | ✓ | ✕ | LSB (N)RPN Data Commit | |||
| 64 | ✓ | ✕ | ✕ | ✕ | Sustain (Hold) | |
| 65 | ✓ | ✕ | ✕ | ✕ | Portamento | |
| 66 | ✓ | ✕ | ✕ | ✕ | Sostenuto | |
| 67 | ✓ | ✕ | ✕ | ✕ | Soft Pedal Store only |
|
| 68 | ✓ | ✕ | ✕ | ✕ | Legato Store only |
|
| 69 | ✓ | ✕ | ✕ | ✕ | Hold 2 Store only |
|
| 70 | ✓ | ✕ | ✕ | ✕ | Timbre Variation Store only |
|
| 71 | ✓ | ✕ | ✕ | ✕ | Resonance | |
| 72 | ✓ | ✕ | ✕ | ✕ | Release Time | |
| 73 | ✓ | ✕ | ✕ | ✕ | Attack Time | |
| 74 | ✓ | ✕ | ✕ | ✕ | Brightness | |
| 75 | ✓ | ✕ | ✕ | ✕ | Decay Time | |
| 76 | ✓ | ✕ | ✕ | ✕ | Vibrato Rate | |
| 77 | ✓ | ✕ | ✕ | ✕ | Vibrato Depth | |
| 78 | ✓ | ✕ | ✕ | ✕ | Vibrato Delay | |
| 84 | ✓ | ✕ | ✕ | ✕ | Portamento Source Note | |
| 88 | ✓ | ✕ | High Resolution Velocity Affects MIDI 1.0 note on and note off |
|||
| 91 | ✓ | ✕ | ✕ | ✕ | Effect 1 Send (Reverb) | |
| 92 | ✓ | ✕ | ✕ | ✕ | Effect 2 Send (Tremolo) | |
| 93 | ✓ | ✕ | ✕ | ✕ | Effect 3 Send (Chorus) | |
| 94 | ✓ | ✕ | ✕ | ✕ | Effect 4 Send (Variation/Delay) | |
| 95 | ✓ | ✕ | ✕ | ✕ | Effect 5 Send (Phaser) | |
| 96 | ✓ | ✕ | RPN Data Increment | |||
| 97 | ✓ | ✕ | RPN Data Decrement | |||
| 98 | ✓ | ✕ | LSB NRPN | |||
| 99 | ✓ | ✕ | MSB NRPN | |||
| 100 | ✓ | ✕ | LSB RPN | |||
| 101 | ✓ | ✕ | MSB RPN | |||
| 120 | ✕ | ✕ | ✕ | ✕ | All Sound Off | |
| 121 | ✓ | ✕ | ✕ | ✕ | All Controllers Reset | |
| 122 | ✕ | ✕ | ✕ | ✕ | Local ON/OFF | |
| 123 | ✓ | ✕ | ✕ | ✕ | All Notes Off | |
| 124 | ✓ | ✕ | ✕ | ✕ | Omni Off Same as cc123 |
|
| 125 | ✕ | ✕ | ✕ | ✕ | Omni On Same as cc123 |
|
| 126 | ✓ | ✕ | ✕ | ✕ | Mono | |
| 127 | ✓ | ✕ | ✕ | ✕ | Poly | |
| 128 | ✓ | ✕ | ✕ | ✕ | Dry level (internal) | |
| 129 | ✓ | ✕ | VL Breath Strength (internal) | |||
| 130 | ✓ | VL Pressure (internal) | ||||
| 131 | ✓ | VL Embouchure (internal) | ||||
| 132 | ✓ | VL Tonguing (internal) | ||||
| 133 | ✓ | VL Scream (internal) | ||||
| 134 | ✓ | VL Breath Noise (internal) | ||||
| 135 | ✓ | VL Growl (internal) | ||||
| 136 | ✓ | VL Throat Formant (internal) | ||||
| 137 | ✓ | VL Harmonic Enhancer (internal) | ||||
| 138 | ✓ | VL Damping (internal) | ||||
| 139 | ✓ | VL Absorption (internal) | ||||
| 140 | ✓ | VL Filter (internal) | ||||
| 141 | ✓ | VL Amplitude (internal) | ||||
| 142~149 | ✓ | DX Carrier Level 1~8 (internal) | ||||
| 150~157 | ✓ | DX Modulator Level 1~8 (internal) | ||||
| Registered Parameter Slots | 0x0000 |
✓ | ✕ | ✕ | ✕ | Pitch Bend Range/Sensitivity |
0x0001 |
✓ | ✕ | ✕ | ✕ | Fine Tune | |
0x0002 |
✓ | ✕ | ✕ | ✕ | Coarse Tune | |
0x0003 |
✕ | ✕ | ✕ | ✕ | Tuning Program Select | |
0x0004 |
✕ | ✕ | ✕ | ✕ | Tuning Bank Select | |
0x0005 |
✓ | ✕ | ✕ | ✕ | Modulation Depth | |
0x3d00 |
✕ | ✕ | ✕ | ✕ | 3D Azimuth Angle | |
0x3d01 |
✕ | ✕ | ✕ | ✕ | 3D Elevation Angle | |
0x3d02 |
✕ | ✕ | ✕ | ✕ | 3D Gain | |
0x3d03 |
✕ | ✕ | ✕ | ✕ | 3D Distance Ratio | |
0x3d04 |
✕ | ✕ | ✕ | ✕ | 3D Max Distance | |
0x3d05 |
✕ | ✕ | ✕ | ✕ | 3D Gain at Bound | |
0x3d06 |
✕ | ✕ | ✕ | ✕ | 3D Reference Distance Ratio | |
0x3d07 |
✕ | ✕ | ✕ | ✕ | 3D Pan Spread Angle | |
0x3d08 |
✕ | ✕ | ✕ | ✕ | 3D Roll Angle | |
| Non-Registered Parameter Slots | 0x0108 |
✓ | ✕ | ✕ | ✕ | Vibrato Rate Redirected to cc76 |
0x0109 |
✓ | ✕ | ✕ | ✕ | Vibrato Depth Redirected to cc77 |
|
0x010a |
✓ | ✕ | ✕ | ✕ | Vibrato Delay Redirected to cc78 |
|
0x0120 |
✓ | ✕ | ✕ | ✕ | Brightness (LPF Cutoff) Redirected to cc74 |
|
0x0121 |
✓ | ✕ | ✕ | ✕ | Resonance Redirected to cc71 |
|
0x0124 |
✓ | ✕ | ✕ | ✕ | HPF Cutoff | |
0x0130 |
✓ | ✕ | ✕ | ✕ | EQ Bass Gain | |
0x0131 |
✓ | ✕ | ✕ | ✕ | EQ Treble Gain | |
0x0134 |
✓ | ✕ | ✕ | ✕ | EQ Bass Frequency | |
0x0135 |
✓ | ✕ | ✕ | ✕ | EQ Treble Frequency | |
0x0163 |
✓ | ✕ | ✕ | ✕ | Attack Time Redirected to cc73 |
|
0x0164 |
✓ | ✕ | ✕ | ✕ | Decay Time Redirected to cc75 |
|
0x0166 |
✓ | ✕ | ✕ | ✕ | Release Time Redirected to cc72 |
|
0x14rr |
✓ | ✕ | ✕ | ✕ | Drum Brightness (LPF Cutoff) | |
0x15rr |
✓ | ✕ | ✕ | ✕ | Drum Resonance | |
0x16rr |
✓ | ✕ | ✕ | ✕ | Drum Attack Time | |
0x17rr |
✓ | ✕ | ✕ | ✕ | Drum Decay Time | |
0x18rr |
✓ | ✕ | ✕ | ✕ | Drum Coarse Tune | |
0x19rr |
✓ | ✕ | ✕ | ✕ | Drum Fine Tune | |
0x1arr |
✓ | ✕ | ✕ | ✕ | Drum Level | |
0x1crr |
✓ | ✕ | ✕ | ✕ | Drum Pan | |
0x1drr |
✓ | ✕ | ✕ | ✕ | Drum Reverb Send | |
0x1err |
✓ | ✕ | ✕ | ✕ | Drum Chorus Send | |
0x1frr |
✓ | ✕ | ✕ | ✕ | Drum Variation/Delay Send | |
0x24rr |
✓ | ✕ | ✕ | ✕ | Drum HPF Cutoff | |
0x30rr |
✓ | ✕ | ✕ | ✕ | Drum EQ Bass Gain | |
0x31rr |
✓ | ✕ | ✕ | ✕ | Drum EQ Treble Gain | |
0x34rr |
✓ | ✕ | ✕ | ✕ | Drum EQ Bass Frequency | |
0x35rr |
✓ | ✕ | ✕ | ✕ | Drum EQ Treble Frequency | |
0x4100 |
✓ | ✕ | ✕ | ✕ | SD-20 Set Selection | |
0x5801 |
✕ | ✕ | ✕ | ✕ | HyperCanvas Charactor Store only |
|
0x5820 |
✕ | ✕ | ✕ | ✕ | HyperCanvas Tone Switch | |
0x5822 |
✕ | ✕ | ✕ | ✕ | HyperCanvas Tone Bass Gain | |
0x5824 |
✕ | ✕ | ✕ | ✕ | HyperCanvas Tone Treble Gain | |
0x5827 |
✕ | ✕ | ✕ | ✕ | HyperCanvas Tone Mid Gain | |
0x5830 |
✕ | ✕ | ✕ | ✕ | HyperCanvas Scale Tune C | |
0x5831 |
✕ | ✕ | ✕ | ✕ | HyperCanvas Scale Tune C# | |
0x5832 |
✕ | ✕ | ✕ | ✕ | HyperCanvas Scale Tune D | |
0x5833 |
✕ | ✕ | ✕ | ✕ | HyperCanvas Scale Tune Eb | |
0x5834 |
✕ | ✕ | ✕ | ✕ | HyperCanvas Scale Tune E | |
0x5835 |
✕ | ✕ | ✕ | ✕ | HyperCanvas Scale Tune F | |
0x5836 |
✕ | ✕ | ✕ | ✕ | HyperCanvas Scale Tune F# | |
0x5837 |
✕ | ✕ | ✕ | ✕ | HyperCanvas Scale Tune G | |
0x5838 |
✕ | ✕ | ✕ | ✕ | HyperCanvas Scale Tune Ab | |
0x5839 |
✕ | ✕ | ✕ | ✕ | HyperCanvas Scale Tune A | |
0x583a |
✕ | ✕ | ✕ | ✕ | HyperCanvas Scale Tune Bb | |
0x583b |
✕ | ✕ | ✕ | ✕ | HyperCanvas Scale Tune B | |
0x5840 |
✕ | ✕ | ✕ | ✕ | HyperCanvas Reverb Global Switch | |
0x5841 |
✓ | ✕ | ✕ | ✕ | HyperCanvas Reverb Type | |
0x5842 |
✕ | ✕ | ✕ | ✕ | HyperCanvas Reverb Time | |
0x5850 |
✕ | ✕ | ✕ | ✕ | HyperCanvas Chorus Global Switch | |
0x5851 |
✓ | ✕ | ✕ | ✕ | HyperCanvas Chorus Type | |
0x5852 |
✕ | ✕ | ✕ | ✕ | HyperCanvas Chorus Rate | |
0x5853 |
✕ | ✕ | ✕ | ✕ | HyperCanvas Chorus Depth | |
0x5854 |
✕ | ✕ | ✕ | ✕ | HyperCanvas Chorus Feedback | |
0x5855 |
✕ | ✕ | ✕ | ✕ | HyperCanvas Chorus to Reverb Send | |
0x5870 |
✓ | ✕ | ✕ | ✕ | HyperCanvas Master Volume | |
0x5871 |
✕ | ✕ | ✕ | ✕ | HyperCanvas Master Fine Tune | |
0x5872 |
✕ | ✕ | ✕ | ✕ | HyperCanvas Master Coarse Tune | |
0x587f |
✓ | ✕ | ✕ | ✕ | HyperCanvas System Reset | |
| System Exclusive Standard Support |
General MIDI | ✓ | ← | ✕ | ← | |
| General MIDI 2 | ✓ | ← | ✕ | ← | ||
| YAMAHA XG | ✓ | ← | ✕ | ← | ||
| YAMAHA PLG-150AP/DR/PC/PF | ✕ | ← | ✕ | ← | AWM2 plugin cards | |
| YAMAHA PLG-150AN | ✕ | ← | ✕ | ← | ||
| YAMAHA PLG-150DX | ✓ | ← | ✕ | ← | ||
| YAMAHA PLG-100SG | ✓ | ← | ✕ | ← | ||
| YAMAHA PLG-150VL | ✓ | ← | ✕ | ← | ||
| YAMAHA CS2x | ✓ | ← | ✕ | ← | ||
| YAMAHA S90 ES | ✓ | ← | ✕ | ← | ||
| YAMAHA Motif ES | ✓ | ← | ✕ | ← | ||
| YAMAHA TG300 | ✓ | ← | ✕ | ← | ||
| YAMAHA DOC | ✓ | ← | ✕ | ← | Yamaha Clavinova included. | |
| YAMAHA QY10 | ✓ | ← | ✕ | ← | ||
| YAMAHA QY20 | ✓ | ← | ✕ | ← | ||
| Roland GS | ✓ | ← | ✕ | ← | ||
| Roland SD | ✓ | ← | ✕ | ← | ||
| Roland C/M | ✓ | ← | ✕ | ← | Roland MT-32 included. | |
| KORG NS5R | ✓ | ← | ✕ | ← | ||
| KORG N1R | ✕ | ← | ✕ | ← | Redirected to NS5R | |
| KORG X5D(R) | ✓ | ← | ✕ | ← | ||
| KORG 05R/W | ✓ | ← | ✕ | ← | ||
| KORG PA | ✓ | ← | ✕ | ← | ||
| KORG KROSS 2 | ✓ | ← | ✕ | ← | ||
| KAWAI GMega | ✓ | ← | ✕ | ← | Also known as KAWAI K11 | |
| AKAI SG01 | ✓ | ← | ✕ | ← | ||
| CASIO GZ-50M | ✓ | ← | ✕ | ← | ||
| ALESIS NanoSynth | ✕ | ← | ✕ | ← | ||
| Gravis UltraSound | - | GUS does not have additional SysEx support. | ||||
| System Common | Song position | ✕ | ✕ | ✕ | ✕ | |
| Song select | ✕ | ✕ | ✕ | ✕ | ||
| Tune | ✕ | ✕ | ✕ | ✕ | ||
| System Realtime | Time Code | ✕ | ✕ | ✕ | ✕ | No action defined |
| Clock | ✕ | ✕ | ✕ | ✕ | No action defined | |
| Start | ✕ | ✕ | ✕ | ✕ | No action defined | |
| Continue | ✕ | ✕ | ✕ | ✕ | No action defined | |
| Stop | ✕ | ✕ | ✕ | ✕ | No action defined | |
| Aux Messages | Local ON/OFF | ✕ | ✕ | ✕ | ✕ | |
| Active Sense | ✕ | ✕ | ✕ | ✕ | No action defined | |
| Reset | ✕ | ✕ | ✕ | ✕ | No action defined | |
Notes
- Some cells are blank because they are in an invalid combination. For example it doesn't make sense to indicate MIDI 2.0 status in a MIDI 1.0 column.
- The state engine itself may truncate the resolution of some MIDI 2.0 messages, which effects transmission but not passthrough. Other components, including MICC, are not affected by truncation.
Explanations
??: Ignored bytes.- Omni: When active, a single part will receive from all channels (N:1). Octavia does not support this mode in any form, its scope only maps channels to parts in a 1:N relationship.