5 General MIDI & MIDI Messages
Excerpts from http://www.midi.org/aboutmidi/intromidi.pdf
General MIDI and General MIDI2
General MIDI, or “GM,” is very specific set of standards that allows MIDI composers and arrangers to create music that always plays correctly on any device that supports General MIDI.
Why Do We Need GM?
MIDI instruments store their sounds in numbered memory locations, and each manufacturer can use any location for any sound. However, if a composer’s MIDI recording is played by someone who has different equipment, there’s no way for the composer to know where the required sounds are.
The GM Solution
General MIDI solves this since all General MIDI devices contain the same set of 128 standard sounds and drum kit sounds, stored in a specified order. Each product creates these sounds using its own unique capabilities, but the goal is to have them all sound similar enough when playing back GM data. General MIDI also specifies certain MIDI messages for controlling the behavior of sounds and effects. Instruments that support GM may also have lots of other sounds stored elsewhere in their memories, but these sounds can’t be used in General MIDI recordings.
What GM Makes Possible
There are lots of GM recordings on the Internet, and you can also purchase them from a variety of sources. These easy-to-use files can be great for singing or playing along with, allowing you to enjoy MIDI music without having to deal with any of its complexities.
Most computers ship with a set of General MIDI sounds, and some computer games use them. Often, all you need to do is double-click a GM file and hit Play on a computer. GM-enabled MIDI instruments may also require little or no effort on the user’s part— you often simply select a GM song and press PLAY.
General MIDI 2
General MIDI 2 includes everything in General MIDI 1, adding more sounds, standards for sound editing, and some other niceties. Different manufacturers will refer to this in different ways – Roland and Korg use “General MIDI 2” while Yamaha uses XG.
MIDI Connections
MIDI Cables
MIDI devices are typically connected to each other using MIDI cables. All MIDI cables use the same wiring and have the same type of 5-pin-DIN-type connector on each end.
Some instruments offer MIDI communication with a computer using a standard USB cable instead of a MIDI cable.
MIDI Channels
A single MIDI connection can carry 16 independent streams, or“channels,” of MIDI information. The ability to have 16 separate MIDI conversations going on at the same time allows a couple of important things.
By setting up each MIDI device to listen only to MIDI instructions on a particular MIDI channel, you can control a whole roomful of MIDI devices from a single central MIDI device, such as a controller or a computer.
In General MIDI music, MIDI Channels 1-9 and 11-16 play standard sounds. Each note on MIDI Channel 10 plays a different drum kit sound.
“Multitimbral” MIDI devices can play multiple sounds at the same time. Each sound responds to MIDI instructions received on a specified MIDI channel, whether they’re coming live from a controller or being played back by a sequencer track.
MIDI Jacks
A typical MIDI device provides MIDI jacks, or “ports,” into which you can plug a MIDI cable’s connector. There are three types of MIDI ports, and a device may offer one, two, or all three, depending on what the device does:
MIDI IN—A MIDI IN jack receives MIDI data from some other MIDI device.
MIDI OUT—A MIDI OUT jack sends MIDI data produced by the device out to another MIDI device.
MIDI THRU—A device’s MIDI IN port receives MIDI data and passes it back out unchanged through the MIDI THRU port.
Some devices have a “soft THRU.” These devices have no actual MIDI THRU port, but their MIDI OUT port can be set to act as one.
MIDI instruments may also allow you to establish two-way MIDI communication with a computer using a single USB cable. MIDI devices that communicate via USB may not provide MIDI ports but simply have a USB port on the back of the instrument.
About Computers & MIDI Connections
Computers rarely have built-in MIDI ports. MIDI connectivity can be added to a computer with a MIDI interface—A MIDI interface is usually a rack-mounted or tabletop box that connects to the computer via USB, and provides MIDI ports you can connect to your other MIDI devices. An interface may simply provide MIDI ports for the computer, or it may be more complex, acting as a central MIDI patchbay for your entire MIDI setup. You may even be able to stack multiple MIDI interfaces for lots of MIDI connections.
USB connection—Some MIDI devices, can communicate with a computer through a USB connection. This form of two-way MIDI communication is especially easy to set up since it requires only a standard A-to-B USB cable and no additional interface.
Today’s computer operating systems (both Windows and Apple) understand basic MIDI equipment so drivers (extra software that are required for external hardware) are usually not needed for simple MIDI in and MIDI out.
If your MIDI hardware has more than one pair of MIDI ports, a driver will probably be required to be installed.
MIDI Messages
In order for MIDI devices from different manufacturers to understand each other, MIDI uses its own language that all MIDI devices understand. This language consists of an agreed-upon set of messages. The messages cover just about anything you might want to do with a MIDI device.
Not all MIDI devices respond to all MIDI messages. The documentation for most MIDI devices contains a MIDI implementation chart that details the MIDI messages the device understands.
MIDI messages typically have 128 possible values. Most manufacturers, list them as “0-127.” Some use “1-128.” Again, check a device’s documentation to learn the numbering scheme it uses.
Basic Performance Messages
We’ve already touched on the MIDI messages that represent the most significant elements of a performance when you’re playing a MIDI device’s sounds:
Note-on and note-off messages—When you begin to play a note on a MIDI controller, a note-on message is sent to the receiving MIDI device, which starts playing the note. When you stop playing the note on the controller, a note-off message is transmitted and the receiving device stops sounding the note.
Velocity—The force with which you play a note on the controller is measured as the speed, or “velocity,” with which you play the note. When you play a note, a velocity value representing the force with which you played the note is transmitted to the receiving device along with the note’s note-on message. Settings in the receiving device’s sound determine if and how the sound of the note is to change in response to velocity. Typically, notes get louder or quieter as you play harder or softer, respectively. They may also get brighter with higher velocity values. Sounds can be programmed to respond in all sorts of ways to velocity.
Pitch bend—These messages instruct a MIDI device to raise or lower the played note’s pitch. Pitch bend messages are usually transmitted by moving a pitch bend/ modulation lever or pitch bend wheel at the left of a keyboard controller, though they can be transmitted from any knob, button, or joystick programmed to do so. String-bending on a guitar controller can also generate pitch bend messages.
Channel and polyphonic aftertouch —”Aftertouch” is most often generated by keyboard controllers. You can generate aftertouch messages by pressing down on a key you’ve played. The aftertouch value reflects how hard you press. On the receiving device, a sound can be programmed to respond to aftertouch in any number of ways. With “channel” aftertouch, pressing down on any one key affects all currently sounding notes. “Polyphonic” aftertouch affects only the note actually being pressed down.
Program Changes
A MIDI device can select sounds in another MIDI device. This can be handy onstage, letting you to change sounds in all of your connected MIDI devices without your hands leaving the instrument you’re playing. It also allows a sequencer to remember the sounds you want it to play and automatically select them for you in your receiving devices.
Program Change values run from 0-127, since MIDI-device sounds are arranged in “banks” containing up to 128 sounds each.
NOTE: Some MIDI hardware or software will number from 1-128 rather than 0-127.
Selected MIDI Channel Messages:
0 Bank Select (coarse)
1 Modulation Wheel (coarse)
2 Breath controller (coarse)
4 Foot Pedal (coarse)
5 Portamento Time (coarse)
6 Data Entry (coarse)
7 Volume (coarse)
8 Balance (coarse)
10 Pan position (coarse)
11 Expression (coarse)
General MIDI Patches [timbres]
Piano | Chromatic Percussion | Organ | Guitar |
1 Acoustic Grand 2 Bright Acoustic 3 Electric Grand 4 Honky-Tonk 5 Electric Piano 1 6 Electric Piano 2 7 Harpsichord 8 Clavinet |
9 Celesta 10 Glockenspiel 11 Music Box 12 Vibraphone 13 Marimba 14 Xylophone 15 Tubular Bells 16 Dulcimer |
17 Drawbar Organ 18 Percussive Organ 19 Rock Organ 20 Church Organ 21 Reed Organ 22 Accordion 23 Harmonica 24 Tango Accordion |
25 Nylon String Guitar 26 Steel String Guitar 27 Electric Jazz Guitar 28 Electric Clean Guitar 29 Electric Muted Guitar 30 Overdriven Guitar 31 Distortion Guitar 32 Guitar Harmonics |
Bass | Solo Strings | Ensemble | Brass |
33 Acoustic Bass 34 Electric Bass(finger) 35 Electric Bass(pick) 36 Fretless Bass 37 Slap Bass 1 38 Slap Bass 2 39 Synth Bass 1 40 Synth Bass 2 |
41 Violin 42 Viola 43 Cello 44 Contrabass 45 Tremolo Strings 46 Pizzicato Strings| 47 Orchestral Strings 48 Timpani |
49 String Ensemble 1 50 String Ensemble 2 51 SynthStrings 1 52 SynthStrings 2 53 Choir Aahs 54 Voice Oohs 55 Synth Voice 56 Orchestra Hit |
57 Trumpet 58 Trombone 59 Tuba 60 Muted Trumpet 61 French Horn 62 Brass Section 63 SynthBrass 1 64 SynthBrass 2 |
Reed | Pipe | Synth Lead | Synth Pad |
65 Soprano Sax 66 Alto Sax 67 Tenor Sax 68 Baritone Sax 69 Oboe 70 English Horn 71 Bassoon 72 Clarinet |
73 Piccolo 74 Flute 75 Recorder 76 Pan Flute 77 Blown Bottle 78 Skakuhachi 79 Whistle 80 Ocarina |
81 Lead 1 (square) 82 Lead 2 (sawtooth) 83 Lead 3 (calliope) 84 Lead 4 (chiff) 85 Lead 5 (charang) 86 Lead 6 (voice) 87 Lead 7 (fifths) 88 Lead 8 (bass+lead) |
89 Pad 1 (new age) 90 Pad 2 (warm) 91 Pad 3 (polysynth) 92 Pad 4 (choir) 93 Pad 5 (bowed) 94 Pad 6 (metallic) 95 Pad 7 (halo) 96 Pad 8 (sweep) |
Synth Effects | Ethnic | Percussive | Sound Effects |
97 FX 1 (rain) 98 FX 2 (soundtrack) 99 FX 3 (crystal) 100 FX 4 (atmosphere) 101 FX 5 (brightness) 102 FX 6 (goblins) 103 FX 7 (echoes) 104 FX 8 (sci-fi) |
105 Sitar 106 Banjo 107 Shamisen 108 Koto 109 Kalimba 110 Bagpipe 111 Fiddle 112 Shanai |
113 Tinkle Bell 114 Agogo 115 Steel Drums 116 Woodblock 117 Taiko Drum 118 Melodic Tom 119 Synth Drum 120 Reverse Cymbal |
121 Guitar Fret Noise 122 Breath Noise 123 Seashore 124 Bird Tweet 125 Telephone Ring 126 Helicopter 127 Applause 128 Gunshot |
General MIDI (GM) Drum Sounds
Assigned to each MIDI note (channel 10) – NOTE: 36 = C1 [middle C = C3]
Note# Drum Sound
35 Acoustic Bass Drum 36 Bass Drum 1 37 Side Stick 38 Acoustic Snare 39 Hand Clap 40 Electric Snare 41 Low Floor Tom 42 Closed Hi-Hat 43 High Floor Tom 44 Pedal Hi-Hat 45 Low Tom 46 Open Hi-Hat 47 Low-Mid Tom 48 Hi-Mid Tom 49 Crash Cymbal 1 50 High Tom 51 Ride Cymbal 1 52 Chinese Cymbal 53 Ride Bell 54 Tambourine 55 Splash Cymbal 56 Cowbell 57 Crash Cymbal 2 58 Vibraslap |
59 Ride Cymbal 2 60 Hi Bongo 61 Low Bongo 62 Mute Hi Conga 63 Open Hi Conga 64 Low Conga 65 High Timbale 66 Low Timbale 67 High Agogo 68 Low Agogo 69 Cabasa 70 Maracas 71 Short Whistle 72 Long Whistle 73 Short Guiro 74 Long Guiro 75 Claves 76 Hi Wood Block 77 Low Wood Block 78 Mute Cuica 79 Open Cuica 80 Mute Triangle 81 Open Triangle |
Interactive Listing
Piano | Chromatic Percussion | Organ | Guitar | Reed | Pipe | Synth Lead | Synth Pad | Bass | Solo Strings | Ensemble | Brass | Synth Effects | Ethnic | Percussive | Sound Effects |
---|---|---|---|
1 Acoustic Grand | 65 Soprano Sax | 33 Acoustic Bass | 97 FX 1 (rain) |
2 Bright Acoustic | 66 Alto Sax | 34 Electric Bass(finger) | 98 FX 2 (soundtrack) |
3 Electric Grand | 67 Tenor Sax | 35 Electric Bass(pick) | 99 FX 3 (crystal) |
4 Honky-Tonk | 68 Baritone Sax | 36 Fretless Bass | 100 FX 4 (atmosphere) |
5 Electric Piano 1 | 69 Oboe | 37 Slap Bass 1 | 101 FX 5 (brightness) |
6 Electric Piano 2 | 70 English Horn | 38 Slap Bass 2 | 102 FX 6 (goblins) |
7 Harpsichord | 71 Bassoon | 39 Synth Bass 1 | 103 FX 7 (echoes) |
8 Clavinet | 72 Clarinet | 40 Synth Bass 2 | 104 FX 8 (sci-fi) |
9 Celesta | 73 Piccolo | 41 Violin | 105 Sitar |
10 Glockenspiel | 74 Flute | 42 Viola | 106 Banjo |
11 Music Box | 75 Recorder | 43 Cello | 107 Shamisen |
12 Vibraphone | 76 Pan Flute | 44 Contrabass | 108 Koto |
13 Marimba | 77 Blown Bottle | 45 Tremolo Strings | 109 Kalimba |
14 Xylophone | 78 Skakuhachi | 46 Pizzicato Strings| | 110 Bagpipe |
15 Tubular Bells | 79 Whistle | 47 Orchestral Strings | 111 Fiddle |
16 Dulcimer | 80 Ocarina | 48 Timpani | 112 Shanai |
17 Drawbar Organ | 81 Lead 1 (square) | 49 String Ensemble 1 | 113 Tinkle Bell |
18 Percussive Organ | 82 Lead 2 (sawtooth) | 50 String Ensemble 2 | 114 Agogo |
19 Rock Organ | 83 Lead 3 (calliope) | 51 SynthStrings 1 | 115 Steel Drums |
20 Church Organ | 84 Lead 4 (chiff) | 52 SynthStrings 2 | 116 Woodblock |
21 Reed Organ | 85 Lead 5 (charang) | 53 Choir Aahs | 117 Taiko Drum |
22 Accordion | 86 Lead 6 (voice) | 54 Voice Oohs | 118 Melodic Tom |
23 Harmonica | 87 Lead 7 (fifths) | 55 Synth Voice | 119 Synth Drum |
24 Tango Accordion | 88 Lead 8 (bass+lead) | 56 Orchestra Hit | 120 Reverse Cymbal |
25 Nylon String Guitar | 89 Pad 1 (new age) | 57 Trumpet | 121 Guitar Fret Noise |
26 Steel String Guitar | 90 Pad 2 (warm) | 58 Trombone | 122 Breath Noise |
27 Electric Jazz Guitar | 91 Pad 3 (polysynth) | 59 Tuba | 123 Seashore |
28 Electric Clean Guitar | 92 Pad 4 (choir) | 60 Muted Trumpet | 124 Bird Tweet |
29 Electric Muted Guitar | 93 Pad 5 (bowed) | 61 French Horn | 125 Telephone Ring |
30 Overdriven Guitar | 94 Pad 6 (metallic) | 62 Brass Section | 126 Helicopter |
31 Distortion Guitar | 95 Pad 7 (halo) | 63 SynthBrass 1 | 127 Applause |
32 Guitar Harmonics | 96 Pad 8 (sweep) | 64 SynthBrass 2 | 128 Gunshot |