Introduction into MIDI
HOW MUCH FOR JUST THE MIDI?
By Eric Lipscomb (BITNET: LIPS@UNTVAX). This article appeared in the
October 1989 issue of North Texas Computing Center Newsletter,
"Benchmarks".
Computer retailers are hearing about it. Music store sales people are
buying and selling it. Musicians and students are talking about it.
Professional writers are publishing articles about it. Entire magazines are
devoted to it. Students at the Massachusetts Institute of Technology are
receiving large grants to research it. Joe "Keys" Manzotti uses it when he
plays with his band at the Holiday Inn on weekends. Just what IS this MIDI
thing anyway?
MIDI stands for Musical Instrument Digital Interface and has been the rage
among electronic musicians throughout its six year existence. It is a
powerful tool for composers and teachers alike. It allows musicians to be
more creative on stage and in the studio. It allows composers to write
music that no human could ever perform. But it is NOT a tangible object, a
thing to be had. MIDI is a communications protocol that allows electronic
musical instruments to interact with each other.
A Method, Not An Object
All too often I have seen misinformed customers browsing through a music
store: "Where do you keep your MIDIs?" "I'd like to get a MIDI for my home
computer." "I need to get two MIDIs so they can talk to each other, right?"
Explaining to customers that they cannot just get a MIDI becomes
frustrating to the salesman. Fortunately, the average consumer is learning
more about the concept of MIDI through articles such as this one. To have a
complete understanding of how MIDI works, though, one should learn its
history.
The Saga of MIDI
The combined advances and cost-efficiency in synthesizer technology caught
the music world by storm. At times, a musician could not get a new
synthesizer home before it had been outdated by a new product. One major
factor in the increased popularity in synthesizers, and the increased push
for research and design of these units, was the development of new sound
generation methods. Musicians were creating new and different sounds
worldwide. Eventually, the musical world began to recognize the synthesizer
as a legitimate musical instrument.
Musicians were physically limited, though, because they had only two hands.
Popular and avant-garde performers alike desired to "layer" their new sound
creations, to play two sounds together to create a "larger" sound. Though
this was possible to some extent in a multi-track recording studio,
layering could not be realized on the road. A few synthesizer design
technicians from different manufacturers then got together to discuss an
idea they shared. Surely, they said, there had to be a way to play one
keyboard and have another one sound simultaneously. They jotted a few
notes, considered a few options, and scuttled back to their design labs to
create this communication method.
They revealed their results at the first North American Music Manufacturers
show in Los Angeles in 1983. The simple demonstration connected two
synthesizers, not manufactured by the same company, with two cables. A
representative from one company then played one of the synthesizers while
an amazed audience heard both sound. The process was then reversed to
demonstrate the two-way nature of the communication. Other variations were
illustrated, and the rest is music history.
The Method of MIDI
Much in the same way that two computers communicate via modems, two
synthesizers communicate via MIDI. The information exchanged between two
MIDI devices is musical in nature. MIDI information tells a synthesizer, in
its most basic mode, when to start and stop playing a specific note. Other
information shared includes the volume and modulation of the note, if any.
MIDI information can also be more hardware specific. It can tell a
synthesizer to change sounds, master volume, modulation devices, and even
how to receive information. In more advanced uses, MIDI information can to
indicate the starting and stopping points of a song or the metric position
within a song. More recent applications include using the interface between
computers and synthesizers to edit and store sound information for the
synthesizer on the computer.
The basis for MIDI communication is the byte. Through a combination of
bytes a vast amount of information can be transferred. Each MIDI command
has a specific byte sequence. The first byte is the status byte, which
tells the MIDI device what function to perform. Encoded in the status byte
is the MIDI channel. MIDI operates on 16 different channels, numbered 0
through 15. MIDI units will accept or ignore a status byte depending on
what channel the machine is set to receive. Only the status byte has the
MIDI channel number encoded. All other bytes are assumed to be on the
channel indicated by the status byte until another status byte is received.
Some of these functions indicated in the status byte are Note On, Note Off,
System Exclusive (SysEx), Patch Change, and so on. Depending on the status
byte, a number of different byte patterns will follow. The Note On status
byte tells the MIDI device to begin sounding a note. Two additional bytes
are required, a pitch byte, which tells the MIDI device which note to play,
and a velocity byte, which tells the device how loud to play the note. Even
though not all MIDI devices recognize the velocity byte, it is still
required to complete the Note On transmission.
The command to stop playing a note is not part of the Note On command;
instead there is a separate Note Off command. This command also requires
two additional bytes with the same functions as the Note On byte. Most
people are confused at first by this approach to Note On and Note Off, but
after further thought they realize the necessity of the structure.
Another important status byte is the Patch Change byte. This requires only
one additional byte: the number corresponding to the program number on the
synthesizer. The patch number information is different for each
synthesizer, and the standards have been set by the International MIDI
Association (IMA). Channel selection is extremely helpful when sending
Patch Change commands to a synthesizer.
The SysEx status byte is the most powerful and least understood of all the
status bytes because it can instigate a variety of functions. Briefly, the
SysEx byte requires at least three additional bytes. The first is a
manufacturer's ID number or timing byte, the second is a data format or
function byte, and the third is generally an "end of transmission" (EOX)
byte. There are a number of books that have been written on the topic of
System Exclusive messages, so this article will not deal with it further.
The INs and OUTs of MIDI
The closest most people ever care to get to the heart of the MIDI interface
are the three 5-pin ports found on the back of every MIDI unit. Labeled IN,
OUT, and THRU, these ports control all of the information routing in a MIDI
system. The IN port accepts MIDI data, data coming "in" to the unit from an
external source. This is the data that controls the sound generators of the
synthesizer. The OUT port sends MIDI data "out" to the rest of the MIDI
setup. This data results from activity of the synthesizer, such as key
presses, patch changes, and so on. The THRU port also sends data out to the
MIDI system, but not in the same manner as the OUT port. The data coming
from the THRU port is an exact copy of the data received at the
synthesizer's IN port. There is no change made to the data from the time it
arrives at the IN port to the time is leaves the THRU port (which is a
very, VERY small amount of time).
MIDI makes use of special five conductor cable to connect the synthesizer
ports. Curiously though, only three of the conductors are actually used.
Data is carried through the cable on pins 1 and 3, and pin 2 is shielded
and connected to common. Pins 4 and 5 remain unused. Not just any cable
will suffice for the exactness of the MIDI system, either. MIDI cable is
specially grounded and shielded to ensure efficient data transmission. This
means that MIDI cable is a little more expensive than standard 5-conductor
cable, but reliable data transmission is absolutely necessary for MIDI.
The length of the cable is critical as well. IMA specifications suggest an
absolute maximum cable length of 50 feet because of the method of data
transmission through the cable. The entire length of a MIDI chain
(discussed below) is unlimited, however, provided that none of the links
are longer than 50 feet. The optimal maximum length for cable is about 20
feet, and most commercially manufactured cable comes in five to ten foot
lengths.
MIDI Chains and Loops
A MIDI chain describes a series of one-way connections in a MIDI setup. The
elemental chain is a single-link chain. The MIDI OUT port of one device is
connected to the MIDI IN port of a second. In this configuration, a key
pressed on the first unit will cause both units to sound. Pressing a key on
the second unit, however, only causes the second unit to sound. Many
instruments may be chained together using a series of single links to
connect the units. In this case, the OUT of the first unit is connected to
the second, the THRU of the second is connected to the IN of a third, and
so on. If all the units are set to receive on the same channel, pressing a
key on the first one will cause all the units to sound. Pressing a key on
any of the other units will only activate the sound of that unit.
A MIDI loop is a special configuration of a MIDI chain. The single element
loop is made of two interconnecting links. This was the configuration used
in the debut of the MIDI system. The OUT port of the first unit is
connected to the IN port of the second, and the OUT port of the second is
connected to the IN port of the first. In this case, as described earlier,
a key pressed on either unit causes both units to sound, provided they are
on the same channel. A MIDI feedback loop does NOT exist here, as the data
going into the second unit from the first is not duplicated in the OUT port
of the second going back into the first. Here, we have two one-way links
connected, not a multi-link chain.
MIDI loops connecting several devices using all three ports can become
complex very quickly. As a brief example, imagine four synthesizers named
A, B, C, and D for convenience. A's OUT is connected to B's IN and
consequently to C's IN via B's THRU. B's OUT connects to D's IN, whose THRU
connects to A's IN. A key pressed on A sounds A, B and C. A key pressed on
C sounds C and C alone. A key pressed on B sounds B, D, and A, while a key
pressed on D sounds D only. C does not sound when B is pressed because
there is no direct connection between B and C, and B's note, which does
route through D, does not route through A into C because A's THRU is not
connected to C, or anything else for that matter. A note played on A does
not sound on D for the same reason. You get the idea.
Computers and MIDI
Computer manufacturers soon realized that the computer would be a fantastic
tool for MIDI, since MIDI devices and computers speak the same language.
Since the MIDI data transmission rate (31.5 kBaud) is different from ANY
computer data rate, manufacturers had to design a MIDI interface to allow
the computer to talk at MIDI's speed. Apple Computers, with the Macintosh
and Apple ][ series, and Commodore were the first companies to jump on the
MIDI computer bandwagon [pun intended]. Roland designed an interface for
the IBM series of compatible computers a few years later, and Atari
designed a completely new computer, the ST series, with fully operable MIDI
ports built in. Today, there are many different interfaces available for
almost all types of computer system.
As great as the number of available interfaces may be, the availability of
software packages is almost beyond belief. Virtually everything that can be
done via MIDI has a software package to do it. First came the sequencers.
Based on a hardware device that simply recorded and replayed MIDI data, the
software sequencer allowed the computer to record, store, replay, and edit
MIDI data into "songs." Though the first sequencers were somewhat
primitive, the packages available today provide very thorough editing
capabilities as well as intricate synchronization methods, such as MTC
(MIDI Time Code) and SMPTE.
Various patch editors and librarians are also available for computers.
These programs allow the user to edit sounds away from the synthesizer and
often in a much friendlier environment than what the synthesizer interface
offers. The more advanced librarians permit groups or banks of sounds to be
edited, stored on disk, or moved back and forth from the synthesizer's
memory. They also allow for rearranging sounds within banks or groups of
banks for customized libraries. These programs are generally small and can
be incorporated into some sequencing packages for ease of use. On the other
hand, each synthesizer requires a different editor/librarian since internal
data formats are unique for each. Some packages offer editor groups for a
specific manufacturer's line as some of the internal data structure may be
similar between the units. But, there is not yet a universal librarian that
covers all makes and models of sound modules; it would just be too large.
Computers in MIDI Chains
Basically, the computer functions the same as any other unit in a MIDI
chain or loop. Most interfaces have the same three ports as other MIDI
devices. The computer's main job in a chain, though, would be as a MIDI
data driver, meaning it would supply the MIDI data for the rest of the
chain. Very rarely is a device connected to the IN port of a computer MIDI
interface except to provide input for synchronization signals or data to
edit. Even more rare is a connection to the computer's THRU port, although
it can be used.
In this scope the implementation of MIDI channels is most effective. The
computer can send data out on all 16 MIDI channels simultaneously. For
example, sixteen MIDI devices, each set up for a different MIDI channel,
could be connected to the computer. Each unit could be playing a separate
line in a song from the sequencer, creating an electronic orchestra. This
implementation is being used more and more in today's music scenes: the
recording studio, major orchestras, opera, and film scoring.
The Future of MIDI
The MIDI specifications set out by the initial design team have not changed
drastically since its creation. The current data structure is as it was
originally designed, the only exception being that some of the initial
status bytes were not initially defined. As it stands, the architecture of
MIDI does not allow for any further expansion. To enhance MIDI further
would take a complete redesign of the system. The IMA has been discussing
new MIDI designs, but industry and the general public will prevent any real
action from taking place because the new design would not be backwards
compatible: none of the current MIDI hardware would operate in the new
environment.
But MIDI does continue to hold promise. The extent of the SysEx
applications has not yet been fully realized. MIDI is by no means about to
become outdated or abandoned by the musical world, and as technology
becomes more and more affordable, a greater number of non-technical people
will invest in their own personal MIDI systems. There may in fact be a day
where the average American family has a home, two cars, three kids, and
their own MIDI in the garage.
References
Arnell, Billy. "McScope: System." Music, Computers, and Software, April
1988: 58-60.
Conger, Jim. C Programming for MIDI. Redwood City: M & T Books, 1988.
Cooper, Jim. "Mind Over MIDI: Information Sources and System-exclusive Data
Formats." Keyboard October, 1986: 110-111.
Enders, Bernd and Wolfgang Klemme. MIDI and Sound Book for the Atari ST.
Redwood City: M & T Books, 1989.
Matzkin, Jonathan. "A MIDI Musical Offering." PC Magazine 29 Nov. 1988:
229+.
Peters, Constantine. "Reading up on MIDI for the Novice and the Pro." PC
Magazine 29 Nov. 1988: 258.
---------------------------------------------------------------------------
ABOUT THE AUTHOR: Eric Lipscomb is a Vice President of the International
Electronic Musicians User's Group, an organization devoted to the
advancement of knowledge about MIDI and other aspects of electronic music
In his spare time he writes for and performs with the comedy group "Green
Chili Burp and the Aftertaste."
---------------------------------------------------------------------------
CCNEWS Copyright Notice
If you use this article, in whole or in part, in printed or electronic
form, you are legally and morally obligated to credit the author and the
original publication name, date, and page(s). We suggest that you also
inform the author of your intention to use this article, in case there are
updates or corrections that he or she might wish to suggest.
If space and format permit, we would appreciate your crediting the
"Articles database of CCNEWS, the Electronic Forum for Campus Computing
Newsletter Editors, a BITNET-based service of EDUCOM." We would also
appreciate your informing us (via e-mail to CCNEWS@EDUCOM) when you use an
article, so we will know which articles have proven most useful.
---------------------------------------------------------------------------