General MIDI: Difference between revisions
(Create initial General MIDI page with overview of different GM versions and GM1 sound set and percussion map tables) |
(→Resources: login is no longer required!) |
||
(14 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
[[File:General MIDI logo.png|200px|right|thumb|The original General MIDI logo, used for GM 1 devices.]] | |||
[[File:General MIDI 2 logo.png|200px|right|thumb|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. | '''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 | 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: | There are several standards extending GM 1: | ||
Line 7: | Line 9: | ||
* [[Roland GS]] (first released 1991), Roland's proprietary extension | * [[Roland GS]] (first released 1991), Roland's proprietary extension | ||
* [[Yamaha XG]] (first released 1994), Yamaha's proprietary extension | * [[Yamaha XG]] (first released 1994), Yamaha's proprietary extension | ||
* [[General MIDI | * [[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. | 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. | ||
Line 15: | Line 17: | ||
== General requirements == | == General requirements == | ||
A General MIDI-compliant sound generator must meet the following requirements:<ref name=gm1-p2>General MIDI System Level 1 Specification, page 2</ref> | |||
{| class="wikitable | |||
! Synthesis technology | |||
| No requirement (up to the manufacturer) | |||
|- | |||
! Available polyphony | |||
| 24 voices (melody and percussion) ''or''<br>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 ([[#Sound_Set|GM Sound Set]]) | |||
|- | |||
! Minimum percussion presets | |||
| 47 ([[#Percussion_Map|GM Percussion Map]]) | |||
|} | |||
Additionally, a General MIDI-compliant sound generator is recommended to have:<ref name=gm1-p2></ref> | |||
* 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.<ref name=gm1-p7>General MIDI System Level 1 Specification, page 7</ref> | |||
The requirements of the General MIDI specification only apply when the sound generator is in General MIDI mode.<ref>General MIDI System Level 1 Specification, page 1</ref> | |||
== MIDI implementation == | |||
General MIDI requires that:<ref name=gm1-p2>General MIDI System Level 1 Specification, page 2</ref> | |||
* 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:<ref name=gm1-p2></ref> | |||
{| class="wikitable" | |||
! 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:<ref name=gm1-p2></ref> | |||
{| class="wikitable" | |||
! 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:<ref name=gm1-p2></ref> | |||
{| class="wikitable" | |||
! 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:<ref name=gm1-p6>General MIDI System Level 1 Specification, page 6</ref> | |||
{| class="wikitable" | |||
! Message || Name | |||
|- | |||
| <tt>F0 7E <u>7F</u> 09 01 F7</tt> | |||
| Turn General MIDI System On | |||
|- | |||
| <tt>F0 7E <u>7F</u> 09 02 F7</tt> | |||
| Turn General MIDI System Off | |||
|} | |||
The third byte (underlined) in both messages is a device ID. It is usually 7F for "broadcast".<ref name=gm1-p6></ref> The "System Off" message is only meaningful for devices that also have a non-General MIDI Mode.<ref name=gm1-p6></ref> | |||
The "General MIDI System On" message is often called a "General MIDI Reset". | |||
== Sound Set == | == Sound Set == | ||
Line 364: | Line 482: | ||
== Percussion Map == | == 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:<ref>General MIDI System Level 1 Specification, page 6</ref> | 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:<ref>General MIDI System Level 1 Specification, page 6, table 3</ref> | ||
{ | {{PercMap | ||
|35=Acoustic Bass Drum | |||
|36=Bass Drum 1 | |||
|37=Side Stick | |||
|35 | |38=Acoustic Snare | ||
|39=Hand Clap | |||
|36 | |40=Electric Snare | ||
|41=Low Floor Tom | |||
|37 | |42=Closed Hi Hat | ||
|43=High Floor Tom | |||
|38 | |44=Pedal Hi-Hat | ||
|45=Low Tom | |||
|39 | |46=Open Hi-Hat | ||
|47=Low-Mid Tom | |||
|40 | |48=Hi Mid Tom | ||
|49=Crash Cymbal 1 | |||
|41 | |50=High Tom | ||
|51=Ride Cymbal 1 | |||
|42 | |52=Chinese Cymbal | ||
|53=Ride Bell | |||
|43 | |54=Tambourine | ||
|55=Splash Cymbal | |||
|44 | |56=Cowbell | ||
|57=Crash Cymbal 2 | |||
|45 | |58=Vibraslap | ||
|59=Ride Cymbal 2 | |||
|46 | |60=Hi Bongo | ||
|61=Low Bongo | |||
|47 | |62=Mute Hi Conga | ||
|63=Open Hi Conga | |||
|48 | |64=Low Conga | ||
|65=High Timbale | |||
|49 | |66=Low Timbale | ||
|67=High Agogo | |||
|50 | |68=Low Agogo | ||
|69=Cabasa | |||
|51 | |70=Maracas | ||
|71=Short Whistle | |||
|52 | |72=Long Whistle | ||
|73=Short Guiro | |||
|53 | |74=Long Guiro | ||
|75=Claves | |||
|54 | |76=Hi Wood Block | ||
|77=Low Wood Block | |||
|55 | |78=Mute Cuica | ||
|79=Open Cuica | |||
|56 | |80=Mute Triangle | ||
|81=Open Triangle | |||
|57 | }} | ||
|58 | |||
|59 | |||
|60 | |||
|61 | |||
|62 | |||
|63 | |||
|64 | |||
|65 | |||
|66 | |||
|67 | |||
|68 | |||
|69 | |||
|70 | |||
|71 | |||
|72 | |||
|73 | |||
|74 | |||
|75 | |||
|76 | |||
|77 | |||
|78 | |||
|79 | |||
|80 | |||
|81 | |||
== References == | == References == | ||
Line 472: | Line 541: | ||
* [https://midi.org/general-midi The MIDI Association's page on General MIDI] | * [https://midi.org/general-midi The MIDI Association's page on General MIDI] | ||
* [https://midi.org/general-midi-level-1 General MIDI System Level 1 Specification] | * [https://midi.org/general-midi-level-1 General MIDI System Level 1 Specification] | ||
* [https://midi.org/developer-white-papers General MIDI System Level 1 Developer Guidelines] |
Latest revision as of 00:14, 11 September 2024
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]
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 |
Prog # | Instrument |
---|---|
9 | Celesta |
10 | Glockenspiel |
11 | Music Box |
12 | Vibraphone |
13 | Marimba |
14 | Xylophone |
15 | Tubular Bells |
16 | Dulcimer |
Prog # | Instrument |
---|---|
17 | Drawbar Organ |
18 | Percussive Organ |
19 | Rock Organ |
20 | Church Organ |
21 | Reed Organ |
22 | Accordion |
23 | Harmonica |
24 | Tango Accordion |
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 |
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 |
Prog # | Instrument |
---|---|
41 | Violin |
42 | Viola |
43 | Cello |
44 | Contrabass |
45 | Tremolo Strings |
46 | Pizzicato Strings |
47 | Orchestral Harp |
48 | Timpani |
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 |
Prog # | Instrument |
---|---|
57 | Trumpet |
58 | Trombone |
59 | Tuba |
60 | Muted Trumpet |
61 | French Horn |
62 | Brass Section |
63 | SynthBrass 1 |
64 | SynthBrass 2 |
Prog # | Instrument |
---|---|
65 | Soprano Sax |
66 | Alto Sax |
67 | Tenor Sax |
68 | Baritone Sax |
69 | Oboe |
70 | English Horn |
71 | Bassoon |
72 | Clarinet |
Prog # | Instrument |
---|---|
73 | Piccolo |
74 | Flute |
75 | Recorder |
76 | Pan Flute |
77 | Blown Bottle |
78 | Shakuhachi |
79 | Whistle |
80 | Ocarina |
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) |
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) |
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) |
Prog # | Instrument |
---|---|
105 | Sitar |
106 | Banjo |
107 | Shamisen |
108 | Koto |
109 | Kalimba |
110 | Bag pipe |
111 | Fiddle |
112 | Shanai |
Prog # | Instrument |
---|---|
113 | Tinkle Bell |
114 | Agogo |
115 | Steel Drums |
116 | Woodblock |
117 | Taiko Drum |
118 | Melodic Tom |
119 | Synth Drum |
120 | Reverse Cymbal |
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 |
---|---|---|
B1 | 35 | Acoustic Bass Drum |
C2 | 36 | Bass Drum 1 |
C♯2 | 37 | Side Stick |
D2 | 38 | Acoustic Snare |
D♯2 | 39 | Hand Clap |
E2 | 40 | Electric Snare |
F2 | 41 | Low Floor Tom |
F♯2 | 42 | Closed Hi Hat |
G2 | 43 | High Floor Tom |
G♯2 | 44 | Pedal Hi-Hat |
A2 | 45 | Low Tom |
A♯2 | 46 | Open Hi-Hat |
B2 | 47 | Low-Mid Tom |
C3 | 48 | Hi Mid Tom |
C♯3 | 49 | Crash Cymbal 1 |
D3 | 50 | High Tom |
D♯3 | 51 | Ride Cymbal 1 |
E3 | 52 | Chinese Cymbal |
F3 | 53 | Ride Bell |
F♯3 | 54 | Tambourine |
G3 | 55 | Splash Cymbal |
G♯3 | 56 | Cowbell |
A3 | 57 | Crash Cymbal 2 |
A♯3 | 58 | Vibraslap |
B3 | 59 | Ride Cymbal 2 |
C4 | 60 | Hi Bongo |
C♯4 | 61 | Low Bongo |
D4 | 62 | Mute Hi Conga |
D♯4 | 63 | Open Hi Conga |
E4 | 64 | Low Conga |
F4 | 65 | High Timbale |
F♯4 | 66 | Low Timbale |
G4 | 67 | High Agogo |
G♯4 | 68 | Low Agogo |
A4 | 69 | Cabasa |
A♯4 | 70 | Maracas |
B4 | 71 | Short Whistle |
C5 | 72 | Long Whistle |
C♯5 | 73 | Short Guiro |
D5 | 74 | Long Guiro |
D♯5 | 75 | Claves |
E5 | 76 | Hi Wood Block |
F5 | 77 | Low Wood Block |
F♯5 | 78 | Mute Cuica |
G5 | 79 | Open Cuica |
G♯5 | 80 | Mute Triangle |
A5 | 81 | Open Triangle |
References
- ↑ 1.0 1.1 1.2 1.3 1.4 1.5 General MIDI System Level 1 Specification, page 2
- ↑ General MIDI System Level 1 Specification, page 7
- ↑ General MIDI System Level 1 Specification, page 1
- ↑ 4.0 4.1 4.2 General MIDI System Level 1 Specification, page 6
- ↑ General MIDI System Level 1 Specification, page 5, tables 1 and 2
- ↑ General MIDI System Level 1 Specification, page 6, table 3