this section has information that some users might want to turn to
Appendix 1
A summary of MIDI data bytes for Transform message types
A grouped summary of MIDI data bytes:
Status Bytes | Meaning | 2nd Byte | 3rd Byte |
---|---|---|---|
80 - 8F | Note off + Ch. | Note Number (0-127) | Note Velocity (0-127) |
90 - 9F | Note on + Ch. | Note Number (0-127) | Note Velocity (0-127) |
A0 - AF | Poly Aftertouch + Ch. | Note Number (0-127) | Pressure (0-127) |
B0 - BF | Control Change + Ch. | CC Number (0-127) | CC Value (0-127) |
C0 - CF | Program Change + Ch. | Program Number (0-127) | none |
D0 - DF | Channel Aftertouch + Ch. | Pressure (0-127) | none |
E0 - EF | Pitch Bend Change + Ch. | Pitch Bend LSB (0-127) | Pitch Bend MSB (0-127) |
… | … | … | … |
F2 | Song Position Pointer | LSB | MSB |
F3 | Song Select | Song Number (0-127) | none |
… | … | … | … |
F6 | Tune request | none | none |
F8 | Timing clock | none | none |
FA | Start | none | none |
FB | Continue | none | none |
FC | Stop | none | none |
… | … | … | … |
FE | Active Sensing | none | none |
FF | System Reset | none | none |
(there are few Status Byte values that Transform doesn’t work with. These rows have been removed)
This summary based the “Expanded MIDI 1.0 Messages List (Status Bytes)” from midi org
This is no longer available on their site as of 2024 - it is archived here
Nowadays Google Drive versions can be found here
Appendix 2
A summary of data bytes for all MIDI message types
Including Hex codes...
Hex codes are useful when using the MIDI Monitor pane in its Raw Display
Notice how, for the first types (starting 8, 9, A, …, D ), the Status Byte also holds the Channel Information.
The Status Byte is given in hex with the decimal value in brackets
Status Byte | Meaning | 2nd Byte | 3rd Byte |
---|---|---|---|
80 (=128) | Ch.1 Note off | Note Number (0-127) | Note Velocity (0-127) |
81 (=129) | Ch.2 Note off | Note Number (0-127) | Note Velocity (0-127) |
82 (=130) | Ch.3 Note off | Note Number (0-127) | Note Velocity (0-127) |
83 (=131) | Ch.4 Note off | Note Number (0-127) | Note Velocity (0-127) |
84 (=132) | Ch.5 Note off | Note Number (0-127) | Note Velocity (0-127) |
85 (=133) | Ch.6 Note off | Note Number (0-127) | Note Velocity (0-127) |
86 (=134) | Ch.7 Note off | Note Number (0-127) | Note Velocity (0-127) |
87 (=135) | Ch.8 Note off | Note Number (0-127) | Note Velocity (0-127) |
88 (=136) | Ch.9 Note off | Note Number (0-127) | Note Velocity (0-127) |
89 (=137) | Ch.10 Note off | Note Number (0-127) | Note Velocity (0-127) |
8A (=138) | Ch.11 Note off | Note Number (0-127) | Note Velocity (0-127) |
8B (=139) | Ch.12 Note off | Note Number (0-127) | Note Velocity (0-127) |
8C (=140) | Ch.13 Note off | Note Number (0-127) | Note Velocity (0-127) |
8D (=141) | Ch.14 Note off | Note Number (0-127) | Note Velocity (0-127) |
8E (=142) | Ch.15 Note off | Note Number (0-127) | Note Velocity (0-127) |
8F (=143) | Ch.16 Note off | Note Number (0-127) | Note Velocity (0-127) |
90 (=144) | Ch.1 Note on | Note Number (0-127) | Note Velocity (0-127) |
91 (=145) | Ch.2 Note on | Note Number (0-127) | Note Velocity (0-127) |
92 (=146) | Ch.3 Note on | Note Number (0-127) | Note Velocity (0-127) |
93 (=147) | Ch.4 Note on | Note Number (0-127) | Note Velocity (0-127) |
94 (=148) | Ch.5 Note on | Note Number (0-127) | Note Velocity (0-127) |
95 (=149) | Ch.6 Note on | Note Number (0-127) | Note Velocity (0-127) |
96 (=150) | Ch.7 Note on | Note Number (0-127) | Note Velocity (0-127) |
97 (=151) | Ch.8 Note on | Note Number (0-127) | Note Velocity (0-127) |
98 (=152) | Ch.9 Note on | Note Number (0-127) | Note Velocity (0-127) |
99 (=153) | Ch.10 Note on | Note Number (0-127) | Note Velocity (0-127) |
9A (=154) | Ch.11 Note on | Note Number (0-127) | Note Velocity (0-127) |
9B (=155) | Ch.12 Note on | Note Number (0-127) | Note Velocity (0-127) |
9C (=156) | Ch.13 Note on | Note Number (0-127) | Note Velocity (0-127) |
9D (=157) | Ch.14 Note on | Note Number (0-127) | Note Velocity (0-127) |
9E (=158) | Ch.15 Note on | Note Number (0-127) | Note Velocity (0-127) |
9F (=159) | Ch.16 Note on | Note Number (0-127) | Note Velocity (0-127) |
A0 (=160) | Ch.1 Poly Aftertouch | Note Number (0-127) | Pressure (0-127) |
A1 (=161) | Ch.2 Poly Aftertouch | Note Number (0-127) | Pressure (0-127) |
A2 (=162) | Ch.3 Poly Aftertouch | Note Number (0-127) | Pressure (0-127) |
A3 (=163) | Ch.4 Poly Aftertouch | Note Number (0-127) | Pressure (0-127) |
A4 (=164) | Ch.5 Poly Aftertouch | Note Number (0-127) | Pressure (0-127) |
A5 (=165) | Ch.6 Poly Aftertouch | Note Number (0-127) | Pressure (0-127) |
A6 (=166) | Ch.7 Poly Aftertouch | Note Number (0-127) | Pressure (0-127) |
A7 (=167) | Ch.8 Poly Aftertouch | Note Number (0-127) | Pressure (0-127) |
A8 (=168) | Ch.9 Poly Aftertouch | Note Number (0-127) | Pressure (0-127) |
A9 (=169) | Ch.10 Poly Aftertouch | Note Number (0-127) | Pressure (0-127) |
AA (=170) | Ch.11 Poly Aftertouch | Note Number (0-127) | Pressure (0-127) |
AB (=171) | Ch.12 Poly Aftertouch | Note Number (0-127) | Pressure (0-127) |
AC (=172) | Ch.13 Poly Aftertouch | Note Number (0-127) | Pressure (0-127) |
AD (=173) | Ch.14 Poly Aftertouch | Note Number (0-127) | Pressure (0-127) |
AE (=174) | Ch.15 Poly Aftertouch | Note Number (0-127) | Pressure (0-127) |
AF (=175) | Ch.16 Poly Aftertouch | Note Number (0-127) | Pressure (0-127) |
B0 (=176) | Ch.1 Control Change | CC Number (0-127) | CC Value (0-127) |
B1 (=177) | Ch.2 Control Change | CC Number (0-127) | CC Value (0-127) |
B2 (=178) | Ch.3 Control Change | CC Number (0-127) | CC Value (0-127) |
B3 (=179) | Ch.4 Control Change | CC Number (0-127) | CC Value (0-127) |
B4 (=180) | Ch.5 Control Change | CC Number (0-127) | CC Value (0-127) |
B5 (=181) | Ch.6 Control Change | CC Number (0-127) | CC Value (0-127) |
B6 (=182) | Ch.7 Control Change | CC Number (0-127) | CC Value (0-127) |
B7 (=183) | Ch.8 Control Change | CC Number (0-127) | CC Value (0-127) |
B8 (=184) | Ch.9 Control Change | CC Number (0-127) | CC Value (0-127) |
B9 (=185) | Ch.10 Control Change | CC Number (0-127) | CC Value (0-127) |
BA (=186) | Ch.11 Control Change | CC Number (0-127) | CC Value (0-127) |
BB (=187) | Ch.12 Control Change | CC Number (0-127) | CC Value (0-127) |
BC (=188) | Ch.13 Control Change | CC Number (0-127) | CC Value (0-127) |
BD (=189) | Ch.14 Control Change | CC Number (0-127) | CC Value (0-127) |
BE (=190) | Ch.15 Control Change | CC Number (0-127) | CC Value (0-127) |
BF (=191) | Ch.16 Control Change | CC Number (0-127) | CC Value (0-127) |
C0 (=192) | Ch.1 Program Change | Program # (0-127) | none |
C1 (=193) | Ch.2 Program Change | Program # (0-127) | none |
C2 (=194) | Ch.3 Program Change | Program # (0-127) | none |
C3 (=195) | Ch.4 Program Change | Program # (0-127) | none |
C4 (=196) | Ch.5 Program Change | Program # (0-127) | none |
C5 (=197) | Ch.6 Program Change | Program # (0-127) | none |
C6 (=198) | Ch.7 Program Change | Program # (0-127) | none |
C7 (=199) | Ch.8 Program Change | Program # (0-127) | none |
C8 (=200) | Ch.9 Program Change | Program # (0-127) | none |
C9 (=201) | Ch.10 Program Change | Program # (0-127) | none |
CA (=202) | Ch.11 Program Change | Program # (0-127) | none |
CB (=203) | Ch.12 Program Change | Program # (0-127) | none |
CC (=204) | Ch.13 Program Change | Program # (0-127) | none |
CD (=205) | Ch.14 Program Change | Program # (0-127) | none |
CE (=206) | Ch.15 Program Change | Program # (0-127) | none |
CF (=207) | Ch.16 Program Change | Program # (0-127) | none |
D0 (=208) | Ch.1 Channel Aftertouch | Pressure (0-127) | none |
D1 (=209) | Ch.2 Channel Aftertouch | Pressure (0-127) | none |
D2 (=210) | Ch.3 Channel Aftertouch | Pressure (0-127) | none |
D3 (=211) | Ch.4 Channel Aftertouch | Pressure (0-127) | none |
D4 (=212) | Ch.5 Channel Aftertouch | Pressure (0-127) | none |
D5 (=213) | Ch.6 Channel Aftertouch | Pressure (0-127) | none |
D6 (=214) | Ch.7 Channel Aftertouch | Pressure (0-127) | none |
D7 (=215) | Ch.8 Channel Aftertouch | Pressure (0-127) | none |
D8 (=216) | Ch.9 Channel Aftertouch | Pressure (0-127) | none |
D9 (=217) | Ch.10 Channel Aftertouch | Pressure (0-127) | none |
DA (=218) | Ch.11 Channel Aftertouch | Pressure (0-127) | none |
DB (=219) | Ch.12 Channel Aftertouch | Pressure (0-127) | none |
DC (=220) | Ch.13 Channel Aftertouch | Pressure (0-127) | none |
DD (=221) | Ch.14 Channel Aftertouch | Pressure (0-127) | none |
DE (=222) | Ch.15 Channel Aftertouch | Pressure (0-127) | none |
DF (=223) | Ch.16 Channel Aftertouch | Pressure (0-127) | none |
E0 (=224) | Ch.1 Pitch Bend Change | Pitch Bend LSB (0-127) | Pitch Bend MSB (0-127) |
E1 (=225) | Ch.2 Pitch Bend Change | Pitch Bend LSB (0-127) | Pitch Bend MSB (0-127) |
E2 (=226) | Ch.3 Pitch Bend Change | Pitch Bend LSB (0-127) | Pitch Bend MSB (0-127) |
E3 (=227) | Ch.4 Pitch Bend Change | Pitch Bend LSB (0-127) | Pitch Bend MSB (0-127) |
E4 (=228) | Ch.5 Pitch Bend Change | Pitch Bend LSB (0-127) | Pitch Bend MSB (0-127) |
E5 (=229) | Ch.6 Pitch Bend Change | Pitch Bend LSB (0-127) | Pitch Bend MSB (0-127) |
E6 (=230) | Ch.7 Pitch Bend Change | Pitch Bend LSB (0-127) | Pitch Bend MSB (0-127) |
E7 (=231) | Ch.8 Pitch Bend Change | Pitch Bend LSB (0-127) | Pitch Bend MSB (0-127) |
E8 (=232) | Ch.9 Pitch Bend Change | Pitch Bend LSB (0-127) | Pitch Bend MSB (0-127) |
E9 (=233) | Ch.10 Pitch Bend Change | Pitch Bend LSB (0-127) | Pitch Bend MSB (0-127) |
EA (=234) | Ch.11 Pitch Bend Change | Pitch Bend LSB (0-127) | Pitch Bend MSB (0-127) |
EB (=235) | Ch.12 Pitch Bend Change | Pitch Bend LSB (0-127) | Pitch Bend MSB (0-127) |
EC (=236) | Ch.13 Pitch Bend Change | Pitch Bend LSB (0-127) | Pitch Bend MSB (0-127) |
ED (=237) | Ch.14 Pitch Bend Change | Pitch Bend LSB (0-127) | Pitch Bend MSB (0-127) |
EE (=238) | Ch.15 Pitch Bend Change | Pitch Bend LSB (0-127) | Pitch Bend MSB (0-127) |
EF (=239) | Ch.16 Pitch Bend Change | Pitch Bend LSB (0-127) | Pitch Bend MSB (0-127) |
F0 (=240) | System Exclusive | ** | ** |
F1 (=241) | MIDI Time Code Qtr. Frame | -see spec- | -see spec- |
F2 (=242) | Song Position Pointer | LSB | MSB |
F3 (=243) | Song Select | Song Number (0-127) | none |
F4 (=244) | Undefined (Reserved) | — | — |
F5 (=245) | Undefined (Reserved) | — | — |
F6 (=246) | Tune request | none | none |
F7 (=247) | End of SysEx (EOX) | none | none |
F8 (=248) | Timing clock | none | none |
F9 (=249) | Undefined (Reserved) | — | — |
FA (=250) | Start | none | none |
FB (=251) | Continue | none | none |
FC (=252) | Stop | none | none |
FD (=253) | Undefined (Reserved) | — | — |
FE (=254) | Active Sensing | none | none |
FF (=255) | System Reset | none | none |
Appendix 3
Hex Codes: a brief note
Raw Display
if you switch from the “normal” MIDI Monitor display to Settings → Raw Display you’ll noticed the codes in the Raw Display don’t often match the “normal” numbers
Let’s put the two display styles side-by side:
The raw data is shown in “hexadecimal” numbers…
…where we count in 16’s
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | a | b | c | d | e | f |
Using ‘28’ in ‘hex’… as an example:
-
it’s pronounced “two - eight”…
-
…and means 2 x 16 + 8
-
which equals 40 in decimal.
Let’s look down the list
(For now we’re going to ignore the “Status Byte” on the left of the 3 codes)
-
Note Off 4 8 → 80 04 08
the 04 08 matches with Note 4, velocity 8 -
Note On 4 16 → 90 04 10
the 10 is code for 1 x 16 + 0 so matches with velocity 10 -
CC 4 24 → b0 04 18
the 18 is code for 1 x 16 + 8 so matches with value 24 -
Aftertouch 4 40 → a0 04 28
the 24 is code for 2 x 16 + 8 so matches with value 40
(The other thing that can confuse is that MIDI counts channels from 0-15 so channel 0 in raw data = channel 1 in human terms! )
End of Transform Tutorial Part One