Quick Guide to MIDIAll numbers are hexadecimal except where noted. The first byte of all MIDI messages is the Status Byte. In addition to the Status Byte, a MIDI message may have one or more data bytes. Voice These messages use Running Status. Voice messages include a channel number in the second nibble of the Status byte. n indicates the channel number. For example: 0 is equal to channel 1 and F is equal to channel 16. When viewing these messages in a monitor such as MIDIOX, it is always easier to view them in their Hexadecimal representation. 8n,x1,x2 - Note Off, x1= note number, x2= velocity 9n,x1,x2 - Note On, x1= note number, x2= velocity, most devices recognize x2=0 as equivalent to a Note Off message An,x1,x2 - Poly Pressure (Aftertouch), x1= note number, x2= pressure value Cn,x1 Program Change, x1= program number Dn,x1 - Channel Pressure (Mono), x1 = value En,x1,x2 - Pitch Bend (x1=LSB, x2=MSB). Value: (MSB*128)+LSB; Center: MSB=64(40h),LSB=0 Controller Bn,x1,x2 - Control Change, x1= controller number, x2=value Bank Select x1= 00, x2 = Bank MSB x1= 20, x2 = Bank LSB [Bank = (MSB*128)+LSB] Mode Messages x1= 78, 0 - All Sound Off x1= 79, 0 - Reset All Controllers x1= 7A, x2 - Local Control, A0=on, 0=off x1= 7B, 0 - All Notes Off x1= 7C, 0 - Omni Off, modes 3 and 4 x1= 7D, 0 - Omni On, modes 1 and 2 x1= 7E, x2 - Mono On, modes 2 and 4, x2= number of channels x1= 7F, 0 - Poly On, modes 1 and 3 System Common These stop Running Status. These may not occur within other multi-byte messages. F1,x1 - 1/4 Frame (MIDI Time Code [MTC], sent in groups of 8 to get Hours/Minutes/Seconds/Frames) F2,x1,x2 - Song Position (x1= LSB, x2= MSB) Clocks = 16*((MSB*128)+LSB) F3,x1 - Song Select (x1= Song Number) F4 - [Undefined] F5 - [Undefined] F6 - Tune Request F7 - EOX (End of Exclusive, see above) System Real Time System Real Time Messages (1-byte each) These do not stop Running Status, and they may occur anywhere within other multi-byte messages. F8 - Clock F9 - [Undefined] FA - Start FB - Continue FC - Stop FD - [Undefined] FE - Active Sensing FF - System Reset |