General MIDI

From DTM Wiki
Revision as of 00:14, 11 September 2024 by Hikari no yume (talk | contribs) (→‎Resources: login is no longer required!)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The original General MIDI logo, used for GM 1 devices.
The General MIDI 2 logo, used for GM 2 devices.

General MIDI (GM) is a series of standards defining a minimum set of features for MIDI-controlled synthesizers.

The original and most widely-used version is General MIDI 1 (GM 1), more formally General MIDI System Level 1, first published in 1991. Most references to "General MIDI" or "GM" without further explanation refer to this version.

There are several standards extending GM 1:

  • Roland GS (first released 1991), Roland's proprietary extension
  • Yamaha XG (first released 1994), Yamaha's proprietary extension
  • General MIDI 2 (first released 1999), the official successor incorporating some features of GS and XG

There is also General MIDI Lite, first published in 2004. This is a subset of the original standard intended for cellphone ringtones and similar applications.

The remainder of this page is only concerned with GM 1.

General requirements

A General MIDI-compliant sound generator must meet the following requirements:[1]

Synthesis technology No requirement (up to the manufacturer)
Available polyphony 24 voices (melody and percussion) or
16 voices (melody) + 8 voices (percussion)
Polyphony allocation Dynamic
Channels All 16
Channels are polyphonic Yes
Key-based percussion Always on channel 10
Minimum instrument presets 128 (GM Sound Set)
Minimum percussion presets 47 (GM Percussion Map)

Additionally, a General MIDI-compliant sound generator is recommended to have:[1]

  • A master volume control
  • A MIDI input
  • Left and right audio outputs for stereo
  • Headphones connectors

General MIDI does not require a specific type of synthesis and leaves the specifics of how things sound up to the manufacturer. The names of instruments in the Sound Set and Percussion Map are guidelines.[2]

The requirements of the General MIDI specification only apply when the sound generator is in General MIDI mode.[3]

MIDI implementation

General MIDI requires that:[1]

  • MIDI note/key number 60 is Middle C
  • Velocity is supported for all voices, including for percussion
  • Voices are dynamically allocated
    • Notes can re-attack, including for percussion
  • Channel Pressure (Channel Aftertouch) is supported
  • Pitch Bend is supported

The default settings on each channel must be:[1]

Pitch bend 0
Volume 100 (127 is the max volume)
Controllers "normal"
Pitch bend sensitivity ±2 semitones

The following Control Change messages must be supported:[1]

Ctrl # Controller name
1 Modulation
7 Volume
10 Pan
11 Expression
64 Sustain
121 Reset All Controllers
123 All Notes Off

The following Registered Parameters must be supported:[1]

RPN Description
0 Pitch Bend Sensitivity
1 Fine Tuning
2 Coarse Tuning

See GM–GS–XG quick reference for a comparison with GS and XG.

SysEx messages

General MIDI defines two System Exclusive messages:[4]

Message Name
F0 7E 7F 09 01 F7 Turn General MIDI System On
F0 7E 7F 09 02 F7 Turn General MIDI System Off

The third byte (underlined) in both messages is a device ID. It is usually 7F for "broadcast".[4] The "System Off" message is only meaningful for devices that also have a non-General MIDI Mode.[4]

The "General MIDI System On" message is often called a "General MIDI Reset".

Sound Set

For channels other than channel 10, General MIDI defines a set of 128 sounds that can be selected with Program Change messages. The sounds are divided into 16 groups, as follows:[5]

Piano
Prog # Instrument
1 Acoustic Grand Piano
2 Bright Acoustic Piano
3 Electric Grand Piano
4 Honky-tonk Piano
5 Electric Piano 1
6 Electric Piano 2
7 Harpsichord
8 Clavi
Chromatic Percussion
Prog # Instrument
9 Celesta
10 Glockenspiel
11 Music Box
12 Vibraphone
13 Marimba
14 Xylophone
15 Tubular Bells
16 Dulcimer
Organ
Prog # Instrument
17 Drawbar Organ
18 Percussive Organ
19 Rock Organ
20 Church Organ
21 Reed Organ
22 Accordion
23 Harmonica
24 Tango Accordion
Guitar
Prog # Instrument
25 Acoustic Guitar (nylon)
26 Acoustic Guitar (steel)
27 Electric Guitar (jazz)
28 Electric Guitar (clean)
29 Electric Guitar (muted)
30 Overdriven Guitar
31 Distortion Guitar
32 Guitar harmonics
Bass
Prog # Instrument
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
Strings
Prog # Instrument
41 Violin
42 Viola
43 Cello
44 Contrabass
45 Tremolo Strings
46 Pizzicato Strings
47 Orchestral Harp
48 Timpani
Ensemble
Prog # Instrument
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
Brass
Prog # Instrument
57 Trumpet
58 Trombone
59 Tuba
60 Muted Trumpet
61 French Horn
62 Brass Section
63 SynthBrass 1
64 SynthBrass 2
Reed
Prog # Instrument
65 Soprano Sax
66 Alto Sax
67 Tenor Sax
68 Baritone Sax
69 Oboe
70 English Horn
71 Bassoon
72 Clarinet
Pipe
Prog # Instrument
73 Piccolo
74 Flute
75 Recorder
76 Pan Flute
77 Blown Bottle
78 Shakuhachi
79 Whistle
80 Ocarina
Synth Lead
Prog # Instrument
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)
Synth Pad
Prog # Instrument
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
Prog # Instrument
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)
Ethnic
Prog # Instrument
105 Sitar
106 Banjo
107 Shamisen
108 Koto
109 Kalimba
110 Bag pipe
111 Fiddle
112 Shanai
Percussive
Prog # Instrument
113 Tinkle Bell
114 Agogo
115 Steel Drums
116 Woodblock
117 Taiko Drum
118 Melodic Tom
119 Synth Drum
120 Reverse Cymbal
Sound Effects
Prog # Instrument
121 Guitar Fret Noise
122 Breath Noise
123 Seashore
124 Bird Tweet
125 Telephone Ring
126 Helicopter
127 Applause
128 Gunshot

Percussion Map

General MIDI reserves channel 10 for key-based percussion and defines a set of 47 percussion sounds that can be played with Note On/Note Off messages. The sounds are as follows:[6]

Note Note # Drum sound
B135Acoustic Bass Drum
C236Bass Drum 1
C♯237Side Stick
D238Acoustic Snare
D♯239Hand Clap
E240Electric Snare
F241Low Floor Tom
F♯242Closed Hi Hat
G243High Floor Tom
G♯244Pedal Hi-Hat
A245Low Tom
A♯246Open Hi-Hat
B247Low-Mid Tom
C348Hi Mid Tom
C♯349Crash Cymbal 1
D350High Tom
D♯351Ride Cymbal 1
E352Chinese Cymbal
F353Ride Bell
F♯354Tambourine
G355Splash Cymbal
G♯356Cowbell
A357Crash Cymbal 2
A♯358Vibraslap
B359Ride Cymbal 2
C460Hi Bongo
C♯461Low Bongo
D462Mute Hi Conga
D♯463Open Hi Conga
E464Low Conga
F465High Timbale
F♯466Low Timbale
G467High Agogo
G♯468Low Agogo
A469Cabasa
A♯470Maracas
B471Short Whistle
C572Long Whistle
C♯573Short Guiro
D574Long Guiro
D♯575Claves
E576Hi Wood Block
F577Low Wood Block
F♯578Mute Cuica
G579Open Cuica
G♯580Mute Triangle
A581Open Triangle

References

  1. 1.0 1.1 1.2 1.3 1.4 1.5 General MIDI System Level 1 Specification, page 2
  2. General MIDI System Level 1 Specification, page 7
  3. General MIDI System Level 1 Specification, page 1
  4. 4.0 4.1 4.2 General MIDI System Level 1 Specification, page 6
  5. General MIDI System Level 1 Specification, page 5, tables 1 and 2
  6. General MIDI System Level 1 Specification, page 6, table 3

Resources