General MIDI: Difference between revisions
(Add SysEx section) |
(→Resources: link to developer guidelines) |
||
| Line 538: | Line 538: | ||
* [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] (free download, login required) | * [https://midi.org/general-midi-level-1 General MIDI System Level 1 Specification] (free download, login required) | ||
* [https://midi.org/developer-white-papers General MIDI System Level 1 Developer Guidelines] (free download, login required) | |||
Revision as of 20:06, 20 April 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 System Level 1 (GM 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 System Level 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 |
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
Resources
- The MIDI Association's page on General MIDI
- General MIDI System Level 1 Specification (free download, login required)
- General MIDI System Level 1 Developer Guidelines (free download, login required)