CODE1 Description of MIDI Status Bytes. Michel Poirier MIDICOM, Montreal 167/111 ------------------------------------------------------------------------------ CHANNEL VOICE MESSAGES ---------------------------------------------------------------------------- Status byte # Description ------------------------------- - ---------------------------------------- 1000 nnnn : 80 - 8F : 128 - 143 2 Note OFF 1001 nnnn : 90 - 9F : 144 - 159 2 Note ON 1010 nnnn : A0 - AF : 160 - 175 2 Polyphonic Key Pressure (after touch) 1011 nnnn : B0 - BF : 176 - 191 2 Control Change 1100 nnnn : C0 - CF : 192 - 207 1 Program Change 1101 nnnn : D0 - DF : 208 - 223 1 Channel Pressure (after touch) 1110 nnnn : E0 - EF : 224 - 239 2 Pitch Wheel CHANNEL MODE MESSAGES ---------------------------------------------------------------------------- Status byte # Description ------------------------------- - ---------------------------------------- 1011 nnnn : B0 - BF : 176 - 191 2 Channel Mode Select (Mono, Poly, Omni) SYSTEM MESSAGES ---------------------------------------------------------------------------- Status byte # Description ------------------------------- - ---------------------------------------- 1111 0000 : F0 : 240 * System Exclusive * Variable 1111 0sss : F1 - F7 : 241 - 247 * System Common * 0 to 2 1111 1ttt : F8 - FF : 248 - 255 0 System Real Time - Symbol "#" represents the number of Data following that Status byte. - In Voice & Mode Messages, "nnnn"+1 = Channel Number. ------------------------------------------------------------------------------ CODE2 Channel Voice Messages. Michel Poirier MIDICOM, Montreal 167/111 ------------------------------------------------------------------------------ Status Byte Data Byte Data Byte Description Detail ----------- --------- --------- ------------------ ----------------------- 1000 nnnn : 0kkk kkkk 0vvv vvvv Note OFF n: Channel 80 8F : 00 7F 00 7F k: Note number 128 143 : 0 127 0 127 v: Velocity Status Byte Data Byte Data Byte Description Detail ----------- --------- --------- ------------------ ----------------------- 1001 nnnn : 0kkk kkkk 0vvv vvvv Note ON n: Channel 90 9F : 00 7F 00 7F k: Note number 144 159 : 0 127 0 127 v: Velocity Status Byte Data Byte Data Byte Description Detail ----------- --------- --------- ------------------ ----------------------- 1010 nnnn : 0kkk kkkk 0vvv vvvv Poly Key Pressure n: Channel A0 AF : 00 7F 00 7F k: Note number 160 175 : 0 127 0 127 v: Pressure Value Status Byte Data Byte Data Byte Description Detail ----------- --------- --------- ------------------ ----------------------- 1011 nnnn : 0ccc cccc 0vvv vvvv Control Change n: Channel B0 BF : 00 79 00 7F c: Control Number * 176 191 : 0 121 0 127 v: Control Value * Control Number 122-127 reserved for Channel Mode Status Byte Data Byte Data Byte Description Detail ----------- --------- --------- ------------------ ----------------------- 1100 nnnn : 0ppp pppp Program Change n: Channel C0 CF : 00 7F p: Program number 192 207 : 0 127 Status Byte Data Byte Data Byte Description Detail ----------- --------- --------- ------------------ ----------------------- 1101 nnnn : 0vvv vvvv Channel Pressure n: Channel D0 DF : 00 7F v: Pressure Value 208 223 : 0 127 Status Byte Data Byte Data Byte Description Detail ----------- --------- --------- ------------------ ----------------------- 1110 nnnn : 0mmm mmmm 0lll llll Pitch Wheel n: Channel E0 EF : 00 7F 00 7F m: MSB Value 224 239 : 0 127 0 127 l: LSB Value ------------------------------------------------------------------------------ CODE3 Channel Mode Messages. Michel Poirier MIDICOM, Montreal 167/111 ------------------------------------------------------------------------------ Status Byte Data Byte Data Byte Description Detail ----------- --------- --------- ------------------- ---------------------- 1011 nnnn : 0ccc cccc 0vvv vvvv Channel Mode Select n: Channel B0 BF : 7A 7F 00 7F c: Control Number 176 191 : 122 127 0 127 v: Value Data Binary Hx Dec Description ---- --------- -- --- -------------------------------------------------- c = 0111 1010 7A 122 Local Control v = 0000 0000 00 0 Local Control OFF v = 0111 1111 7F 127 Local Control ON ---- --------- -- --- -------------------------------------------------- c = 0111 1011 7B 123 All Notes OFF * v = 0000 0000 00 0 ---- --------- -- --- -------------------------------------------------- c = 0111 1100 7C 124 Omni Mode OFF v = 0000 0000 00 0 ---- --------- -- --- -------------------------------------------------- c = 0111 1101 7D 125 Omni Mode ON v = 0000 0000 00 0 ---- --------- -- --- -------------------------------------------------- c = 0111 1110 7E 126 Mono Mode ON v = 0000 nnnn 0n n Number of Channels = 1 to 15 v = 0000 0000 00 0 Number of Channels = Number of Voices ---- --------- -- --- -------------------------------------------------- c = 0111 1111 7F 127 Poly Mode ON v = 0000 0000 00 0 * Messages 123 to 127 act as "All Notes OFF" messages. * In Mono Mode, "n" specifies the number of Channels in which monophonic Voice messages are to be sent. If n=0 the receiver will assign all its voices, one per channel, from its "basic" channel through 16. ------------------------------------------------------------------------------ CODE4 System Messages. Michel Poirier MIDICOM, Montreal 167/111 ------------------------------------------------------------------------------ Status Byte Data Byte Data Byte Description Detail ----------- --------- --------- ------------------ ----------------------- 1111 0000 : 0iii iiii 0ddd dddd System Exclusive i: Identification F0 : 00 7F 00 7F d: Data * 240 : 0 127 0 127 EOX : 1111 0111 End of Exclusive F7 247 * Any number of Data may follow. Must end with EOX Status Byte Data Byte Data Byte Description Detail ----------- --------- --------- ------------------ ----------------------- 1111 0sss : 0ddd dddd 0ddd dddd System Common s: System Message F1 F7 : 00 7F 00 7F d: Data * 241 247 : 0 127 0 127 * Variable amount of Data bytes from 0 to 2. Data Binary Hx Dec Description ---- --------- -- --- -------------------------------------------------- s = 1111 0001 F1 241 Undefined ---- --------- -- --- -------------------------------------------------- s = 1111 0010 F2 242 Song Position Pointer d1= 0lll llll LSB d2= 0hhh hhhh MSB ---- --------- -- --- -------------------------------------------------- s = 1111 0011 F3 243 Song Select d = 0xxx xxxx Song Number ---- --------- -- --- -------------------------------------------------- s = 1111 0100 F4 244 Undefined ---- --------- -- --- -------------------------------------------------- s = 1111 0101 F5 245 Undefined ---- --------- -- --- -------------------------------------------------- s = 1111 0110 F6 246 Tune Request ---- --------- -- --- -------------------------------------------------- s = 1111 0111 F7 247 End of Exclusive Status Byte Data Byte Data Byte Description Detail ----------- --------- --------- ------------------ ----------------------- 1111 1ttt : No Data No Data System Real Time t: Timing Message F8 FF : 248 255 : Data Binary Hx Dec Description ---- --------- -- --- -------------------------------------------------- t = 1111 1000 F8 248 Timing Clock ---- --------- -- --- -------------------------------------------------- t = 1111 1001 F9 249 Undefined ---- --------- -- --- -------------------------------------------------- t = 1111 1010 FA 250 Start ---- --------- -- --- -------------------------------------------------- t = 1111 1011 FB 251 Continue ---- --------- -- --- -------------------------------------------------- t = 1111 1100 FC 252 Stop ---- --------- -- --- -------------------------------------------------- t = 1111 1101 FD 253 Undefined ---- --------- -- --- -------------------------------------------------- t = 1111 1110 FE 254 Active Sensing ---- --------- -- --- -------------------------------------------------- t = 1111 1111 FF 255 System Reset ------------------------------------------------------------------------------