- General MIDI
General MIDI or GM is a specification for
synthesizer s which imposes several requirements beyond the more abstractMIDI standard. While MIDI itself provides a protocol which ensures that different instruments can interoperate at a fundamental level (e.g. that pressing keys on a MIDI keyboard will cause an attached MIDI sound module to play musical notes), General MIDI (or GM) goes further in two ways: it requires that all GM-compatible instruments meet a certain minimal set of features, such as being able to play at least 24 notes simultaneously (polyphony), and it attaches certain interpretations to many parameters and control messages which were left unspecified in MIDI, such as defining instrument sounds for each of 128 program numbers.General MIDI was first standardised in 1991 by the
MIDI Manufacturers Association (MMA) and theJapan MIDI Standards Committee (JMSC), and has since been adopted as an addendum to the main MIDI standard. It has largely become required to be able to:* Allow 24 voices to be active simultaneously (including at least 16 melodic and 8 percussive voices)
* Respond to note velocity
* Support all 16 channels simultaneously (with channel 10 reserved for percussion)
* Support polyphony (multiple simultaneous notes) on each channelParameter interpretations
GM Instruments must also obey the following conventions for program and controller events:
Program change events
The following table shows which instrument sound corresponds to each program change number. Note that for purposes of computer programming, this table should start at 0 instead of 1 and thus use all of the 7-bit range (0-127) allowed by the MIDI program change event. It should also be noted that some MIDI keyboards with displays show these program numbers as in the table (1-128), while others show the range as coded (0-127).
Melodic sounds
Piano:
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
8Clavinet
Chromatic Percussion:
9Celesta
10Glockenspiel
11 Music Box
12Vibraphone
13Marimba
14Xylophone
15 Tubular Bells
16 Dulcimer
Organ:
17 Drawbar Organ
18Percussive Organ
19 Rock Organ
20Church Organ
21Reed Organ
22
Accordion
23Harmonica
24 Tango Accordion
Guitar :
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:
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 2Strings:
41Violin
42Viola
43Cello
44Contrabass
45 Tremolo Strings
46Pizzicato Strings
47 Orchestral Harp
48Timpani Strings (continued):
49 String Ensemble 1
50 String Ensemble 2
51 Synth Strings 1
52 Synth Strings 2
53Choir Aahs
54 Voice Oohs
55 Synth Voice
56 Orchestra Hit
Brass:
57Trumpet
58Trombone
59Tuba
60 MutedTrumpet
61French Horn
62Brass Section
63 Synth Brass 1
64 Synth Brass 2
Reed:
65 Soprano Sax
66 Alto Sax
67 Tenor Sax
68 Baritone Sax
69Oboe
70English Horn
71Bassoon
72Clarinet
Pipe:
73Piccolo
74Flute
75Recorder
76Pan Flute
77Blown Bottle
78Shakuhachi
79Whistle
80Ocarina
Synth Lead:
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:
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:
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:
105Sitar
106Banjo
107Shamisen
108 Koto
109 Kalimba
110 Bag pipe
111Fiddle
112Shanai
Percussive:
113Tinkle Bell
114 Agogo
115 Steel Drums
116 Woodblock
117 Taiko Drum
118 Melodic Tom
119 Synth Drum
Sound effects:
120 ReverseCymbal
121 GuitarFret Noise
122 Breath Noise
123 Seashore
124 Bird Tweet
125 Telephone Ring
126Helicopter
127Applause
128Gunshot Percussion notes
Channel 10 is reserved for percussion under General MIDI; this channel always sounds as percussion regardless of whatever program change numbers it may be sent, and different note numbers are interpreted as different instruments:
35 Bass Drum 2
36 Bass Drum 1
37 Side Stick
38 Snare Drum 1
39 Hand Clap
40 Snare Drum 2
41 Low Tom 2
42 ClosedHi-hat
43 Low Tom 1
44 Pedal Hi-hat
45 Mid Tom 2
46 Open Hi-hat
47 Mid Tom 1
48 High Tom 2
49 Crash Cymbal 1
50 High Tom 1
51 Ride Cymbal 1
52 Chinese Cymbal
53 Ride Bell
54Tambourine
55 Splash Cymbal
56 Cowbell
57 Crash Cymbal 2
58 Vibra Slap
59 Ride Cymbal 2
60 High Bongo
61 Low Bongo
62 Mute HighConga
63 Open High Conga
64 Low Conga
65 High Timbale
66 Low Timbale
67 High Agogo
68 Low Agogo
69Cabasa
70Maraca s
71 ShortWhistle
72 Long Whistle
73 ShortGuiro
74 Long Guiro
75Claves
76 High Wood Block
77 Low Wood Block
78 MuteCuica
79 Open Cuica
80 Mute Triangle
81 Open TriangleController events
GM also specifies which operations should be performed by several controllers: [http://www.indiana.edu/~emusic/cntrlnumb.html] [http://www.midisite.com/info/synth/Control.htm]
1 Modulation
6 Data Entry MSB
7 Volume
10 Pan
11 Expression
38 Data Entry LSB
64Sustain
100 RPN LSB
101 RPN MSB
121 Reset all controllers
123 All notes offRPN
Setting Registered Parameters requires sending (numbers are decimal):
#two Control Change messages using Control Numbers 101 and 100 to select the parameter, followed by
#any number of Data Entry messages of one or two bytes (MSB = Controller #6, LSB = Controller #38), and finally
#an "End of RPN" messageThe following global
Registered Parameter Numbers (RPNs) are standardised [ [http://www.midi.org/about-midi/table3.shtml MIDI Messages Table 3 ] ] (the parameter is specified by RPN LSB/MSB pair and the value is set by Data Entry LSB/MSB pair):0,0 Pitch bend range
1,0 Channel Fine tuning
2,0 Channel Coarse tuning
3,0 Tuning Program Change
4,0 Tuning Bank Select
5,0 Modulation Depth Range
127,127 RPN NullFor example: RPN control sequence to set coarse tuning to A440 (parm 2, value 64):
101:0, 100:2, 6:64, 101:127, 100:127System Exclusive messages
Two GM
System Exclusive ("SysEx") messages are defined: one to enable and disable General MIDI compatibility, on devices which also allow modes which are not GM-compatible; and the other to modify an instrument's master volume.GS extensions
The first GM synthesizer in
Roland Sound Canvas line featured a set of extensions to General MIDI standard. The most apparent addition was the ability to address multiple banks of sounds by using additional pair of controllers, cc#0 (Bank Select MSB) and cc#32 (Bank Select LSB), to specify up to 65536 'variation' sounds.Other most notable features were 9 Drum kits with 14 additional drum sounds each, Control Change messages for controlling the send level of sound effect blocks (cc#91-94), entering additional parameters (cc#98-101), portamento, sostenuto, soft pedal (cc#65-67), and model-specific SysEx messages for setting various parameters of the synth engine.
General MIDI Level 2
In 1999, the standard was once again updated to include more controllers, patches, RPNs and SysEx messages. Here's a quick overview of the changes in comparison to GM/GS:
* Number of Notes - minimum 32 simultaneous notes
* Simultaneous Percussion Kits - up to 2 (Channels 10/11)
* Additional 128 melodic sounds are included in variation banks, for a total of 256
* 9 GS Drum kits are included
* Additional Control Change messages
** Filter Resonance (Timbre/Harmonic Intensity) (cc#71)
** Release Time (cc#72)
** Brightness/Cutoff Frequency (cc#74)
** Decay Time (cc#75)
**Vibrato Rate (cc#76)
** Vibrato Depth (cc#77)
** Vibrato Delay (cc#78)
* Registered Parameter Numbers (RPNs)
**Modulation Depth Range (Vibrato Depth Range)
*Universal SysEx messages
** Master Volume, Fine Tuning, Coarse Tuning
**Reverb Type, Time
** Chorus Type, Mod Rate, Mod Depth, Feedback, Send to Reverb
** Controller Destination Setting
** Scale/Octave Tuning Adjust
** Key-Based Instrument Controllers
** GM2 System OnAdditional melodic instruments can be accessed by setting CC#32 to 121 and then using CC#0 to select the bank before a Program Change. The most expanded group is Acoustic Pianos.
ee also
*
Comparison of MIDI standards
*Soundfont References
External links
* [http://www.midi.org/ MIDI Manufacturers Association] (MMA)
* [http://www.borg.com/~jglatt/ MIDI Technical Fanatic's Brainwashing Center]
* [http://www.voidaudio.net/ The Void: PC audio resource]
* [http://www.midisite.co.uk/ MIDIsite] a search engine for free midi files on the Internet
* [http://www.kuhmann.com/Yamaha.htm Disklavier World] Public Domain MIDI-music in FIL (e-SEQ format) for YAMAHA Disklavier pianos ~ live performances!
Wikimedia Foundation. 2010.