1. Overview

General MIDI (GM) is a standardized set of 128 instrument sounds and a percussion map that ensures any GM-compatible device plays back a MIDI file with roughly the right timbres. Three levels of the standard exist in the wild:

All three are backward-compatible: a plain GM1 sequence plays correctly on GM2 and GS devices because unrecognized bank-select values fall back to the base GM sound.

2. GM Program List (0–127)

Program Change values are 0-indexed (the value on the wire). Some manuals show 1–128 — subtract 1 to get the PC number used by LJam’s patch field.

PCInstrument
Piano (0–7)
0Acoustic Grand Piano
1Bright Acoustic Piano
2Electric Grand Piano
3Honky-tonk Piano
4Electric Piano 1 (Rhodes)
5Electric Piano 2 (DX)
6Harpsichord
7Clavinet
Chromatic Percussion (8–15)
8Celesta
9Glockenspiel
10Music Box
11Vibraphone
12Marimba
13Xylophone
14Tubular Bells
15Dulcimer
Organ (16–23)
16Drawbar Organ (Hammond)
17Percussive Organ
18Rock Organ
19Church Organ
20Reed Organ
21Accordion
22Harmonica
23Tango Accordion
Guitar (24–31)
24Acoustic Guitar (nylon)
25Acoustic Guitar (steel)
26Electric Guitar (jazz)
27Electric Guitar (clean)
28Electric Guitar (muted)
29Overdriven Guitar
30Distortion Guitar
31Guitar Harmonics
Bass (32–39)
32Acoustic Bass
33Electric Bass (finger)
34Electric Bass (pick)
35Fretless Bass
36Slap Bass 1
37Slap Bass 2
38Synth Bass 1
39Synth Bass 2
Strings (40–47)
40Violin
41Viola
42Cello
43Contrabass
44Tremolo Strings
45Pizzicato Strings
46Orchestral Harp
47Timpani
Ensemble (48–55)
48String Ensemble 1
49String Ensemble 2 (Slow)
50Synth Strings 1
51Synth Strings 2
52Choir Aahs
53Voice Oohs
54Synth Voice
55Orchestra Hit
Brass (56–63)
56Trumpet
57Trombone
58Tuba
59Muted Trumpet
60French Horn
61Brass Section
62Synth Brass 1
63Synth Brass 2
Reed (64–71)
64Soprano Sax
65Alto Sax
66Tenor Sax
67Baritone Sax
68Oboe
69English Horn
70Bassoon
71Clarinet
Pipe (72–79)
72Piccolo
73Flute
74Recorder
75Pan Flute
76Blown Bottle
77Shakuhachi
78Whistle
79Ocarina
Synth Lead (80–87)
80Lead 1 (Square)
81Lead 2 (Sawtooth)
82Lead 3 (Calliope)
83Lead 4 (Chiff)
84Lead 5 (Charang)
85Lead 6 (Voice)
86Lead 7 (Fifths)
87Lead 8 (Bass + Lead)
Synth Pad (88–95)
88Pad 1 (New Age)
89Pad 2 (Warm)
90Pad 3 (Polysynth)
91Pad 4 (Choir)
92Pad 5 (Bowed Glass)
93Pad 6 (Metallic)
94Pad 7 (Halo)
95Pad 8 (Sweep)
Synth Effects (96–103)
96FX 1 (Ice Rain)
97FX 2 (Soundtrack)
98FX 3 (Crystal)
99FX 4 (Atmosphere)
100FX 5 (Brightness)
101FX 6 (Goblins)
102FX 7 (Echo Drops)
103FX 8 (Sci-Fi)
Ethnic (104–111)
104Sitar
105Banjo
106Shamisen
107Koto
108Kalimba
109Bag Pipe
110Fiddle
111Shanai
Percussive (112–119)
112Tinkle Bell
113Agogo
114Steel Drums
115Woodblock
116Taiko Drum
117Melodic Tom
118Synth Drum
119Reverse Cymbal
Sound Effects (120–127)
120Guitar Fret Noise
121Breath Noise
122Seashore
123Bird Tweet
124Telephone Ring
125Helicopter
126Applause
127Gunshot

3. GM Drum Map (Channel 10)

These 47 percussion sounds are defined by GM1 and must be present on any compliant device. All are triggered on MIDI channel 10.

Note #InstrumentNote #Instrument
35Acoustic Bass Drum59Ride Cymbal 2
36Bass Drum 160Hi Bongo
37Side Stick61Low Bongo
38Acoustic Snare62Mute Hi Conga
39Hand Clap63Open Hi Conga
40Electric Snare64Low Conga
41Low Floor Tom65High Timbale
42Closed Hi-Hat66Low Timbale
43High Floor Tom67High Agogo
44Pedal Hi-Hat68Low Agogo
45Low Tom69Cabasa
46Open Hi-Hat70Maracas
47Low-Mid Tom71Short Whistle
48Hi-Mid Tom72Long Whistle
49Crash Cymbal 173Short Guiro
50High Tom74Long Guiro
51Ride Cymbal 175Claves
52Chinese Cymbal76Hi Wood Block
53Ride Bell77Low Wood Block
54Tambourine78Mute Cuica
55Splash Cymbal79Open Cuica
56Cowbell80Mute Triangle
57Crash Cymbal 281Open Triangle
58Vibraslap

GM2 Drum Kits

GM2 defines 9 drum kits selectable via Program Change on the drum channel. The note mapping within each kit follows the same layout above but with different timbres:

PCKit
0Standard Kit (GM1 default)
8Room Kit
16Power Kit
24Electronic Kit
25TR-808 Kit
32Jazz Kit
40Brush Kit
48Orchestra Kit
56SFX Kit
LJam tip: To switch drum kits on a GS device, put a program number in the patch field of your drum track — e.g. 25 for TR-808 or 32 for Jazz Kit.

4. GM2 Additions

General MIDI Level 2 (1999) is a strict superset of GM1. Any GM1 sequence plays correctly on a GM2 device.

Key Improvements

Useful Control Changes

CC #Function
0Bank Select MSB
32Bank Select LSB
7Channel Volume
10Pan
11Expression
64Sustain Pedal
71Filter Resonance
72Release Time
73Attack Time
74Brightness (Cutoff)
91Reverb Send
93Chorus Send

5. Roland GS Bank Select

Roland’s GS standard (introduced with the SC-55 in 1991) extends GM with hundreds of additional sounds accessed via Bank Select. The two bank-select CCs have specific roles in the GS world:

CC#0 — Bank Select MSB (Variation Number)

On a plain GM device, CC#0 is ignored, so the base sound plays — GS files degrade gracefully.

CC#32 — Bank Select LSB (Sound Map)

On multi-generation devices like the SC-8820, the LSB selects which “era” of sounds to draw from:

LSBSound MapIntroduced
0SC-8820 native2000
1SC-551991
2SC-881994
3SC-88Pro1996

Higher-numbered maps include everything from lower maps plus additional sounds. For GM-only devices (like FluidSynth), the LSB is irrelevant and safely ignored.

Message Sequence

A full GS patch selection requires three messages in order, all on the same channel:

  1. CC#0 (MSB) — variation number
  2. CC#32 (LSB) — sound map
  3. Program Change — instrument number

All three must arrive before the next note plays.

GS vs GM2 vs XG

GM1GS (Roland)GM2XG (Yamaha)
CC#0 roleignoredvariation #variation banksound set
CC#32 roleignoredsound map0variation #
Min polyphony2424–1283232
Drum channelsch 10ch 10 + SysExch 10 & 11ch 10 + SysEx
Note: GS uses CC#0 for variations while XG uses CC#32 for variations — their roles are swapped. Keep this in mind if you switch between Roland and Yamaha gear.

6. Using in LJam

LJam’s patch field on each track sends the full CC#0 + CC#32 + Program Change sequence. Three formats are supported:

Patch FieldMIDI SentUse Case
24 CC#0=0, CC#32=0, PC 24 GM program (bank resets to 0,0)
b:8 p:24 CC#0=8, CC#32=0, PC 24 GS variation 8 of program 24
b:0,3 p:24 CC#0=0, CC#32=3, PC 24 SC-88Pro map, program 24

Use  /  while the field is focused to nudge whichever number the cursor is on. See the Patch / Program Change section in the main docs for full details.