Hexadecimal Representation of MIDI Note On Messages

This article provides an overview of the hexadecimal structure used in a standard Musical Instrument Digital Interface (MIDI) Note On message. It breaks down the standard three-byte sequence—the status byte, the note number, and the velocity value—explaining the specific role and hexadecimal range of each byte along with practical examples for implementation.

A standard MIDI Note On event is a channel voice message made up of three successive bytes, formatted as:

9n kk vv

Byte 1: The Status Byte (9n)

The status byte indicates the action to be performed and the MIDI channel it applies to.

Byte 2: The Note Number (kk)

The second byte identifies the pitch of the note being played.

Byte 3: Velocity (vv)

The third byte indicates how hard the key was struck, which usually controls volume or timbre.

Practical Example

To trigger Middle C (note 60) on MIDI Channel 1 at maximum velocity (127):

The complete hexadecimal message transmitted across the MIDI line is: 90 3C 7F.