Date: Tue, 14 Jan 92 23:01:16 EST From: jeff@millie.loc.gov (Jeff Mallory) Subject: General MIDI Level Spec **** Brief Overview of Proposed General MIDI Level 1 Spec **** The heart of General MIDI (GM) is the _Instrument Patch Map_, shown in Table 1 (see below). This is a list of 128 sounds, with corresponding MIDI program numbers. Most of these are imitative sounds, though the list includes synth sounds, ethnic instruments and a handful of sound effects. The sounds fall roughtly into sixteen families of eight variations each. Grouping sounds makes it easy to re-orchestrate a piece using similar sounds. The Instrument Map isn't the final word on musical instruments of the world, but it's pretty complete General MIDI also includes a _Percusssion Key Map_, show in Table 2 (see below). This mapping derives from the Roland/Sequential mapping used on early drum machines. As with the Instrument Map, it doesn't cover every percussive instrument in the world, but it's more than adequate as a basic set. To avoid concerns with channels, GM restricts percussion to MIDI Channel 10. Theoretically, the lower nine channels are for the instruments, but the GM spec states that a sound module must respond to all sixteen MIDI channels, with dynamic voice allocation and a minimum of 24 voices. General MIDI doesn't mention sound quality of synthesis methods. Discussions are under way on standardizing sound parameters such as playable range and envelope times. This will ensure that an arrangement that relies on phrsing and balance can play back on a variety of modules. Other requirements for a GM sound module include response to velocity, mod wheel, aftertouch, sustain and expression pedal, main volume and pan, and the All Notes Off and Reset All Controllers messages. The module also must respond to both Pitch Bend and Pitch Bend Sensitivity (a MIDI registered parameter). The default pitch bend range is +-2 semitones. Middle C (C3) corresponds to MIDI key 60, and master tuning must be adjustable. Finally, the MIDI Manufacturers Association (MMA) created a new Universal System Exclusive message to turn General MIDI on and off (for devices that might have "consumer" and "programmable" settings). Table 3 (see below) summarizes these requirements. General MIDI has room for future expansion, including additional drum and instrument assignments and more required controllers. Also under discussion is an "authorizing document" that would standardize things such as channel assignments (e.g., lead on 1, bass on 2, etc.) and setup information in a MIDI file. Copies of the Level 1 Specification documents for General MIDI ($5 each at last notice) are available from the Internation MIDI Association, 5316 West 57th Street Los Angeles, CA 90056, (213) 649-6434. The first issue of the Journal of the MMA (back issues, $15 each) contains an article by PassPort Designs and Stanley Junglieb about General MIDI. Roland's GS Standard When Warner New Media first proposed a General MIDI standard, most MMA members gave it little thought. As discussions proceeded, Roland listened and developed a sound module to meet the proposed specification. At the same NAMM show where the MMA ratified General MIDI Level 1, Roland showed their Sound Brush and Sound Canvas, a Standard MIDI File player and GM-compatible sound module. Some companies feel that General MIDI doesn't go far enough, so Roland created a superset of General MIDI Level 1, which they call GS Standard. It obeys all the protocols and sound maps of General MIDI and adds many extra controllers and sounds. Some of the controllers use Unregistered Parameter Numbers to give macro control over synth parameters such as envelope attack and decay rates. The new MIDI Bank Select message provides access to extra sounds (including variations on the stock sounds and a re-creation of the MT-32 factory patches). The programs in each bank align with the original 128 in General MIDI's Instrument Patch Map, with eight banks housing related families. The GS Standard includes a "fall back" system. If the Sound Canvas receives a request for a bank/program number combination that does not exist, it will reassign it to the master instrument in that family. A set of Roland System Exclusive messages allows reconfiguration and customization of the sound module. This means that a Roland GS Standard sound module will correctly play back any song designed for General MIDI. In addition, if the song's creator wants to create some extra nuance, they can include the GS Standard extensions in their sequence. None of these extensions are so radical as to make the song unplayable on a normal GM sound module. After all, compatibility is what MIDI - and especially General MIDI - is all about. Music authors interested in the GS Standard should contact Tom White at RolandCorp USA, 7200 Dominion Circle, Los Angeles, CA 90040, (213) 685-5141. **** TABLE 1 - General MIDI Instrument Patch Map **** (groups sounds into sixteen families, w/8 instruments in each family) Prog# Instrument Prog# Instrument (1-8 PIANO) (9-16 CHROM PERCUSSION) 1 Acoustic Grand 9 Celesta 2 Bright Acoustic 10 Glockenspiel 3 Electric Grand 11 Music Box 4 Honky-Tonk 12 Vibraphone 5 Electric Piano 1 13 Marimba 6 Electric Piano 2 14 Xylophone 7 Harpsichord 15 Tubular Bells 8 Clav 16 Dulcimer (17-24 ORGAN) (25-32 GUITAR) 17 Drawbar Organ 25 Acoustic Guitar(nylon) 18 Percussive Organ 26 Acoustic Guitar(steel) 19 Rock Organ 27 Electric Guitar(jazz) 20 Church Organ 28 Electric Guitar(clean) 21 Reed Organ 29 Electric Guitar(muted) 22 Accoridan 30 Overdriven Guitar 23 Harmonica 31 Distortion Guitar 24 Tango Accordian 32 Guitar Harmonics (33-40 BASS) (41-48 STRINGS) 33 Acoustic Bass 41 Violin 34 Electric Bass(finger) 42 Viola 35 Electric Bass(pick) 43 Cello 36 Fretless Bass 44 Contrabass 37 Slap Bass 1 45 Tremolo Strings 38 Slap Bass 2 46 Pizzicato Strings 39 Synth Bass 1 47 Orchestral Strings 40 Synth Bass 2 48 Timpani (49-56 ENSEMBLE) (57-64 BRASS) 49 String Ensemble 1 57 Trumpet 50 String Ensemble 2 58 Trombone 51 SynthStrings 1 59 Tuba 52 SynthStrings 2 60 Muted Trumpet 53 Choir Aahs 61 French Horn 54 Voice Oohs 62 Brass Section 55 Synth Voice 63 SynthBrass 1 56 Orchestra Hit 64 SynthBrass 2 (65-72 REED) (73-80 PIPE) 65 Soprano Sax 73 Piccolo 66 Alto Sax 74 Flute 67 Tenor Sax 75 Recorder 68 Baritone Sax 76 Pan Flute 69 Oboe 77 Blown Bottle 70 English Horn 78 Skakuhachi 71 Bassoon 79 Whistle 72 Clarinet 80 Ocarina (81-88 SYNTH LEAD) (89-96 SYNTH PAD) 81 Lead 1 (square) 89 Pad 1 (new age) 82 Lead 2 (sawtooth) 90 Pad 2 (warm) 83 Lead 3 (calliope) 91 Pad 3 (polysynth) 84 Lead 4 (chiff) 92 Pad 4 (choir) 85 Lead 5 (charang) 93 Pad 5 (bowed) 86 Lead 6 (voice) 94 Pad 6 (metallic) 87 Lead 7 (fifths) 95 Pad 7 (halo) 88 Lead 8 (bass+lead) 96 Pad 8 (sweep) (97-104 SYNTH EFFECTS) (105-112 ETHNIC) 97 FX 1 (rain) 105 Sitar 98 FX 2 (soundtrack) 106 Banjo 99 FX 3 (crystal) 107 Shamisen 100 FX 4 (atmosphere) 108 Koto 101 FX 5 (brightness) 109 Kalimba 102 FX 6 (goblins) 110 Bagpipe 103 FX 7 (echoes) 111 Fiddle 104 FX 8 (sci-fi) 112 Shanai (113-120 PERCUSSIVE) (121-128 SOUND EFFECTS) 113 Tinkle Bell 121 Guitar Fret Noise 114 Agogo 122 Breath Noise 115 Steel Drums 123 Seashore 116 Woodblock 124 Bird Tweet 117 Taiko Drum 125 Telephone Ring 118 Melodic Tom 126 Helicopter 119 Synth Drum 127 Applause 120 Reverse Cymbal 128 Gunshot **** TABLE 2 - General MIDI Percussion Key Map **** (assigns drum sounds to note numbers. MIDI Channel 10 is for percussion) MIDI Drum Sound MIDI Drum Sound Key Key 35 Acoustic Bass Drum 59 Ride Cymbal 2 36 Bass Drum 1 60 Hi Bongo 37 Side Stick 61 Low Bongo 38 Acoustic Snare 62 Mute Hi Conga 39 Hand Clap 63 Open Hi Conga 40 Electric Snare 64 Low Conga 41 Low Floor Tom 65 High Timbale 42 Closed Hi-Hat 66 Low Timbale 43 High Floor Tom 67 High Agogo 44 Pedal Hi-Hat 68 Low Agogo 45 Low Tom 69 Cabasa 46 Open Hi-Hat 70 Maracas 47 Low-Mid Tom 71 Short Whistle 48 Hi-Mid Tom 72 Long Whistle 49 Crash Cymbal 1 73 Short Guiro 50 High Tom 74 Long Guiro 51 Ride Cymbal 1 75 Claves 52 Chinese Cymbal 76 Hi Wood Block 53 Ride Bell 77 Low Wood Block 54 Tambourine 78 Mute Cuica 55 Splash Cymbal 79 Open Cuica 56 Cowbell 80 Mute Triangle 57 Crash Cymbal 2 81 Open Triangle 58 Vibraslap **** TABLE 3 - General MIDI minimum sound module specs **** Voices: A minimum of either 24 fully dynamically allocated voices available simultaneously for both melodic and percussive sounds or 16 dynamically allocated voices for melody plus eight for percussion. Channels: General MIDI mode supports all sixteen MIDI channels. Each channel can play a variable number of voices (polyphony). Each channel can play a different instrument (timbre). Keybased Percussion is always on Channel 10. Instruments: A minimum of sixteen different timbres playing various instrument sounds. A minimum of 128 preset for Intruments (MIDI program numbers). Note on/Note off: Octabe Registration: Middle C(C3) = MIDI key 60. All Voices including percussion respond to velocity. Controllers: Controller # Description 1 Modulation 7 Main Volume 10 Pan 11 Expression 64 Sustain 121 Reset All Controllers 123 All Notes Off Registered Description Parameter # 0 Pitch Bend Sensitivity 1 Fine Tuning 2 Coarse Tuning Additional Channel Messages: Channel Pressure (Aftertouch) Pitch Bend Power-Up Defaults: Pitch Bend Amount = 0 Pitch Bend Sensitivity = +-2 semitones Volume = 90 All Other Controllers = reset (after Electronic Musician, 8/91 issue)