|
|
DATA FORMAT
All MIDI communication is achieved
through multi-byte "messages" consisting of one Status byte
followed by one or two Data bytes, except Real-Time and Exclusive
messages (see below).
DATA TYPES
-
Status Bytes
-
Status bytes are eight-bit
binary numbers in which the Most Significant Bit (MSB) is set (binary
1). Status bytes serve to identify the message type, that is, the
purpose
of the Data bytes which follow the Status byte.
Except for Real-Time messages,
new Status bytes will always command the receiver to adopt their status,
even if the new Status is received before the last message was completed.
-
Running Status
-
For Voice and Mode messages
only, when a Status byte is received and processed, the receiver will
remain in that status until a different Status byte is received. Therefore,
if the same Status byte would be repeated, it may (optionally) be omitted
so that only the correct number of Data bytes need be sent. Under Running
Status, then, a complete message need only consist of specified Data bytes
sent in the specified order.
The Running Status feature
is especially useful for communicating long strings of Note On/Off messages,
where "Note On with Velocity of 0" is used for Note Off. (A separate Note
Off Status byte is also available.)
Running Status will be stopped
when any other Status byte intervenes, except that Real-Time messges will
only interrupt the Running Status temporarily.
-
Unimplemented Status
-
Any status bytes received for
functions which the receiver has not implemented should be ignored, and
subsequent data bytes ignored.
-
Undefined Status
-
Undefined Status bytes must
not be used. Care should be taken to prevent illegal messages from being
sent during power-up or power-down. If undefined Status bytes are received,
they should be ignored, as should subsequent Data bytes.
-
Data Bytes
-
Following the Status byte, there
are (except for Real-Time messages) one or two Data bytes which carry the
content
of the message. Data bytes are eight-bit binary numbers in which
the MSB is reset (binary 0). The number and range of Data bytes which must
follow each Status byte are specified in the tables which follow. For each
Status byte the correct number of Data bytes must always be sent. Inside
the receiver, action on the message should wait until all Data bytes required
under the current status are received. Receivers should ignore Data bytes
which have not been properly preceeded by a valid Status byte (with the
exception of "Running Status," above).
Introduction
& Conventions
Hardware
Message
Types
Data
Types
Channel
Modes
Summary
of Status Bytes
Channel
Voice Messages
System
Common Messages
System
Real Time Messages
System Exclusive
Messages
Controllers
|
|
|
 |

|
 |
|
Protect yourself from cyberstalkers, identity thieves, and those who would snoop on you.
| |
Stop spam from invading your inbox without losing the mail you want. We give you more control over your e-mail than any other service.
| |
Block popups, ads, and malicious scripts while you surf the net through our anonymous proxies.
| |
Participate in Usenet, host your web files, easily send anonymous messages, and more, much more.
| |
All private, all encrypted, all secure, all in an easy to use service, and all for only $5.95 a month!
|
|
Service Details
|
|
 |
|