Midi is a specification for a communications protocol principally used to
control electronic musical instruments. It consists of two parts.
the details for the electrical way those commands are transmitted and received
The MIDI specification is presented in a document entitled MIDI 1.0 Detailed
Specifications (affectionately, known as "the spec" which is published and
distributed by the International MIDI Association.
MIDI's original, and still primary, use is in music performance and composition. In recent years, it has moved into related areas, such as audio editing and production, stage lighting, and other aspects of live performance. Its command
set describes a language that is designed specifically for conveying information
about musical performances. It is not "music," in that a set of MIDI commands
is not the same as a recording of, say, a tune played on a French horn. However, MIDI commands can describe the horn player's performance in such a way that a synthesizer receiving them can reconstruct the performance with great accuracy.
Although MIDI is often referred to as a "standard," that term can be misleading because it implies a certain
legal standing. Unlike standards set by the American National Standards Institute (ANSI) MIDI has no basis
in law at all. In fact, compliance with the specification on the part of a manufacturer is strictly voluntary.
Fortunately, most manufacturers making MIDI-compatible equipment follow the specification closely, so that
there is a very high degree of compatibility among all MIDI-capable devices.
A Brief History of Electronic Music
Electronic music has been around since the 1940s -- and some would argue
that it's even older than that. The pioneers of electronic music built their
studios with discrete components -- like oscillators, filters, mixers, and frequency shifters -- that were originally designed for use in decidedly, non-musical
contexts, such as radio testing benches, audiology, labs, and telephone networks. From these tools (which made up the "classical" electronic-music
studio composers could create a wide variety of interesting and musical
sounds. A few inventors in those early days designed electronic instruments
that had their own distinct sounds, like the Theremin and the Ondes Martenot.
Others created imitative instruments, such as the Hammond organ and the
Cordovox accordion, which mimicked the feel and sound of conventional
instruments.
By the 1960s, the first dedicated electronic-music systems, known as
synthesizers, appeared. Early synthesizers consisted of modules that took over
the functions of the discrete components of the classical studio. These synthesizers also made use of new types of modules specially designed for music
manipulation. These included envelope generators, which change a sound's
amplitude (volume) over time; envelope followers, which impose the amplitude
envelope of one sound onto another; modulators, which combine two or more
sounds in ways that create more complex sounds -- and sequencers, in which
discrete events or parameter values can be stored and played back over time,
with the tempo determined by a timer, or clock, which itself was often a
module.
Because the modules in a synthesizer were designed to work together, interfacing them in unusual and creative ways was relatively easy. For example,
an envelope generator could be used to open and close a filter so that a sound's
tone or timbre (as well as, or instead of, its volume) could evolve over time. A
sequencer could be used not only to play a series of pitches, but to change -- in discrete steps -- the
volume or tonal characteristics of a sound over time.
Patch Cords and Voltage Control
Early synthesizer modules were connected with short cables known as patch cords. The connection of many cables to create a particular sound or
sequence of sounds became known as a patch. This term survives today to
describe a particular synthesizer sound or voice. The patch cable carried
voltages. The modules communicated with each other using voltage control, by which a module receiving a varying voltage behaved as if one of its knobs was being turned.
Here's an example: A conventional oscillator has a knob for setting its output frequency. Instead of a knob, a voltage-controlled oscillator has a control input that accepts varying voltages and changes the output frequency based on that voltage. In this way, a 1-volt signal may produce a tone at 100Hz, a 2-volt signal produces a 200Hz tone, a 3-volt signal a 400Hz tone, and so on. With each 1-volt increase in the control voltage, the pitch of the oscillator rises by one octave; that is, its frequency
doubles. This is known as 1-volt-per-octave voltage control. Voltage control can also be applied to a filter, in which it can vary the cutoff frequency, or bandwidth; to a mixer, in which it can change the level of one or more inputs; or to a sequencer's clock, in which it can control the tempo.
Voltage control became very popular among synthesizer manufacturers, but it had its problems. Since there was no standardization of voltage-control schemes, synthesizers from different manufacturers were often incompatible. Some used one volt per octave, while others used different ratios or curves. This meant that a control change that raised the pitch an octave on one synthesizer might only raise the pitch a minor third on another. Also, because the signals were analog in nature, absolute accuracy wa
s hard to achieve. Two sounds in a patch might be in tune one moment and out of tune a few minutes later; for as the components heated up, the voltages drifted.
A different type of signal was necessary for synchronizing audio events produced by different modules. Instead of voltages, which change smoothly, what was needed was a more immediate, binary, on/off signal. These signals, generally pulses of a certain length, were known as triggers. A sequencer could fire off triggers to initiate sounds as easily as it sent voltages that controlled timbres. Unfortunately, the variations in triggering schemes among different synthesizer manufacturers were even greater
than those in voltage control.
Digital Communications
In the late 1970s, synthesizers began using digital electronics, which largely solved the problems of repeatability and drifting. Digital synthesizers use mathematical algorithms to produce digital "models" of waveforms and to convert them into audio signals using a digital-to-analog converter, or DAC. "Modules" were now all software -- and mixing and routing circuitry could also be completely internal. "Patches", now also known as programs, became sets of digital parameters describing module settings a
nd signal routings. Programs could be stored in a synthesizer's internal digital memory -- and recalling one became a simple matter of pushing a button.
The next challenge was to figure out a way to use digital electronics to connect synthesizers to each other. As synthesizer-based rock bands became more popular, performers found themselves trucking around huge arsenals of electronic keyboards. The common plea was for a system that would let them control and operate all these instruments from a single, common keyboard.
Roland, Oberheim, Sequential Circuits, and Fender Rhodes were among the manufacturers who developed digital control schemes that allowed keyboard synthesizers to be slaved to each other, and external sequencers to be integrated with them. For example, a musician using a Roland Synthesizer would play a piece of music on the keyboard -- and data representing all the keystrokes would be sent out of the synthesizer on a special digital control cable, connected to a Roland sequencer in its own box. the sequenc
er recorded the keystroke data in real time, and could play it back later with great accuracy. The sequencer could be connected -- again with a digital cable -- either to the instrument from which the performance originated, or to another Roland synthesizer capable of reading the digital information.
Although some of these digital control schemes were highly evolved, the problem of incompatibility remained. Each manufacturer had its own ideas for implementing digital control, so instruments from different manufacturers still couldn't communicate with each other. Sequential Circuits, a California synthesizer maker (since taken over by Yamaha and Korg), become the first company to propose a common digital interface for synthesizers from different manufacturers. They introduced the Universal Synthesizer
Interface (USI) in October, 1981, in a technical paper delivered at a convention of the Audio Engineering Society (AES). Meetings followed over the next year among representatives of several American and Japanese electronic instrument makers. The first MIDI synthesizer, Sequential's Prophet 600, shipped in December, 1982. The first two MIDI synthesizers from different companies were publicly hooked together a month later (a Prophet 600 and a Roland Jupiter 6) to an astonished crowd at a meeting of the Nat
ional Association of Music Merchants (NAMM).
MIDI synthesizers immediately hit the market from a number of manufacturers, and the official MIDI 1.0 Detailed Specification was published in October of 1983. Some manufacturers held onto their own control schemes for a little while, thinking theirs was still a better way to do things -- but it quickly became obvious that MIDI was going to become the undisputed industry standard. Soon, just about every serious electronic instrument under development included MIDI capability.
The Goals Of MIDI
MIDI is based on two major principles: universality and expandability. Every manufacturer of MIDI equipment that uses the term "MIDI" anywhere on the case or in the documentation is expected to implement the specification correctly. This means that the unit can accept and correctly act upon data
generated from another MIDI device -- and that any MIDI data it generates must be understood by, any other MIDI device. It also means that every MIDI command has the same meaning to the receiver as it does to the transmitter (although the interpretation may vary, as discussed later).
A MIDI device must not only know, what to do when it receives a MIDI command, it must also know what not to do. The MIDI specification is a very comprehensive set of commands -- and no device on the market can respond to every one of them. That's why it's important that a MIDI device know enough to ignore the commands it doesn't understand rather than trying to interpret them. This feature is a key aspect MIDI'S universality.
The MIDI specification was deliberately designed with "holes" in it for commands that are not yet defined. This was done so that as new uses for MIDI are developed, the command set can be expanded to accommodate them. For example, MIDI Time Code Quarter Frame messages were not in the original
Specification. MIDI Time Code was added in 1987, and the command it uses was "Undefined" in the original spec. Since devices built before 1987 were designed to ignore commands that were undefined at the time, MIDI Time Code messages should not pose any problems.
Other new functions are possible using new combinations of commands. The MIDI Sample Dump Standard, added in 1986, uses a previously unused form of System Exclusive messages known as Universal System Exclusive. Devices, new or old, that don't understand these messages will ignore them. Other MIDI commands have been redefined or clarified through periodic published supplements and revisions of the MIDI specification. However, these commands remain basically unchanged -- and their compatibility with existin
g MIDI devices is never compromised.
Today, the MIDI Specification is still referred to as "1.0," even though it has expanded a lot. That is because the original command set is still contained in the specification. There will almost certainly never be a "MIDI 2.0," because that would imply changes that would make existing MIDI devices obsolete. Every MIDI device ever made will always be compatible with every other MIDI device ever made -- even though some devices will certainly do a lot more than others.
Compared to some of the other data-exchange protocols, such as PostScript, the MIDI specification is relatively simple. PostScript is a page-description language used by computers and printers in desktop and professional publishing systems. It is a highly complex language that requires that the controlling computer tell the printer everything about the page it is going to print: the description of every letter in every font; every bit, line, and curve in a graphic; the text itself; and the position of a
ll of these elements. The comprehensive nature of PostScript is one of the reasons that laser printers (and other high-quality printers) take a long time to output a complex page. MIDI, on the other hand, takes advantage of a principle called "distributed intelligence." Instead of a central controller doing all the work, and the peripherals being merely dumb producers of sound, the peripherals themselves have computer processors and memory. MIDI assumes that the receiving device can take care of defining
and producing a sound when it receives a simple command. This means that the structure of the language can be kept small and simple.
Another goal of the designers of MIDI was to keep costs down. This was done in the interest of universality, so that as many manufacturers as possible would adopt the protocol. When it was first introduced, it was estimated that adding MIDI to a digital synthesizer would cost between $5 and $10 at the
manufacturing level. It was felt that anything more than that would give manufacturers an excuse to balk at incorporating it into their products. Certain trade-offs had to be made to keep down the cost of MIDI -- and many people thought that these would severely limit its capabilities. As it turns out, these critics were not entirely wrong. There are a number of issues involving the speed and data capacity of MIDI, which are limited by the specification itself, that are now being confronted by those w
ho are dealing with the future of the spec.
How MIDI Works
MIDI is a serial data protocol, which means that it sends one bit at a time over a piece of wire. (The other major type of protocol, parallel, can be much faster, but is also much more expensive to implement on a hardware level. A bit is a single binary digit -- on or off, 0 or 1. These bits are grouped into bytes of eight or ten bits (depending on how you count them) and bytes are combined into commands, or messages. A MIDI command may, consist of one or more bytes. What the MID] specification does, in
a nutshell, is to delineate how the commands are structured and deciphered -- and to stipulate the electrical characteristics of the circuitry that creates and interprets the data.
Outer Sound would like to thank Omega Studios for providing this article. Omega
is a top-notch facility in the Washington, D.C. area. They also run a highly respected audio education program.
You can find more information on
Omega in their Outer Sound pages. Or contact them:
Omega Studios
5609 Fishers Lane
Rockville, MD 20852
tel: 301-230-9100
fax: 301-230-9103