Everything you wanted to know about Transform

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

2 Likes