Biography Wikipedia
Wikipedia:
General MIDI or GM is a standardized specification for music synthesizers that respond to MIDI messages. GM was developed by the MIDI Manufacturers Association (MMA) and the Japan MIDI Standards Committee (JMSC) and first published in 1991. The official specification is available in English from the MMA, bound together with the MIDI 1.0 specification, and in Japanese from the Association of Musical Electronic Industry (AMEI).
GM imposes several requirements beyond the more abstract MIDI 1.0 specification. While MIDI 1.0 by itself provides a communications 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), GM goes further in two ways: it requires that all GM-compatible synthesizers meet a certain minimal set of features, such as being able to play at least 24 notes simultaneously (polyphony), and it attaches specific interpretations to many parameters and control messages which were left under-specified in the MIDI 1.0 spec, such as defining instrument sounds for each of the 128 possible program numbers.
GM synthesizers are required to be able to:
Allow 24 voices to be active simultaneously (including at least 16 melodic and 8 percussive voices)Respond to note velocitySupport 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
In MIDI, the instrument sound or "program" for each of the 16 possible MIDI channels is selected with the Program Change message, which has a Program Number parameter. The following table shows which instrument sound corresponds to each of the 128 possible Program Numbers for GM only. 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 message. It should also be noted that some MIDI devices display these Program Numbers as shown in the table (1-128), whereas others show the range as actually coded in the Program Change message (0-127).
Melodic sounds
Piano
1 Acoustic Grand Piano2 Bright Acoustic Piano3 Electric Grand Piano4 Honky-tonk Piano5 Electric Piano 16 Electric Piano 27 Harpsichord8 ClavinetChromatic Percussion
9 Celesta10 Glockenspiel11 Music Box12 Vibraphone13 Marimba14 Xylophone15 Tubular Bells16 DulcimerOrgan
17 Drawbar Organ18 Percussive Organ19 Rock Organ20 Church Organ21 Reed Organ22 Accordion23 Harmonica24 Tango AccordionGuitar
25 Acoustic Guitar (nylon)26 Acoustic Guitar (steel)27 Electric Guitar (jazz)28 Electric Guitar (clean)29 Electric Guitar (muted)30 Overdriven Guitar31 Distortion Guitar32 Guitar HarmonicsBass
33 Acoustic Bass34 Electric Bass (finger)35 Electric Bass (pick)36 Fretless Bass37 Slap Bass 138 Slap Bass 239 Synth Bass 140 Synth Bass 2Strings
41 Violin42 Viola43 Cello44 Contrabass45 Tremolo Strings46 Pizzicato Strings47 Orchestral Harp48 TimpaniEnsemble
49 String Ensemble 150 String Ensemble 251 Synth Strings 152 Synth Strings 253 Choir Aahs54 Voice Oohs55 Synth Choir56 Orchestra HitBrass
57 Trumpet58 Trombone59 Tuba60 Muted Trumpet61 French Horn62 Brass Section63 Synth Brass 164 Synth Brass 2Reed
65 Soprano Sax66 Alto Sax67 Tenor Sax68 Baritone Sax69 Oboe70 English Horn71 Bassoon72 ClarinetPipe
73 Piccolo74 Flute75 Recorder76 Pan Flute77 Blown Bottle78 Shakuhachi79 Whistle80 OcarinaSynth 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
105 Sitar106 Banjo107 Shamisen108 Koto109 Kalimba110 Bagpipe111 Fiddle112 ShanaiPercussive
113 Tinkle Bell114 Agogo115 Steel Drums116 Woodblock117 Taiko Drum118 Melodic Tom119 Synth Drum120 Reverse CymbalSound effects
121 Guitar Fret Noise122 Breath Noise123 Seashore124 Bird Tweet125 Telephone Ring126 Helicopter127 Applause128 GunshotPercussion
In GM, MIDI channel 10 is reserved for percussion instruments only. Notes played on channel 10 always produce percussion sounds regardless of any Program Change messages or Program Numbers that may have been sent on channel 10. Each of the 128 different possible note numbers is interpreted as a separate, different instrument, and the percussion sound's pitch is not related to the note number:
35 Bass Drum 236 Bass Drum 137 Side Stick/Rimshot38 Snare Drum 139 Hand Clap40 Snare Drum 241 Low Tom 242 Closed Hi-hat43 Low Tom 144 Pedal Hi-hat45 Mid Tom 246 Open Hi-hat47 Mid Tom 148 High Tom 249 Crash Cymbal 150 High Tom 151 Ride Cymbal 152 Chinese Cymbal53 Ride Bell54 Tambourine55 Splash Cymbal56 Cowbell57 Crash Cymbal 258 Vibra Slap59 Ride Cymbal 260 High Bongo61 Low Bongo62 Mute High Conga63 Open High Conga64 Low Conga65 High Timbale66 Low Timbale67 High Agogô68 Low Agogô69 Cabasa70 Maracas71 Short Whistle72 Long Whistle73 Short Güiro74 Long Güiro75 Claves76 High Wood Block77 Low Wood Block78 Mute Cuíca79 Open Cuíca80 Mute Triangle81 Open TriangleController events
In MIDI, adjustable parameters for each of the 16 possible MIDI channels may be set with the Control Change message, which has a Control Number parameter and a Control Value parameter. GM also specifies which operations should be performed by multiple Control Numbers:
1 Modulation wheel 7 Vome 10 Pan 11 Expression 64 Sustain pedal 100 Registered Parameter Number LSB 101 Registered Parameter Number MSB 121 All controllers off 123 All notes off
RPN
GM defines several Registered Parameters, which act like Controllers but are addressed in a different way. In MIDI, every Registered Parameter is assigned a Registered Parameter Number or RPN. Registered Parameters are usually called RPNs for short.
Setting Registered Parameters requires sending (numbers are decimal):
two Control Change messages using Control Numbers 101 and 100 to select the parameter, followed byany number of Data Entry messages of one or two bytes (MSB = Controller #6, LSB = Controller #38), and finallyan "End of RPN" messageThe following global Registered Parameter Numbers (RPNs) are standardised (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
For example: RPN control sequence to set coarse tuning to A440 (parm 2, value 64): 101:0, 100:2, 6:64, 101:127, 100:127
System Exclusive messages
Two GM System Exclusive ("SysEx") messages are defined: one to enable and disable General MIDI compatibility mode (for synthesizers that also have non-GM modes); and the other to set the synthesizer's master volume.
GS extensions
A superset of the General MIDI standard, added several proprietary extensions. The most notable addition was the ability to address multiple banks of programs (instrument sounds) by using an additional pair of Bank Select controllers to specify up to 16384 'variation' sounds (cc#0 is Bank Select MSB, and cc#32 is Bank Select LSB). 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.
GS was introduced with the Roland Sound Canvas line, which was also Roland's first General MIDI synth module.
General MIDI Level 2
In 1999, the official GM standard was updated to include more controllers, patches, RPNs and SysEx messages, in an attempt to reconcile the conflicting and proprietary Roland GS and Yamaha XG additions. Here's a quick overview of the GM2 changes in comparison to GM/GS:
Number of Notes - minimum 32 simultaneous notesSimultaneous Percussion Kits - up to 2 (Channels 10/11)Up to 16384 variation banks are allowed, each containing a version of the 128 Melodic Sounds (the exact use of these banks is up to the individual manufacturer.)9 GS Drum kits are includedAdditional Control Change messages Filter Resonance (Timbre/Harmonic Intensity) (cc#71)Release Time (cc#72)Attack time (cc#73)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 TuningReverb Type, TimeChorus Type, Mod Rate, Mod Depth, Feedback, Send to ReverbController Destination SettingScale/Octave Tuning AdjustKey-Based Instrument ControllersGM2 System On SysEx messageAdditional melodic instruments can be accessed by setting CC#0 to 121 and then using CC#32 to select the bank before a Program Change.


