The Patchbay_

MIDI Message Reference

The MIDI 1.0 channel and system messages — each status byte, its data bytes, and what it does. The byte-level reference for anyone sending or parsing MIDI in code.

MessageStatus byteData bytesMeaning
Note Off0x8nnote, velocityRelease a note on channel n.
Note On0x9nnote, velocityStart a note (velocity 0 acts as Note Off).
Poly Aftertouch0xAnnote, pressurePressure on an individual held note.
Control Change0xBncontroller, valueMove a controller — see the CC list.
Program Change0xCnprogramSelect a patch/instrument (one data byte).
Channel Aftertouch0xDnpressureSingle pressure value for the whole channel.
Pitch Bend0xEnLSB, MSB14-bit bend, centred at 8192.
System Exclusive0xF0 … 0xF7manufacturer dataArbitrary-length manufacturer message.

The low nibble n of a channel status byte is the MIDI channel (0–15, shown as 1–16). Data bytes are 0–127 (high bit clear). So a middle-C note-on at full velocity on channel 1 is 0x90 0x3C 0x7F. See the CC list, GM programs and note numbers.

← Back to reference