Midi Message Format

Midi Message Format

MIDI message format, understand what your gear is really saying. MIDI works because of messages. Every note you play, knob you turn, or pad you hit is sent as structured data. If MIDI ever feels unpredictable, the problem is often the message format, not the hardware. This article explains MIDI message format in clear, practical terms. You’ll learn how status bytes and data bytes work together, and how messages like note on, note off, velocity, control change, program change, and pitch bend are structured. We show how channels, values, and ranges affect what your instruments and plugins actually do. Understanding MIDI messages helps you troubleshoot stuck notes, wrong sounds, broken automation, and controller conflicts. It also gives you more control when mapping hardware, setting up templates, or working with multiple devices at once.
MIDI Message Format, MIDI Information and Learning - Binary Code
Facebook
X
Pinterest
LinkedIn
Mix
Reddit
Threads
Email

Table of Contents

The MIDI Message Format, as defined within the MIDI Specification, defines two basic types of message bytes: the status byte and the data byte. The Most Significant Bit (MSB) 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 messages, the length can be less.

Midi Message Format Explained

StatusData 1Data 2
1 t t t n n n n0 x x x x x x x0 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.

Note: All values are in HEX format!

MessageStatusData 1Data 2
Note Off8nNote NumberVelocity
Note On9nNote NumberVelocity
Polyphonic AftertouchAnNote NumberPressure
Control ChangeBnController NumberData
Program ChangeCnProgram NumberUnused
Channel AftertouchDnPressureUnused
Pitch WheelEnLSBMSB

Key

TermMeaning
nMIDI Channel Number (0-F)
LSBLeast Significant Byte
MSBMost Significant Byte

There are several different types of controller messages.

MIDI Data Messages - Control Messages

Note: All values are in HEX format!

MessageStatusData 1Data 2
14-bit controllers MSBBn01 (Modulation Wheel)Data
02 (Breath Controller)Data
04 (Foot Controller)Data
05 (Portamento Time)Data
06 (Data Entry Slider)Data
07 (Main Volume)Data
14-bit Controllers LSBBn21 (Modulation Wheel)Data
22 (Breath Controller)Data
24 (Foot Controller)Data
25 (Portamento Time)Data
26 (Data Entry Slider)Data
27 (Main Volume)Data
7-Bit controllersBn40 (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 Increment)7F
62 (NRPN)LSB
63 (NRPN)MSB
64 (RPN)LSB
65 (RPN)MSB
79 (Reset All Controllers)7F
Channel ModesBn7A (Local)00 (off) / 7F (on)
7B (All Notes Off)0
7C (Omni Off)0
7D (Omni On)0
7E (Mono)00-0A
7F (Poly)0

Key

TermMeaning
nMIDI Channel Number (0-F)
LSBLeast Significant Byte
MSBMost Significant Byte
NRPNNon-Registered Parameter Number
RPNRegistered Parameter Number

System Exclusive

MessageStatusData 1Data 2
System Exclusive StartF0Manufacturers IDData, data, data
System Exclusive EndF7
Polyphonic AftertouchAnNote NumberPressure

System Common

MessageStatusData 1Data 2
Song PointerF2LSBMSB
Song SelectF3Song Number
Tune RequestF6

Midi Time Code

MessageStatusData 1Data 2
Quarter FrameF1Data

System Realtime

MessageStatusData 1Data 2
Timing ClockF8
Measure EndF9Unused
StartFA
ContinueFB
StopFC
Active SensingFE
ResetFF

MIDI Message Format Conclusion

Use these tables to be able to construct or deconstruct MIDI messages. This could be for software programming, or MIDI file processing, or debugging issues in MIDI data streams. If you have any questions about the MIDI message format you can discuss this article in our Music Forum.

Related Articles

Do you want to read more gear reviews? If so, you can find articles and tutorials on our Music Product Reviews page.

You might find the following selection of recording and midi articles by John Moxey useful:

Author

  • John Moxey

    Editor of Songstuff and a Scottish singer, songwriter, and multi-instrumentalist with a passion for production. Fusing all sorts of different styles from chill out electronica to rock and acoustic ballad, the influences on John's music is wide and varied.

    John is currently working on a large collection of original material with planned releases starting late 2025.

    Artist Website: www.johnmoxey.com

     

Useful Links

Are you looking for advice about building your fanbase? Or maybe your music is ready for release and you are looking for help and advice about releasing and marketing your songs. Check out our library of music articles and tutorials:

In addition to our extensive article library and tutorials, you can discuss music marketing and promotion, how to release and market your music, and how to build your fan base in the Songstuff Music Community.

You might want to talk over something you read to help make your understanding clear, or to pass on a new understanding to another songwriter. Maybe you just want to share your songs? Or just chat with fellow lyricists, songwriters, musicians, artists or producers? If so, please:

If you are already a member you can go directly to the Music Community:

To help you to understand specific terms, take a look at our Music Glossary. It has extensive descriptions of music technology terms and concepts. It also contains entries about music theory and terms from across the music industry including music marketing and music promotion.

Useful Community Topics To Read

Join The Discussion

Members and staff are friendly and welcoming.

Useful Boards

Songstuff Music Community
Join the Songstuff Music Community and take your music to the next level! Get invaluable advice, and awesome resources, and connect with like-minded creators. Whether you’re an artist, songwriter, music producer, or singer, we’re here to help you grow, collaborate, and succeed. Your music journey starts here—join us now!
Songstuff Music Community
Join the Songstuff Music Community and take your music to the next level! Get invaluable advice, and awesome resources, and connect with like-minded creators. Whether you’re an artist, songwriter, music producer, or singer, we’re here to help you grow, collaborate, and succeed. Your music journey starts here—join us now!

Become A Contributor To The Songstuff Music Library

Contributors Wanted

Are you an experienced songwriter? Or perhaps you have in-depth knowledge about writing lyrics? Are you an experienced top-line writer? Or perhaps you are a beat maker? Would you be interested in helping musicians to build their skills and understanding by contributing demonstration videos, reviews, articles and tutorials to the Songstuff music library? We rely upon musicians, and people working within the music industry, being willing to contribute to our knowledge base.

As well as contributions to our music library, we feature contributions in our site blogs and social media portals. In particular, we add video contributions to the Songstuff Channel on YouTube.

Please contact us and we can explore the possibility of you joining our contributors asap.

Songstuff Media Player

If you would like to listen to some awesome indie music while you browse, just open our media player. It opens in another window (or tab) so your playlist can play uninterrupted as you browse.

Open the Songstuff Media Player.

Playlists are curated by SSUK for the Independent Music Stage and Songstuff.