![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MIDI ReferenceMIDIMIDI is an acronym for Musical Instrument Digital Interface. MIDI was developed in the early 1980s as a hardware and software specification that would enable computers and synthesizers to communicate with each other. Hardware SetupThe required items are:
This is how its wired.
The MIDI interface is essentially a 31.25K Baud modem transmitting serial data between the synthesizer and computer. The MIDI interface is connected to the modem port of the computer with a standard Mac printer cable. Two MIDI cables connect the MIDI Interface and synthesizer, one cable for send and one for receive. The MIDI Ports are labeled MIDI IN and MIDI OUT. They connect to opposite names between the MIDI interface and synthesizer.
Decimal, Binary and Hexadecimal Number SystemsComputers and synthesizers communicate in the binary number system. Binary numbers consists of ones and zeros. A single zero or one is called a bit. Computer CPU chips are optimized to process data in 8 bit units (bytes), 16 bit units (words), and 32 bit units (longs). Normal people use the decimal system (base 10) to relate to numbers. Computer programmers use the hexadecimal system (base 16) to relate to numbers. Base sixteen was chosed because it represents multiples of 8 bits that the computer uses to process data. A comparison of the decimal, binary and hexadecimal systems is shown in the following table.
Min Max Range
Understanding Decimal, Binary, Hexadecimal MIDI Data FormatMIDI communication is achieved through "messages" consisting of one or more bytes. The MIDI protocol is very specific about how many bytes are in a "message." The most common number is three. The first byte in the message is called the status byte. The remaining bytes are called data bytes. Status BytesA byte is a status byte if the most significant bit is set. In english this means that the left most bit of the byte (eight zeros or ones) is a 1. 1bbbbbbb (b = 0 or 1) Data BytesA byte is a data byte if the most significant bit is not set. In english this means that the left most bit of the byte (eight zeros or ones) is a 0. 0bbbbbbb (b = 0 or 1)
MIDI MessagesThere are 8 categories of status messages. Status messages are sent by playing keys, pushing buttons, or moving wheels on the synthesizer. They can also be sent by the computer. The MIDI specification defines eight major types of MIDI messages. The left four bits indicates the type of message, the right four bits indicate the MIDI channel. Status Messages ($80-$FF)
To send a note on message to channel 1 the message would be $90, to send a note on message to channel 7 the message would be $96, and to send a note on message to channel 15 the message would be $9F. Data Messages ($00-$7F)One or two data bytes follow every status message. Theyre used to indicate which key was pressed down, how loud the note is, what instrument button was pushed, etc.
c = channel ($0-$F) Types of Data Transmitted through MIDI ExamplesThis is a MIDI message to turn on Middle C on MIDI channel 1 903C6B
Once turned on, some MIDI notes will stay on forever. When its time to end, send a note off message 803C6B or 903C00
MIDI Note Numbers and Music |