The most basic commands in MIDI are the Channel Voice Messages. These messages communicate the most often used performance events sent from one instrument to another over any of the 16 MIDI channels. MIDI is capable of transmitting and reproducing nearly every subtle nuance that even an advanced musician can perform. Yet the hardware and commands used to do this are surprisingly simple.
A MIDI channel voice message consists of a Status Byte followed by one or two Data Bytes. Status messages describe the kind of information being sent. They tell the other instruments whether the event that just occurred was a key press, pitch wheel movement, or another type of performance action. When the action occurs, this is always the first code number sent by a MIDI instrument.
The status message contains something called “channel information” within it. Data messages follow status messages with the actual values for the event. For example, if a status message indicates a key has been pressed (called a Note On message), then the following data messages indicated which key was pressed, and the velocity with which it was struck. So a Note On message has one status message followed by two data messages. The various status messages in MIDI each have a specific number of data messages that follow them, depending on the type of information being sent.
Status and data bytes can be distinguished in MIDI by the value of the code number. The range of available numbers is split in half. Numbers from 128 to 255 are always status messages. Numbers from 0 to 127 are data.