reference

MIDI Messages Summary

For a more detailed explanation of MIDI message formats, see MIDI Messages.

The general format of a MIDI message is: <status-byte> [<data-byte> ...]

Channel messages

n is the MIDI channel nibble from 0 = channel 1 to F = channel 16.

Message formatMessage name
8n <note> <velocity>Note Off
9n <note> <velocity>Note On
An <note> <pressure>Polyphonic Key Pressure
Bn <controller> <value>Control Change / Mode Change
Cn <program-number>Program Change
Dn <pressure>Channel Pressure
En <lsb> <msb>Pitch Bend Change

System common messages

Message formatMessage name
F0 <manufacturer-id> … F7System Exclusive
F1 <value>MIDI Time Code Quarter Frame
F2 <lsb> <msb>Song Position Pointer
F3 <song-number>Song Select
F4Undefined
F5 <value>Cable Select
F6Tune Request
F7End of Exclusive

System real-time messages

System real-time messages contain no data bytes and may appear anywhere in the MIDI stream, even between the data bytes of another message.

Message formatMessage name
F8Timing Clock
F9Undefined
FAStart
FBContinue
FCStop
FDUndefined
FEActive Sensing
FFSystem Reset

Quick lookup by first byte

First byteMessage type
80 - 8FNote Off
90 - 9FNote On
A0 - AFPolyphonic Key Pressure
B0 - BFControl Change / Mode Change
C0 - CFProgram Change
D0 - DFChannel Pressure
E0 - EFPitch Bend Change
F0System Exclusive
F1 - F7System Common
F8 - FFSystem Real-Time