General MIDI Redux

General MIDI 2 brings new tools and sounds to a well-established desktop standard.

The birth of MIDI brought a great deal of interconnectivity to the electronic-music world, but within a few years, desktop musicians, multimedia producers, and game developers began clamoring for some level of playback predictability during the exchange of Standard MIDI Files (SMFs). Understandably, composers and arrangers wanted to ensure that piano parts would be played with piano patches and drums wouldn't sound like violins.

The MIDI Manufacturers Association (MMA) responded by introducing the General MIDI (GM) standard in 1991. General MIDI 1 (or GM1) established a common set of musical criteria for synthesizers and sound modules. The standard was well suited to producing soundtracks for games, distributing MIDI library music, as well as swapping sequences with friends and collaborators.

It wasn't long, however, before musicians and developers demanded more GM instruments with greater control over the instrument sounds. Roland introduced its GS extension to the GM standard, with more patches, more notes in the drum map, and additional elements such as chorus and reverb. Yamaha developed its own XG extension with even more patches and parameters.

In an effort to update the aging GM1 standard, the MMA released General MIDI 2 (GM2) in late 1999. GM2 expands not only the instrument set and drum map but also the number of controller messages a device can implement. To be GM2 compliant, a synth must feature 32-note polyphony, offer a wider range of instrument sounds, include basic effects, and support a number of new messages.

In the February 2001 issue, EM examined the crop of GM sound modules; here are some ways to creatively use GM2's newfound power.


Musicians have long struggled to live within GM1's 24-note polyphony limit, and though the eight additional notes GM2 provides may not seem like much when many instruments boast 128-note polyphony, every little bit helps. Those eight notes can let you use a layered sound that you might have otherwise avoided or add a countermelody that you might have left out.

The new sounds are generally variations of GM1 sounds — for example “wide” and “dark” variations on program 1, Acoustic Grand Piano. In fact, the number of pianos has tripled to include nine acoustic and nine electric pianos. A variety of guitars, basses, string ensembles, and brass patches have also been added. To maintain backward compatibility with GM1 modules, the first sound bank contains the original 128 programs. The new sounds are located in other banks. Anyone familiar with Roland's GS patches will feel at home with the GM2 sound set. (For a closer look, see the sidebar “New Sounds in GM2.”)

GM2 devices must include chorus and reverb, which help SMFs sound more polished. Whereas the quality and character of those effects still varies considerably from one device to another, the MMA went so far as to define room size and reverb time, along with specific chorus settings to minimize the variations.

Some of the most interesting developments, though, have to do with the additional control parameters. Some were added to the MIDI language specifically for GM2 purposes.


GM2's introduction of Key-Based Instrument Controllers is a major step forward in drum programming. Key-based refers to how percussion is mapped, with each MIDI note number triggering a different timbre, such as kick drum on C2 and snare on E2. GM2 lets you map certain controllers to correspond to individual keys and therefore individual drum sounds. That enables composers to do things such as override the default pan positions of drum kit elements. The hi-hat, for example, can be panned all the way to the right instead of centered. Other controllers that can be adjusted per note number include Volume, Reverb Send Level, and Chorus Send Level.

It is a common practice for composers to split drum timbres onto different tracks to make it easier to control the balance among the different sounds. For example, because Volume has always been a channel-specific parameter, you couldn't change a snare sound's Volume without affecting the hi-hat. However, if you record them on different tracks (both assigned to channel 10), you can easily change their relative levels by adding a Velocity offset to one track.

Key-Based Instrument Controllers lets you specify the Volume of note number 42 (the hi-hat) independently of the Volume of note number 38 (the snare) using a new Universal Real Time System Exclusive message. The message starts with a header similar to a standard System Exclusive (SysEx) message and then uses a pair of sub-IDs to identify it as a Key-Based Controller message. Next, you define the channel (10 or 11), key (42), controller number (7), and that controller's new value. While you're at it, you can also define new Pan, Chorus, and Reverb messages for the hi-hat within the same message.

For that righteous '80s sound, use a key-based Reverb Send Level controller to dial in a bunch of reverb on the snare while keeping the kick drum nice and dry. Add some sparkle to a triangle by increasing its Chorus Send Level without messing up the rest of the kit. (For a closer look at the new GM2 drum sounds, see the sidebar “GM2 Percussion Set.”)


Another percussion improvement in GM2 is making channel 11 available as a second Rhythm channel. So much of the music of the last ten years depends on the sound of multiple layered drum kits, yet until now you couldn't even mix and match an Electronic kit hi-hat with Power kit tom-toms, much less stack different kits together.

Having two channels for drums means you can change different channel-specific parameters, such as Volume and Pan, on different instruments. By moving a shaker or tambourine to channel 11 while keeping the rest of the drums on channel 10, you can create some movement by sweeping the shaker around the stereo field using good old controller 10 (Pan).

The Key-Based Instrument Controllers also address some of the benefits of a second Rhythm channel, but they're designed for slightly different purposes. Whereas Key-Based Instrument Controllers are good for rebalancing percussion instruments and for also rearranging the drum kit in the stereo field, their data structure makes them more useful for set-it-and-forget-it use. Using channel 11 for more dynamic effects is easier and eats up less data bandwidth. (Channels 10 and 11 can also be employed as Melody channels for nonpercussion parts; selection is made using a Bank Select message.)


All GM2 devices have a function called the Controller Destination Setting that allows you to assign any combination of six specified parameters to a controller. The setting overrides any default controller assignment. The six parameters are Pitch, Filter Cutoff, Amplitude, LFO Pitch Depth, LFO Filter Depth, and LFO Amplitude Depth. (See the sidebar “Under Control.”)

Say you want your Lead patch to slide up a half step and wah every time you lean into the keys. If you're brave enough to write a few SysEx lines, you have it nailed.

The Controller Destination Setting syntax starts with the Universal Real Time SysEx header (F0H 7FH), followed by the device ID. That in turn is followed by two sub-ID numbers. The first is 09, the ID for Controller Destination Setting, and the second is 01H for Channel Pressure or 03H for Control Change (CC). The next byte specifies the channel for which you are implementing the assignment. Remember that channels are one of the few things in MIDI that are commonly numbered from one instead of zero, so if you mean channel 5, enter a 04H value. If you are assigning a controller, the next byte is the number of that controller, but for the purpose of our Aftertouch example, you can skip that step.

The next two bytes are for the destination parameter and the range of the parameter's variation. You can map more than one parameter by repeating the destination/range sequence for each additional parameter. In that case, you assign Pitch Control to Channel Pressure with the message 00H and set a 1-semitone range with the message 41H. Follow that with a 01 value to add filter cutoff control to the equation, and set a range of +4,800 cents (four octaves) with a 60H value. Naturally, a bit of experimentation is necessary to determine the range required to produce your wah effect.

The entire message ends with the customary End of Exclusive message, F7H. Once that is done, your lead sound will exhibit the desired bend/wah effect until you assign a different controller destination. You can use the same process to assign a general-purpose controller to filter cutoff, letting you include a filter sweep's classic sound in your GM2 sequence.


Several of GM2's more interesting features are, unfortunately, only recommendations, not requirements. From a practical perspective, that means a GM2 synth might not respond to the messages. In the hope that manufacturers will recognize that those features are too cool to ignore, here's a look at some of them.

Filter resonance, which is an emphasis of frequencies near the filter cutoff frequency, adds a certain edge to the sound. CC 71 is defined in the GM2 specification as controlling the resonance degree. When combined with CC 74, Brightness (which controls the filter cutoff) provides plenty of sound-shaping power. Whereas the filter's exact behavior is left to the manufacturer, CC 71 provides a relative change in the resonance effect, increasing the strength of the resonance with values higher than 64 and decreasing the resonance's strength with values lower than 64. Brightness is also a relative control.

One of the biggest shortcomings of GM acoustic-instrument patches (or almost any synthesizer's acoustic emulations, for that matter) is the one-size-fits-all way the notes start and stop. Wind and string players devote their entire lives to articulating notes in precise yet constantly varying ways, but a synthesized trumpet or violin note always starts and stops in a manner defined by a fixed envelope.

Fortunately, CCs 73, 75, and 72 have come to the rescue. They're recommended by the GM2 specification for controlling attack time, decay time, and release time, respectively — three of the four parameters that make up a typical ADSR envelope. Any GM2 synthesizer that implements those CCs lets you create more realistic acoustic sounds.

For example, the distinction between GM programs 49 and 50, the two String Ensembles, has always been that String Ensemble 2 has a slower attack and release than String Ensemble 1. The envelope controllers let you fill in the gaps between those two extremes. By assigning CC 73 to a data wheel or slider on your controller keyboard, you can coax hard or soft attacks (or any degree in between) from a string program without changing patches.

Decay is the envelope's second stage, and a rapid decay (short decay time) makes a note sound more accented. Release time is the length of time from the Note Off message to the actual end of the tone. Plucked strings have a long release time, and staccato brasses have a short release time. All three envelope controllers make relative adjustments to the program's default envelope parameters, with a value of 64 corresponding to the default.

That is a perfect application for a keyboard with multiple data sliders, such as the Kurzweil K2500, with its eight assignable faders. With each envelope controller assigned to a different fader, even a keyboard-challenged klutz could play more convincing acoustic-instrument articulations.


Now that Yamaha and Roland have agreed to support GM2 and are encouraging others to do so, it's a good bet that compliant devices will be widely available soon. When that happens, you'll be able to write GM2 sequences and be assured that they'll sound reasonably consistent, no matter who plays them back.

Given the enormous number of GM1 devices, however, you might not want to lean on the new features too much. In particular, filter-based effects could come out sounding like static drones on non-GM2 devices. For maximum GM1 compatibility, you might also want to avoid using channel 11 for drums.

Fortunately, the new instrument sounds are in different banks and feature the same program numbers as the sounds they most resemble. Because most GM1 devices simply ignore bank changes, the new sounds play back like their GM1 siblings. In most instances, the results should not be catastrophic.

The GM specification has been enormously successful in bringing compatibility to SMFs. GM2 will prove irresistible to composers and manufacturers for its expanded sound palette and its new sound-shaping tools. In time, people will get greedy again and insist on GM3 or some GS/XG/GM hybrid, but until then there are lots of cool new options to keep everyone busy.

Brian Smithers is associate course director of MIDI at Full Sail Real World Education. You can reach him through his Web site at


With 87 new instrument timbres to play with, the GM2 sound set offers plenty to like. The piano family has 16 new sounds, most of which are in the electric-piano department. Electric Pianos 1 and 2 each feature a detuned variation and a Velocity mix version; other variations have such names as '60s Electric Piano, EP Legend, and EP Phase. Remember that the specific timbres aren't defined precisely and the sound quality varies greatly according to the price of the synth or sound module. Still, having nine instead of two electric pianos to choose from is bound to make it easier to find the sound you seek.

Chromatic Percussion now includes wide versions of Marimba, Vibraphone, Church Bells, and Carillon. The Organ family has more than doubled, with most of the additions in the Drawbar and Percussive designations. New 12-String and Pedal Steel variations contribute to a tripling of Guitar sounds. The expanded guitar family also includes a Velocity-switched muted Electric Distorted Rhythm Guitar, two new feedback variations, and more.

Most new Bass sounds are of the synth-bass variety, including Warm, Resonance, Attack, Rubber, and Clavi types. Strings are almost the same, with only a slow attack violin and Yang Chin added to spice things up, whereas Ensemble sounds are treated more generously. That category adds a patch called Strings and Brass, another called '60s Strings, and a third called Synth Strings. A second Choir Aahs, Humming, and three new Orchestra Hits complete the Ensemble family.

As a multiple-woodwind player, I don't know whether I am relieved or insulted that the Reed and Pipe families are untouched. The Brass family, however, has 11 new sounds, from solo timbres to section sounds and several new synth-brass patches.

Six of the eight new Synth Lead timbres are Lead 1 or 2 variations, including Sine, Sawtooth, Saw + Pulse, and Double Sawtooth sounds. The Synth Pad, Synth SFX, Ethnic Miscellaneous, and Percussive families share 12 new sounds among them, from a Sitar variation to Castanets and Rhythm Box Tom. Although the paucity of new timbres in those categories might disappoint some, the new sound set's focus is clearly on the meat-and-potatoes sounds that are used the most in contemporary music.


So many GM synths have followed the GS/XG example of providing alternate drum kits through program changes that it's easy to forget GM1 specified only one drum kit. Now GM2 canonizes the multiple-kit practice by requiring nine drum kits. With the exception of the SFX Set, they have more similarities than differences, with as few as two notes (both kick drums) separating the Jazz Set from the Standard Set.

The Room Set, for example, offers more resonant toms, and the Power Set replaces the standard toms, kicks, and snares with fat, punchy, reverb-heavy '80s sounds. Two Electronic Sets are included, one of which is called the Analog Set, suggesting sounds modeled after the timbres of the Roland TR-808. Both sets replace the standard toms, kick, and snare with familiar synth versions, and the Analog Set adds cheesy hi-hats and some hand percussion. The Brush Set features the Jazz kick drums and the sounds of brushes tapping, slapping, and swirling on a snare. The Concert Set includes a full octave of timpani, and the SFX Set replaces most Standard timbres with such essential ingredients as laughter, applause, dog bark, and bubble.

The drum map grew as well, adding seven new notes above and eight new notes below the GM1 map. Additional timbres include shaker, muted and open surdo, metronome click, and scratch push and pull. Although each sound should appeal to somebody, one glaring hole in the drum map wasn't plugged this time around. Ignoring XG's shining example, GM2 fails to provide a snare roll, one of the most useful sounds and also one of the most difficult to fake. Oh well, maybe next time.

Under Control

Controller Destination Setting is one of several new functions added to the MIDI 1.0 specification for inclusion in General MIDI 2. It lets you assign any of six controllers to Channel Pressure or a CC. The assignment is made as a Universal Real Time SysEx message as follows: