MIDI Channel Voice Messages
The table below presents a summary of the MIDI Channel Voice Message codes in binary form.
A MIDI channel voice message consists of a Status Byte followed by one or two Data Bytes.
here for a list of currently assigned MIDI controller numbers.
Status Byte Data Byte 1 Data Byte 2 Message Legend
1000nnnn 0kkkkkkk 0vvvvvvv Note Off n=channel* k=key # 0-127(60=middle C) v=velocity (0-127)
1001nnnn 0kkkkkkk 0vvvvvvv Note On n=channel k=key # 0-127(60=middle C) v=velocity (0-127)
1010nnnn 0kkkkkkk 0ppppppp Poly Key Pressure n=channel k=key # 0-127(60=middle C) p=pressure (0-127)
1011nnnn 0ccccccc 0vvvvvvv Controller Change n=channel c=controller v=controller value(0-127)
1100nnnn 0ppppppp [none] Program Change n=channel p=preset number (0-127)
1101nnnn 0ppppppp [none] Channel Pressure n=channel p=pressure (0-127)
1110nnnn 0ccccccc 0fffffff Pitch Bend n=channel c=coarse f=fine (c+f = 14-bit resolution)

*The last four bits of a status byte signify the MIDI channel (1-16) the message is intended for offset by 1 [0000=channel #1, 1111=channel #16]

An example of a MIDI channel voice message would be:

10010001 00111100 01000000

The first four bits of the status byte specify the Note On command, while the last four specify MIDI channel #2. The first data byte specifies the key number for middle C (=60 decimal), while the second data byte specifies a median velocity (= 64 decimal).

Running Status
MIDI's Running Status allows a single status byte's action to remain in effect for an unlimited number of data byte pairs which follow. For example, to play three notes on the same MIDI channel, a Note On status byte can be sent, followed by six data bytes (key # + velocity of note 1, key # + velocity of note 2, key # + velocity of note 3). To help minimize excessive data by using running status, the Note On command can also function to turn notes off by sending a velocity value of zero for the key # to be turned off.

Indiana University
School of Music
Bloomington, IN 47405-2200
(812) 855-1583
This document is prepared and maintained by the Indiana University School of Music Center for Electronic and Computer Music.
Last Updated: 10/11/03
URL: http://www.indiana.edu/~emusic/chvcmess.htm
Comments: CECM
Copyright 1998-2003, prof. Jeffrey Hass and The Trustees of Indiana University

Return to CECM Home Page.