Midi Message Format

Within the MIDI Specification there are two basic types of message byte: the status byte and the data byte. The Most Significant Bit of a status byte is always 1, the Most Significant Bit of a data byte is always 0. The maximum length for a standard MIDI message is three bytes but for some types of MIDI message the length can be less.

Status Data 1 Data 2
1 t t t n n n n 0 x x x x x x x 0 x x x x x x x

There are only 7 bits, in each byte, to represent the unique data that the message byte contains. It can easily be calculated that there are only 2^7, or 128, discrete values available per byte. This means that there are 8 fundamental types of status message (t) which, if a channel specific message, can be sent to any one of 16 different MIDI Channels. If the status message is not channel specific the lower nibble (4 bits) of the status represents one of 16 different message sub-classes.

There are two different classifications of MIDI messages: MIDI Data Messages and MIDI System Messages. MIDI Data Messages are channel specific, MIDI System Messages are not channel specific.

 

All values are in HEX format!

Message Status Data 1 Data 2
Note Off 8n Note Number Velocity
Note On 9n Note Number Velocity
Polyphonic Aftertouch An Note Number Pressure
Control Change Bn Controller Number Data
Program Change Cn Program Number Unused
Channel Aftertouch Dn Pressure Unused
Pitch Wheel En LSB MSB

 

Key
n is the MIDI Channel Number (0-F)
LSB is the Least Significant Byte
MSB is the Least Significant Byte
There are several different types of controller messages.

 

MIDI DATA Messages – Control Messages

All values are in HEX format!

Message Status Data 1 Data 2
14 bit controllers MSB Bn 01 (Modulation Wheel) Data
02 (Breath Controller) Data
04 (Foot Contoller) Data
05 (Portamento Time) Data
06 (Data Entry Slider) Data
07 (Main Volume) Data
14 bit controllers LSB Bn 21 (Modulation Wheel) Data
22 (Breath Controller) Data
24 (Foot Contoller) Data
25 (Portamento Time) Data
26 (Data Entry Slider) Data
27 (Main Volume) Data
7 bit controllers Bn 40 (Sustain Pedal) 00-3F (off) 40-FF (on)
41 (Portamento) 00-3F (off) 40-FF (on)
42 (Sostenato pedal) 00-3F (off) 40-FF (on)
43 (Soft pedal) 00-3F (off) 40-FF (on)
60 (Data Increment) 7F
61 (Data Decrement) 7F
62 (Non-Registered Parameter Number) LSB
63 (Non-Registered Parameter Number) MSB
64 (Registered Parameter Number) LSB
65 (Registered Parameter Number) MSB
79 (Reset All Controllers) 7F
Channel Modes Bn 7A (Local) 00 (off) / 7F (on)
7B (All Notes Off) 00
7C (Omni Off) 00
7D (Omni On) 00
7E (Mono) 00-0A
7F (Poly) 00

 

Key
n is the MIDI Channel Number (0-F)
LSB is the Least Significant Byte
MSB is the Least Significant Byte[/td

 

System Exclusive

Message Status Data 1 Data 2
System Exclusive Start F0 Manufacturers ID Data, data, data
System Exclusive End F7
Polyphonic Aftertouch An Note Number Pressure

 

System Common

Message Status Data 1 Data 2
Song Pointer F2 LSB MSB
Song Select F3 Song Number
Tune Request F6

 

MIDI Time Code

Message Status Data 1 Data 2
Quarter Frame F1 Data

 

System Realtime

Message Status Data 1 Data 2
Timing Clock F8
Measure End F9 Unused
Start FA
Continue FB
Stop FC
Active Sensing FE
Reset FF

 

Key
n is the MIDI Channel Number (0-F)
LSB is the Least Significant Byte
MSB is the Least Significant Byte

Discuss this article in our Music Forum.

 

 John Moxey

Songstuff Site Crew

 

About Songstuff

SongstuffSongstuff was launch in September 2000 and has grown into an all round resource for musicians, attracting interest from musicians of all experience and skill levels. The Songstuff Songwriting and Music Community has grown into an essential, dynamic networking resource, where members exchange ideas and collaborate on common projects. Great thanks and appreciation are owed to the moderation team for helping to grow the community into the active and creative place it has become.

Site Crew conduct draw on their experience and contacts to perform interviews, and write quality articles on a variety of subjects. In addition the Songstuff Community members regularly contribute articles and Songstuff has many regular contributors from across the field of music.

 

Our Crew

Songstuff Site Crew are highly experienced and cover a broad range of music industry roles including label owners, music educators, professional musicans, songwriters, band managers and other music industry professionals.

This article has been written by one of the Songstuff Site Crew.

Songstuff Home Page