MIDI 101

If you're shopping for a digital piano or other home keyboard, you're likely to encounter a slew of new technical terms. Many of these revolve around

If you're shopping for a digital piano or other home keyboard, you're likely to encounter a slew of new technical terms. Many of these revolve around MIDI technology.

These days, MIDI (pronounced MID-ee) is such an important part of making music with electronic instruments that virtually any keyboard, digital piano, or synthesizer on the market is MIDI equipped. To understand why, let's start at the beginning.


MIDI (short for Musical Instrument Digital Interface) was introduced more than 20 years ago as a method of communication between synthesizers from different manufacturers. Prior to MIDI's inception, it was virtually impossible to integrate several electronic musical instruments into a system where they could work together simply and reliably.

The most common misconception about MIDI is that it contains audio information. In fact, it doesn't carry any data that you can actually hear. Instead, it's a complex computer language used to relay performance information to and from an instrument.

A MIDI cable features a small, round 5-pin connector on either end, and it easily connects one instrument to another. You'll find MIDI In and Out jacks on any MIDI instrument. Often, instruments include a Thru jack as well, which echoes the information received at the In so that it can be passed on to other MIDI devices (see Fig. 1).

Unlike many computer interfaces, MIDI communicates in only one direction. To send data from one instrument to another, you need to connect the Out from the first instrument to the In of the second instrument. In this configuration, the first instrument is called the master and the second instrument is called the slave. Additional slaves can be added by “daisy-chaining” them to the Thru ports (see Fig. 2).

You can think of MIDI information as a modern-day, electronic version of the piano roll found on old player pianos. Those rolls had holes punched in a specific order that represented the actual performances of the music. The holes in the roll correlated with specific notes on the piano and “communicated” to the piano which notes to play and how long to hold them.

Similarly, the data that goes through a MIDI cable communicates to a MIDI instrument, telling it not only what notes to play and how long to hold them, but, as you'll see, quite a bit more.

MIDI also spawned a new type of instrument called the sound module. This is a box that contains a music synthesizer but that has no keyboard. The sounds from the module are played by connecting another MIDI instrument and triggering the notes from the other instrument's keyboard. This makes it possible to have many synthesizers in a small amount of space because only one keyboard is needed to control them all. You'll find that many of today's most popular instruments are available as both a keyboard and a sound module.


If MIDI isn't carrying audio information, how does it work? In order to faithfully transmit every nuance of a performance, MIDI uses many different messages.

When you hit a key on a keyboard, MIDI sends a Note On message with a note number for that specific key. This message also includes a Velocity value, which indicates how hard the key was pressed. When you release the key, a Note Off message is sent, which tells the connected instrument to stop playing that note. As you can imagine, playing a simple two-handed piano passage creates a flurry of MIDI information!

But that's just the beginning. Many of the most important aspects of MIDI are handled by Control Change (CC) messages. One common CC is used for sustain pedal information (also known as Damper Pedal or Hold Pedal). When you press the pedal, MIDI sends an On message for CC 64 (the Control Change number dedicated for sustain pedal information). When you release the pedal, an Off message is sent. The sustain pedal is an example of a switched CC message. It's either On or Off, with no gradients in between.

CC messages can also be continuous, with 128 steps of control (0-127). Volume (CC 7) is an example of a continuous controller that can be smoothly and gradually changed over time. Other commonly used continuous Control Change messages include Modulation (CC 1), often used for vibrato effects; Pan (CC 10), which is the placement of the sound between the left and right speakers; Reverb (CC 91); and Chorus (CC 93), a detuning effect which is used to fatten or enhance a sound.

Two more important MIDI messages are Pitch Bend and Aftertouch, which are crucial for re-creating the performance nuances of other instruments.

Pitch Bend can be used in small amounts, for example, to emulate the subtle finger-bending of a string on a guitar. Or the bend range can be much more dramatic, emulating the sound of a slide trombone. In addition to emulating acoustic instruments, Pitch Bend is commonly used to add expressiveness to synthesizer lead sounds. Different keyboards allow pitch bending in different ways, using levers, wheels, or even pedals. Unlike other MIDI controllers, Pitch Bend is centered at a zero value and can have negative or positive values. (Most MIDI controllers start at zero and can only increase with positive values.)

Aftertouch (also known as Pressure) is a MIDI message that is created by pressing down on a key after the initial attack. This gives the performer a very natural way to add vibrato or sforzando (volume swell) by simply pressing harder on the keys. Many pianists find this effect to be odd at first. With practice, however, it becomes an expressive technique to add nuance to your performance, because it doesn't require the use of additional pedals, levers, or sliders.

All of these MIDI messages can be separated onto 16 MIDI Channels. By using different channels, it's possible to have many musical parts carried by a single MIDI cable. This works similarly to cable television: the cable connected to your TV actually carries the programs found on all channels, but you “tune in” to one channel at a time to view a specific broadcast. Of course, with only two hands, you may feel that there's no need to worry about separating your musical performance onto different channels. This brings us to one of the most exciting applications of MIDI, known as sequencing.

A sequencer is a multitrack recorder for MIDI information. It allows you to record, overdub, and edit MIDI performances on different channels and play them back simultaneously, triggering sounds from your MIDI instrument. Sequencers are often included in many of today's keyboards, but the most popular way to record MIDI is by using computer-based sequencing software. (For more on computer-based sequencers, see “The Computer Connection” on page 52.)


There are many benefits to “recording” your music as a MIDI performance. First of all, tempo is completely flexible. When you slow down a MIDI sequence, you are simply sending the note triggers at a slower rate. This is a big advantage that MIDI has over audio recording, which usually sounds strange when sped up (the “chipmunk effect”) or slowed down (the “Darth Vader effect”). MIDI performance tempos can be changed drastically with no alteration of the actual pitch. For example, you can slow down your song to play a difficult passage at a comfortable speed and then speed things back up to hear it at the original tempo.

Another great benefit of sequencing is quantization. This is a computer-aided time correction that helps the various parts you've recorded to groove together. It is especially useful for rhythm instruments like drums and percussion. The concept is simple: you tell the computer the meter and tempo of your song, and then you set a quantize resolution. For example, a quantize resolution of sixteenth notes will divide each measure into 16 beats, and then it will move each note that you play to the closest division.

However, quantizing is often overused and must be applied carefully, otherwise it can strip the human feel from your performance. Fortunately, most sequencers allow you to try different quantize settings without destroying or altering the original performance. (This is commonly called nondestructive quantization.) Typically, you can vary the amount of quantizing for different parts so that drum tracks can be tight and focused while other instruments are left untouched or more lightly corrected.


Let's say you've created a song in your computer sequencer and now want to play it back on a different computer equipped with different sequencing software. Or perhaps you want to e-mail it to a friend so she can hear it at her house on her instrument.

Even though you may be dealing with different software and even different computer platforms, it's not a problem. Why? Because of the Standard MIDI File (SMF).

The SMF is a universal file format that's platform-independent. It allows you to export your song as a file that any sequencer can open and play. There are two types of SMF: Type 0 and Type 1. Both types contain all of the information needed to play back your song correctly — such as tempo changes, time signatures, and, of course, the actual musical performance. It's important to note that both types of SMF files will sound identical when played back.


SMF Type 0 combines all of the parts for each channel onto a single track. For example, if you have a simple sequence with individual tracks for drums, tambourine, shaker, and congas, all of those tracks will be combined together. Of course they'll still sound the same, but you won't be able to easily select or mute just one of the parts. SMF Type 0 is usually the best choice for playback using an instrument's internal sequencer because some instruments have limits on how many tracks can be recognized.

SMF Type 1 exports all tracks exactly as they are laid out in your sequencer. This is the preferred type of SMF for moving files between different computer platforms and various sequencing programs because it retains your unique track separation, allowing for track-specific quantizing and editing.

SMFs are common throughout the music industry. They are available for purchase with music books and training courses, often in a “music-minus-one” format, which allows the user to play along with full arrangements. SMFs are also used by musicians and composers who collaborate with others as an easy way to share music files. If you've spent any time researching music on the Internet, you've probably found that many SMFs are available online. Magazines (such as Electronic Musician) post them as enhancements to their printed articles, and many amateur and professional musicians use their own Web sites to post their songs and share their music with the world.


Another important aspect of MIDI sequencing involves the use of Program Change messages. These messages, which you can insert at any point (or points) in a sequence, allow you to assign specific sounds for each of the MIDI channels that you're using in your song. You can also set the sounds to change at any point in the song by inserting additional Program Change messages. But with the countless number of synthesizers and electronic instruments available, it was necessary to establish a set of rules that composers could follow so that their music would play correctly on any instrument.

By using Program Changes, a musician can be sure that whenever he plays his song on his synthesizer, the piano part will always play with a piano sound. But how can he be sure that it will play a piano sound on other MIDI instruments, perhaps ones mde by a different manufacturer with a different sound set?

General MIDI (GM) solves that problem with specific guidelines that determine where sounds are found and how they behave. Many instruments are GM-compatible, which means that they adhere to this set of rules.


In General MIDI, there are 128 instrument sounds that are always found in the same memory positions, as specified in the General MIDI Level 1 Sound Set (see page 49). For example, if you send Program Change 1 to any GM instrument, it will select a piano sound. Program Change 41 will select a violin sound, Program Change 57 a trumpet sound, and so forth. This standardized sound set allows you to be confident that your harpsichord track won't come out sounding like an oboe (unless, of course, you want it to).

But the sounds aren't limited to traditional instruments. You'll also find distorted guitar (PC 31), “Choir Aahs” (PC 53), sitar (PC 105), bagpipe (PC 110), and helicopter (PC 126), among many others. In fact, GM is the core of many computer-game soundtracks and sound cards, so the full compliment of unique synth textures and sound effects comes in handy.

GM1 also specifies a standard drum kit, known as the General MIDI Level 1 Percussion Map (see page 51), which includes 47 sounds assigned to particular notes on the keyboard. The percussion map includes not only the sounds of a full drum set, but also unique ethnic percussion sounds like congas, timbales, maracas, triangles, and cuicas. Because each note is assigned a certain sound, drum parts always play back with the correct feel and nuance.


In addition to the standard set of 128 sounds, a GM instrument must be 16-part multitimbral. In other words, it must recognize all 16 MIDI channels and be able to play different instruments on each channel simultaneously. Channel 10 is reserved for the drum kit.

A GM instrument also requires a minimum of 24-voice polyphony. This means that it must be able to play at least 24 notes at the same time, so that all of the parts can play together. All of those voices must respond to Velocity, Aftertouch, and Pitch Bend.

And finally, General MIDI requires that each part respond to several CC (Control Change) messages including Modulation (1), Volume (7), Pan (10), Expression (11) and Sustain (64). There are also several other functions that include tuning (coarse and fine) and pitch-bend sensitivity.


As you can imagine, General MIDI was a boon to folks who wanted to exchange songs between instruments. However, just as it quickly became a universal standard for sequenced performances, musicians and programmers began to find that it was too restrictive for more advanced applications. Hence, General MIDI 2 (GM2) was born. GM2 adheres to all of the original General MIDI specs and adds many additional enhancements that reflect advances in the power of the newer instruments and popular requests from musicians.

GM2 adds 87 new instrument sounds (for a total of 215), and it also dramatically raises the number of sound effects to 46. Additionally, it specifies 8 unique drum kits using 133 drum and percussion sounds (which is nearly triple the number of sounds in the original GM1 spec). Channel 11 is also assigned as a drum part, along with the original Channel 10, for two simultaneous drum kits.

Because of the expanded sound sets, GM2 must also recognize Bank Select messages (CC 0). When combined with Program Change messages, Bank Select can choose from literally thousands of sounds in different banks. General MIDI 2 also responds to 14 additional Control Change messages for even more real-time control over the sounds in a performance.

GM2 also specifies that Reverb and Chorus effects must be available with a separate level for each part. Having these effects available allows you to mix and enhance your sequences in much the same way that professional recordings are polished and refined. It also adds to the realism of the instruments because they appear to exist in a more natural, ambient space.


For many people, MIDI has dramatically changed the way that music is played, written, recorded, and shared. Don't be afraid to plug in those MIDI cables and experiment — you may just find that it'll change your musical life for the better.

Scott Wilkie is a keyboardist and composer based in southern California. MIDI really did change his life. Check out his Web site at scottwilkie.com.

General MIDI Level 2

Learn more about the GM2 specs at the EM Web site (www.emusician.com).

GM Level 1 Sound Set


1Acoustic Grand33Acoustic65Soprano Sax97Rain2Bright Acoustic34Electric (Finger)66Alto Sax98Soundtrack3Electric Grand35Electric (Pick)67Tenor Sax99Crystal4Honky Tonk36Fretless68Baritone Sax100Atmosphere5Electric Piano 137Slap Bass 169Oboe101Brightness6Electric Piano 238Slap Bass 270English Horn102Goblins7Harpsichord39Synth Bass 171Bassoon103Echoes8Clav40Synth Bass 272Clarinet104Sci-Fi

9Celesta41Violin73Piccolo105Sitar10Glockenspiel42Viola74Flute106Banjo11Music Box43Cello75Recorder107Shamisen12Vibraphone44Contrabass76Pan Flute108Koto13Marimba45Tremolo Strings77Blown Bottle109Kalimba14Xylophone46Pizzicato Strings78Shakuhachi110Bagpipe15Tubular Bells47Orchestral Strings79Whistle111Fiddle16Dulcimer48Timpani80Ocarina112Shanai

17Drawbar49Strings 181Square113Tinkle Bell18Percussive50Strings 282Sawtooth114Agogo19Rock51Synth Strings 183Calliope115Steel Drums20Church52Synth Strings 284Chiff116Wood Block21Reed53Choir Aahs85Charang117Taiko Drum22Accordion54Voice Oohs86Voice118Melodic Tom23Harmonica55Synth Voice87Fifths119Synth Drum24Tango Accordion56Orchestra Hit88Bass plus Lead120Reverse Cymbal

25Acoustic (Nylon)57Trumpet89New Age121Guitar Fret Noise26Acoustic (Steel)58Trombone90Warm122Breath Noise27Electric (Jazz)59Tuba91Polysynth123Seashore28Electric (Clean)60Muted Trumpet92Choir124Bird Tweet29Electric (Muted)61French Horn93Bowed125Telephone Ring30Overdriven62Brass Section94Metallic126Helicopter31Distortion63Synth Brass 195Halo127Applause32Guitar Harmonica64Synth Brass 296Sweep128Gunshot

Control Changes


0Bank Select MSB1Modulation2Breath Controller3Undefined4Foot Controller5Portamento Time6Data Entry MSB7Channel Volume8Balance9Undefined10Pan11Expression Controller12-15Undefined16-19General Purpose Controllers 1-420-31Undefined32Bank Select LSB33-37LSB for CCs 1-538Data Entry LSB39-63LSB for CCs 7-3164Damper Pedal (Sustain)65Portamento On/Off66Sostenuto67Soft Pedal68Legato Footswitch69Hold 270Sound Controller 1 (default: Sound Variation)71Sound Controller 2 (default: Timbre/Harmonic Intensity)72Sound Controller 3 (default: Release Time)73Sound Controller 4 (default: Attack Time)74Sound Controller 5 (default: Brightness)75-79Sound Controllers 6-10 (no defaults)80-83General Purpose Controllers 5-884Portamento Control85-90Undefined91Effects 1 Depth92Effects 2 Depth93Effects 3 Depth94Effects 4 Depth95Effects 5 Depth96Data Increment97Data Decrement98Non-Registered Parameter Number LSB99Non-Registered Parameter Number MSB100Registered Parameter Number LSB101Registered Parameter Number MSB102-119Undefined120-127Channel Mode messages

GM Level 1 Percussion Map


35Acoustic Kick51Ride Cymbal 167High Agogo36Kick 152Chinese Cymbal68Low Agogo37Side Stick53Ride Bell69Cabasa38Acoustic Snare54Tambourine70Maracas39Hand Clap55Splash Cymbal71Short Whistle40Electric Snare56Cowbell72Long Whistle41Low Floor Tom57Crash Cymbal 273Short Guiro42Closed Hi-Hat58Vibraslap74Long Guiro43High Floor Tom59Ride Cymbal 275Claves44Pedal Hi-Hat60Hi Bongo76Hi Wood Block45Low Tom61Low Bongo77Low Wood Block46Open Hi-Hat62Mute Hi Conga78Mute Cuica47Low-Mid Tom63Open Hi Conga79Open Cuica48Hi-Mid Tom64Low Conga80Mute Triangle49Crash Cymbal 165High Timbale81Open Triangle50High Tom66Low Timbale