"

5 General MIDI & MIDI Messages

Excerpts from http://www.midi.org/aboutmidi/intromidi.pdf
General MIDI Icon

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