MIDI is a standard communications protocol that allows computers and electronic musical
instruments to 'talk' to each other. It stands for Musical Instrument Digital Interface and
is used by electronic musicians because it's a powerful tool for composing. It allows
musicians to be more creative on stage and in the studio. It also allows composers to write
music that no human could ever perform and it allows musicians to distribute that music in a
standard format.
In the same way that computers can communicate via modems, two synthesizers (or other midi
devices) can communicate via MIDI. The information exchanged between two MIDI devices is musical
in nature, but other devices used by musicians are often connected using MIDI. The important
thing to realize is this is not sound information, but performance data. That is, MIDI
information tells what notes were played and how they were played, not what it sounded like!
So 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
patches, 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, or sequencer.
A MIDI instrument is any musical instrument with MIDI ports. Most MIDI instruments are
electronic keyboards, modules and synthesizers, but there are several others such as drums,
guitars, and wind instruments. A MIDI port is just a 5 pin jack which you plug a MIDI cable
into. A MIDI instrument will have up to three MIDI ports. The MIDI Out port will send data
that originates from that instrument. The MIDI In port will deliver data to the instrument.
The MIDI Thru port will send an exact copy of the data coming into the MIDI In port and pass
it on to another instrument or device.
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 the 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.
The sequencer
Ok, so far, so good. However, the real fun with MIDI comes when you hook up to a sequencer.
A sequencer records your performance on a MIDI instrument and enables you to edit and overdub.
Recording your performance means that all the MIDI information the MIDI instrument sends out
as you play is recorded as a series of events. Think of this as a word processor for music.
With a word processor, you can correct your spelling, add or delete words, rearrange sentences
or even whole paragraphs, change the type of font, etc. With a sequencer, you can correct bad
notes, correct your timing, add or delete notes, rearrange parts of a song, change tempo,
choose different tones to play back with, etc. Just as you can compose the perfect looking
letter with a word processor, you can construct the perfect performance with a sequencer!
Overdubbing is when you play a part, and then play another part along with it. For example,
you play a melody. Then while you listen back to it, you play an accompaniment, maybe drums,
or bass guitar, or piano. You can create an entire orchestra like this if you desire. So with
the combination of editing and overdubbing, you can see that a sequencer is quite an awesome
tool! Read more about sequencers in the software part..
General Midi
The complete MIDI protocol is until now only a protocol that makes different MIDI devices
'talk' with each other. But with the upcoming use of MIDI, and the upcoming distribution
and sharing of midi files, the next problem occurred: a MIDI file written for a device,
sounded really different on another one. That's the point the Genaral MIDI (GM) comes in.
A MIDI file made on a GM device, should sound (more or less) the same on every other GM device
in the world. So GM doesn't mention sound quality of synthesis methods. Discussions are under
way on standardizing sound parameters such as playable range and envelope times.
The heart of General MIDI is the Instrument Patch Map, shown in the GM patch list. This is a
list of 128 sounds, with corresponding MIDI program numbers. Most of these are imitative
sounds, though the list includes synth sounds, ethnic instruments and a handful of sound
effects. So what is the effect: for example patch 0 is a grand piano, on EVERY GM device !
And controller 7 is channel volume control, on EVERY GM device.... So your MIDI data will
be recognized the right way by every GM device..
General MIDI also includes a Percusssion Key Map, show in the GM patch list. This mapping
derives from the Roland/Sequential mapping used on early drum machines. To avoid concerns
with channels, GM restricts percussion to MIDI Channel 10. Theoretically, the lower nine
channels are for the instruments, but the GM spec states that a sound module must respond to
all sixteen MIDI channels, with dynamic voice allocation and a minimum of 24 voices.
Other requirements for a GM sound module include response to velocity, mod wheel, aftertouch,
sustain and expression pedal, main volume and pan, and the All Notes Off and Reset All
Controllers messages. The module also must respond to both Pitch Bend and Pitch Bend
Sensitivity (a MIDI registered parameter). The default pitch bend range is +-2 semitones.
Middle C (C3) corresponds to MIDI key 60, and master tuning must be adjustable. Finally, the
MIDI Manufacturers Association (MMA) created a new Universal System Exclusive message to turn
General MIDI on and off (for devices that might have "consumer" and "programmable" settings).
The GM patch list summarizes these requirements.
General Standard
Some companies feel that General MIDI doesn't go far enough, so Roland created a subset or
superset of Genaral Midi, which they call General Standard (GS). It obeys all the protocols
and sound maps of General MIDI and adds many extra controllers and sounds. Some of the
controllers use unregistered parameter numbers to give macro control over synth parameters
such as envelope attack and decay rates.
It was a simple but effective solution. Instead of making a complete new protocol, they used
the GM commands, AND added some new commands. So a file made on a GM device can be played on
a GS device! And even smarter: a file made on a GS device can be played on a GM device (but
will sound less becouse not all commands will be used (or recognized) by the GM device). After
all, compatibility is what MIDI - and especially General MIDI - is all about.
The new MIDI Bank Select message provides access to extra sounds (including variations on the
stock sounds and a re-creation of the MT-32 factory patches). The programs in each bank align
with the original 128 in General MIDI's Instrument Patch Map, with eight banks housing related
families. The GS Standard includes a "fall back" system. If the Sound Canvas receives a request
for a bank/program number combination that does not exist, it will reassign it to the master
instrument in that family. A set of Roland System Exclusive messages allows reconfiguration
and customization of the sound module.
Software / Sequencer History
Although there were such things as analog sequencers (you can hear one on Pink Floyd's On the
Run, from the Dark Side of the Moon album), the sequencer didn't really come into its own
until the invention of MIDI. A sequencer allows you to record, edit, and play back the
parameters of a musical performance. The basic concept is that of a player piano. A sequencer
does not record sounds in any way. Instead, it records the MIDI data. When you play back the
sequence, your sound module will play the notes with the same timing and dynamics that you
gave them when you recorded.
Why record this way, instead of using tape? Editing. Once you record a track to analog tape,
there is little you can do to change it, other than cutting and pasting sections of tape.
With a MIDI performance, you can change it in any way you like, after the fact. You can:
change the sound from piano to harpsichord or bouzouki; transpose the pitch without altering
the speed; change the tempo without altering the pitch; correct wrong notes; add or modify
dynamics; play the part backwards or even upside-down, if you wish! All MIDI events can be
changed the way you like it.
About the only thing you can't do with a sequencer is record the sounds of voices, guitars,
or other acoustic instruments. MIDI only works with electronic instruments: synthesizers,
samplers, and drum machines. Nowadays, however, there is a new crop of products that can play
digital recordings along with MIDI files, so it won't be long. See the modern software
section below for more information about this.
There are two kinds of sequencers, hardware and software. Hardware sequencers are typically
little black boxes dedicated to the task of sequencing. Some have built in tone modules,
giving you two tools in one box. The advantages of these boxes are they are portable and
roadworthy, easier to set up, and less expensive than buying a computer system. Software
sequencers are obviously programs you can buy for your computer. Computer monitors can
display a larger amount of information than small LEDs or LCDs that are common to hardware
sequencers. This makes editing faster and easier. Some other advantages include more memory,
more flexibility, customizing to your own style and printing capability. Both hardware and
software sequencers of all types are similar in purpose, concepts, and features.
Musicians who use sequencers live have been slow to make the switch to computer-based systems.
Bulky monitors, CPUs, etc. are impractical on stage, so for years, stand-alone, dedicated
sequencers, designed to be small and reasonably road-worthy, have dominated the market. The
granddaddy of them all was the Yamaha QMIDI is a standard communications protocol that allows
electronic musical instruments to 'talk' to each other.X-1. It had full editing capabilities,
a 70,000-note capacity, a 5 1/4-inch disk drive, and eight MIDI-outs. Later, the Roland MC
series of sequencers, powerful machines the size of a telephone, held sway for many years.
Nowadays the scene for sequencers is changed completely. They come in all levels of
complexity (and price), and are often sold packaged with other products. The hottest thing in
keyboards right now is the "workstation", a sample-playing/synthesizing keyboard with a
sequencer and disk drive built right in. People who use sequencers live get into laptop
computers, so it looks as if the heyday of the stand-alone sequencer is over. The laptop
is more compatible for computer composers, and bacouse of the bigger screen the user interface
is a lot more comfortable. The only thing you need is a MIDI port and some sequencer software.
Computer based sequencing
Computer based software sequencing programs have alot of advantages. But there are a few
drawbacks. Portability is one. Unless you already own a computer, cost could be another.
If you are not computer literate, there is a steeper learning curve. As mentioned before,
the advantages are considerable. There can be much more information on the screen, making
editing faster and easier. Greater flexibility and control over many functions, including
file management, make this type of sequencing the preferred method. If you want to go perform
with your sequences, and if you can afford it, building them on your computer system at home
and then transferring them to your road sequencer is the way to go!