Fact-checked by Grok 2 weeks ago

General MIDI

General MIDI () is a developed for the () protocol, specifying a consistent mapping of instrument sounds, percussion assignments, and control behaviors to ensure that Standard MIDI Files play similarly across compliant synthesizers and sound modules. Introduced in 1991 by the MIDI Manufacturers Association (MMA) and the MIDI Standards Committee (JMSC), GM addressed early MIDI incompatibilities where different devices assigned varying timbres to the same program change numbers, enabling portable music production for consumer, entertainment, and professional applications. The core General MIDI Level 1 (GM1) specification outlines a minimum configuration for MIDI sound generators, requiring at least 24-note , 16 simultaneous channels (with channel 10 reserved for percussion), and a fixed set of 128 program numbers mapped to specific instrument categories such as acoustic grand (program 0), (programs 4-7), and various orchestral and electronic sounds. It also standardizes drum note assignments on channel 10 (e.g., at note 35, at note 38) and defines responses to common controllers like modulation wheel, volume, and pitch bend, without prescribing exact acoustic qualities to allow manufacturer variation. This baseline ensured that a MIDI sequence created on one device would produce recognizable results on another, revolutionizing in music software and sequencing tools. In 1999, (GM2) extended with enhanced capabilities, including at least 32-note (increased from 24 in ), an expanded sound set of 256 instruments with bank-selectable variations within each of the 16 instrument families, support for finer tuning adjustments via the Tuning Standard, and additional controls such as scalable modulation depth, key-based instrument variations, and global parameter messaging for effects like reverb and . GM2 maintains with while adding features like master fine/coarse tuning and destination settings for control changes, making it suitable for more expressive performances in modern digital audio workstations. A lighter variant, General MIDI Lite, was later introduced to meet specific market needs with reduced complexity, though it retains core compatibility. Overall, General MIDI has profoundly influenced digital music creation, underpinning billions of MIDI files in games, films, and software synthesizers, and remains relevant even with the advent of MIDI 2.0 due to its widespread adoption and simplicity.

Introduction

Definition and Purpose

General MIDI (GM) is an extension to the Musical Instrument Digital Interface (MIDI) protocol, a hardware and software standard for exchanging musical performance data between electronic instruments and computers. Published in 1991 by the MIDI Manufacturers Association (MMA) and the Japan MIDI Standards Committee (JMSC), it defines a minimum configuration of features that synthesizers, sound modules, and software must implement to deliver consistent audio output regardless of the specific device. This includes requirements for multitimbral capability, allowing simultaneous playback of multiple instrument voices, and standardized responses to MIDI messages such as note on/off events and program changes. The core purpose of General MIDI is to promote in music production and playback by standardizing the of instrument timbres, percussion , and controller behaviors across MIDI-compatible and software. Prior to GM, MIDI files could sound vastly different on various devices due to proprietary sound mappings and implementations, complicating sharing and . By establishing a common framework, GM enables musicians, composers, and producers to create and exchange sequences without anticipating hardware variations, thereby streamlining workflows in sequencing software, workstations, and live setups. A major benefit of General MIDI is the enhanced portability of musical data, as it eliminates the need for device-specific tweaks to achieve intended results, while supporting polyphonic arrangements over up to 16 MIDI channels for complex, multitrack compositions. It directly complements the Standard MIDI File (SMF) format, ensuring predictable rendering of both Type 0 files (which merge all channels into a single track) and Type 1 files (which use separate tracks for each channel). Under GM, channel 10 is reserved exclusively for percussion instruments, and the 128 program change numbers are mapped to a fixed set of melodic and rhythmic sounds, guaranteeing uniform playback across compliant systems.

History and Development

The development of General MIDI (GM) arose in the late amid growing fragmentation in MIDI implementations, as the rapid expansion of synthesizers, sequencers, and home computers during the decade highlighted the need for greater among devices from different manufacturers. Prior to GM, varying program change mappings and instrument assignments across brands like , , and Kawai often rendered MIDI files incompatible, prompting industry discussions on standardization to facilitate "plug-and-play" compatibility for musicians and composers. These efforts were led by the MIDI Manufacturers (MMA) in collaboration with the Japan MIDI Standards Committee (JMSC), focusing on defining a common set of voices, channels, and controls to address the limitations of the original MIDI 1.0 specification established in 1983. GM was officially defined as the "General MIDI System Level 1" specification in 1991 by the MMA and JMSC, establishing requirements for 128 instruments, 24-note , and standardized percussion mapping on channel 10. The first compliant hardware appeared shortly thereafter, with Roland's SC-55 Sound Canvas module released in March 1991 as the inaugural GM-compatible device, which also introduced Roland's GS extensions for enhanced sounds while maintaining core GM adherence. This rollout marked a pivotal shift, enabling consistent playback of Standard MIDI Files across diverse equipment and accelerating GM's adoption in consumer and professional settings. Influenced by earlier proprietary efforts like Roland's GS format launched in , GM's evolution continued into the late with proposals for expansions to support more instruments and effects. (GM2) was adopted in 1999 by the MMA, with finalization involving the Association of Musical Electronics Industry (AMEI) in 2003 to refine and add features like increased and drum variations. By the mid-, GM had integrated into mainstream computing, exemplified by Microsoft's inclusion of GS Wavetable Synth support in (1998), which popularized GM playback in PC-based music production and gaming. As of 2025, GM remains a foundational standard despite the introduction of MIDI 2.0 in 2020, which enhances resolution and property exchange while preserving GM compatibility to ensure legacy file support. Recent advancements, such as the Network MIDI 2.0 specification announced by the MIDI Association at NAMM 2025, further emphasize GM's role in enabling seamless device integration over Ethernet and wireless networks without disrupting established MIDI workflows.

Core Specifications of General MIDI Level 1

Basic System Requirements

General MIDI Level 1 compliance mandates specific hardware and software capabilities to ensure interoperability among MIDI devices, focusing on , channel handling, effects processing, and initialization behaviors. Devices must support a minimum of 24 simultaneous voices, which can be allocated dynamically across melodic and percussive sounds, or alternatively at least 16 melodic voices and 8 percussion voices. This requirement allows for basic ensemble playback without excessive note stealing, accommodating typical musical arrangements. Additionally, full multitimbral operation across all 16 MIDI channels is required, enabling independent instrument assignments per channel, including Channel 10 reserved exclusively for percussion. Regarding effects and sound generation, if reverb and effects are implemented, devices must provide basic processing with fixed parameters, controllable via MIDI controllers such as CC 91 for reverb send level and CC 93 for send level. There is no stipulation on whether sounds are generated via , sampling, or a approach, prioritizing consistent response to standard messages over specific tonal quality. System setup requires devices to respond to program change messages (0-127) on each and all channel voice messages, including on/off, , pitch bend, and . Activation of mode occurs automatically on power-up or upon receipt of the universal SysEx F0 7E 7F 09 01 F7, ensuring the device enters a standardized operational state. Compliance is verified through guidelines established by the MIDI Manufacturers Association (MMA), which include testing responses to all 128 programs across channels, Channel 10 percussion mapping without artifacts or glitches, and overall message handling without undefined behaviors. Upon power-on or mode activation, all channels default to program 0 (Acoustic Grand Piano), main volume (CC 7) set to 100, and pan position (CC 10) centered at 64 to provide a neutral starting point for playback. These defaults facilitate immediate with GM-standardized files without additional configuration.

Channel and Voice Assignments

General MIDI Level 1 employs a fixed structure of 16 MIDI channels to facilitate standardized multitrack playback and ensure among compliant devices. Channels 1 through 9 and 11 through 16 are reserved for melodic instruments, allowing independent assignment of instrument patches to each for polyphonic performance. Channel 10 is exclusively allocated for percussion and , with numbers mapped to specific drum sounds regardless of changes on that channel. Voice management in General MIDI Level 1 requires devices to support a minimum of 24 simultaneous voices (notes) across all combined, accommodating typical musical arrangements with multiple polyphonic parts. Each handles one at a time, selected via program change messages, while supporting multiple concurrent notes on that ; note-on and note-off events incorporate values (0-127) to modulate volume, , and characteristics for dynamic expression. Instrument banks are selected using Controller 0 for the most significant byte (MSB) and Controller 32 for the least significant byte (LSB), forming a 14-bit address for up to 16,384 potential banks; however, General MIDI Level 1 restricts implementation to the default bank (MSB 0, LSB 0) to preserve compatibility, with other bank selections either ignored or resulting in no audible change. Devices with omni mode off by default, enabling multi-timbral operation where each channel responds independently to its assigned data. MIDI mode configuration adheres to Mode 1 (omnis off, polyphonic), which must be supported and can be invoked via universal system exclusive messages or All Notes Off/Local Control variants (controllers 120-127) to reset and configure channels for independent . General MIDI Level 1 does not require or support Modes 2 through 4 (omnis on or monophonic variants), ensuring focus on multi-channel polyphonic playback. Pitch bend messages, transmitted as 14-bit values (0-16,383, with 8,192 as neutral), operate with a standardized range of ±2 semitones on all melodic channels, allowing consistent expressive bending without per-channel variation in the base specification. The modulation wheel, via Controller 1 (0-127), controls depth, typically applying periodic , , or to enhance the natural variation in sustained notes across instruments.

Program Changes and Instrument Mapping

In General MIDI Level 1, program changes allow selection of specific instruments on melodic MIDI channels (1-9 and 11-16) by transmitting a MIDI Program Change message, consisting of a status byte ranging from 0xC0 to 0xCF (corresponding to the channel) followed by a single data byte specifying the program number from 0 to 127. This standardized mapping ensures that any General MIDI-compatible responds with the same instrument category across devices, promoting in music production and performance. The 128 programs are organized into 16 families, each containing 8 instruments, providing a logical progression from more traditional or acoustic timbres to increasingly processed, electric, or synthetic variations within the group. This arrangement facilitates composer predictability, as instruments in a family share similar sonic characteristics while offering variety for different musical contexts. No precise acoustic parameters or velocity response layers are mandated beyond basic MIDI velocity sensitivity (0-127), allowing manufacturers flexibility in while adhering to the core mapping. The following table outlines the 16 families, their program number ranges, and representative examples:
FamilyProgram RangeExamples
Piano0-70: Acoustic Grand Piano; 1: Bright Acoustic Piano; 4: Electric Piano 1; 7: Clavinet
Chromatic Percussion8-158: Celesta; 9: Glockenspiel; 11: Vibraphone; 12: Marimba
Organ16-2316: Drawbar Organ; 17: Percussive Organ; 19: Church Organ; 22: Pipe Organ
Guitar24-3124: Acoustic Guitar (nylon); 25: Acoustic Guitar (steel); 27: Electric Guitar (jazz); 30: Distortion Guitar
Bass32-3932: Acoustic Bass; 33: Electric Bass (finger); 35: Electric Bass (pick); 38: Synth Bass 1
Strings40-4740: Violin; 41: Viola; 42: Cello; 45: Tremolo Strings; 47: Timpani
Ensemble48-5548: String Ensemble 1; 49: String Ensemble 2; 52: Choir Aahs; 55: Orchestra Hit
Brass56-6356: Trumpet; 57: Trombone; 59: Muted Trumpet; 61: Synth Brass 1
Reed64-7164: Soprano Sax; 66: Alto Sax; 68: Oboe; 71: Clarinet
Pipe72-7972: Piccolo; 73: Flute; 75: Pan Flute; 78: Whistle; 79: Ocarina
Synth Lead80-8780: Lead 1 (square); 81: Lead 2 (sawtooth); 84: Lead 5 (charang); 87: Lead 8 (bass + lead)
Synth Pad88-9588: Pad 1 (new age); 89: Pad 2 (warm); 92: Pad 5 (bowed); 95: Pad 8 (sweep)
Synth Effects96-10396: FX 1 (rain); 97: FX 2 (stars); 100: FX 5 (brightness); 103: FX 8 (sci-fi)
Ethnic104-111104: Sitar; 105: Banjo; 107: Koto; 111: Shanai
Percussive112-119112: Tinkle Bell; 113: Agogo; 115: Steel Drums; 119: Reverse Cymbal
Sound Effects120-127120: Guitar Fret Noise; 121: Breath Noise; 123: Telephone Ring; 127: Gunshot
General MIDI Level 1 restricts usage to bank select MSB 0 (controller 0 value 0) and LSB 0 (controller 32 value 0), meaning no additional banks beyond the default set are required for compliance. Program changes must take effect immediately upon receipt, switching the instrument on the specified channel without interrupting or cutting off any currently sounding notes. This instantaneous response supports seamless transitions in performance and sequencing.

Percussion Note Assignments

In General MIDI Level 1, channel 10 is exclusively dedicated to percussion instruments, where every note-on message triggers a percussion irrespective of any program change or bank select messages received on that . This setup ensures that percussion remains independent from melodic instrument assignments on other channels. Although the full note range of 0 to 127 is available, only notes 35 through 81 are officially mapped to specific percussion sounds, defining a core set of 47 instruments that must be implemented consistently across all compliant devices. The percussion note assignments form a fixed, non-programmable mapping that prioritizes common drum kit elements and ethnic percussion for broad compatibility in music production and playback. This standardization enables sequences to specify drum patterns using simple note numbers without additional configuration. Below is the complete mapping for notes 35–81, as defined in the specification:
Note NumberNote NamePercussion Sound
35B0Acoustic Bass Drum
36C1
37C♯1
38D1Acoustic Snare
39E♭1Hand Clap
40E1Electric Snare
41F1Low Floor Tom
42F♯1
43G1High Floor Tom
44G♯1Pedal Hi-Hat
45A1Low Tom
46A♯1
47B1Low-Mid Tom
48C2Hi-Mid Tom
49C♯2Crash Cymbal 1
50D2High Tom
51E♭2
52E2Chinese Cymbal
53F2Ride Bell
54F♯2
55G2Splash Cymbal
56G♯2
57A2Crash Cymbal 2
58A♯2
59B2
60C3Hi Bongo
61C♯3Low Bongo
62D3Mute Hi Conga
63E♭3Open Hi Conga
64E3
65F3High Timbale
66F♯3Low Timbale
67G3High Agogô
68G♯3Low Agogô
69A3
70A♯3Maracas
71B3Short Whistle
72C4
73C♯4Short Güiro
74D4
75E♭4
76E4Hi Wood Block
77F4Low Wood Block
78F♯4Mute Cuíca
79G4
80G♯4Mute Triangle
81A4Open Triangle
All percussion sounds respond to note velocity, which controls both volume and subtle timbral changes; for instance, higher velocities on the closed hi-hat (note 42) typically produce accented or partially open variants, simulating realistic drum dynamics. Unlike melodic channels, pitch bend and modulation wheel messages have no effect on channel 10, preserving the fixed pitch assignments for percussion. While the core specification mandates these 47 sounds, GM-compliant hardware and software may extend the mapping with additional notes or layered variations beyond 35–81 for enhanced expressiveness. This structure facilitates the creation of portable drum tracks in Standard MIDI Files, allowing consistent playback across devices without relying on bank switching or custom configurations.

Controller and Parameter Events

General MIDI Level 1 defines a set of standardized messages, known as events, to enable real-time adjustment of sound parameters on a per-channel basis. These controllers operate within the MIDI protocol's format, where the controller number ranges from 0 to 127, and the value ranges from 0 to 127, allowing omnidirectional control across all 16 channels. All General MIDI devices must respond to a core subset of these controllers to ensure compatibility. The essential controllers include Bank Select MSB (CC 0), which selects instrument banks for program changes; Modulation Wheel (CC 1), typically controlling vibrato depth; Channel Volume (CC 7), adjusting overall gain; Pan (CC 10), positioning the sound in the stereo field; Expression (CC 11), modulating volume post-main volume control; and Hold 1 (Sustain) (CC 64), simulating a damper pedal. Additionally, channel mode messages such as All Sound Off (CC 120, value 0), which silences all sounds without affecting note on/off status; Reset All Controllers (CC 121, value 0), which restores controllers to default values; and All Notes Off (CC 123, value 0), which releases all sounding notes, are mandatory for clearing performance states and preventing stuck notes. These controllers apply channel-specifically, with volume and pan affecting the entire channel's output. To fine-tune parameters beyond basic CC, General MIDI Level 1 supports Registered Parameter Numbers (RPNs) using CC 100 (RPN LSB) and CC 101 (RPN MSB), followed by Data Entry MSB (CC 6) and LSB (CC 38) for value setting. The standardized RPNs include Pitch Bend Sensitivity (RPN 00 00), where the data entry sets the range in semitones (MSB) and cents (LSB), defaulting to 2 semitones; Master Coarse Tuning (RPN 00 01), adjusting pitch in semitones across all channels; and Master (RPN 00 02), providing cent-level adjustments. Non-Registered Parameter Numbers (NRPNs), using CC 98 (NRPN LSB) and CC 99 (NRPN MSB), are permitted but limited in General MIDI to device-specific functions without standardized interpretations, ensuring core compatibility without mandating extensions. After setting an RPN or NRPN, CC 101 or 99 set to 7F 7F disables further data entry until a new is selected. System Exclusive (SysEx) messages in General MIDI Level 1 provide global control beyond messages, starting with F0 and ending with F7. The primary SysEx is the General MIDI On message (F0 7E 7F 09 01 F7), which initializes the device to Level 1 defaults, resetting all parameters, clearing stuck notes on all channels, and enabling GM mode; the Off message (F0 7E 7F 09 02 F7) disables it, reverting to non-GM operation. General Channel Message (GCM) SysEx (F0 7E [device ID] 0C [channel] [message type] [data] F7) supports bulk dumps of parameters like or controller states, but effects beyond basic controls are not universally defined in Level 1. Devices must process these SysEx messages to maintain , with the GM On message taking precedence over conflicting settings. Parameter interpretations are consistent across devices: Volume (CC 7) scales the channel's output linearly from 0 (mute) to 127 (maximum), with 100 as a typical reference level; Pan (CC 10) positions from 0 (hard left) to 64 (center) to 127 (hard right), assuming equal power panning; Expression (CC 11) applies multiplicative volume modulation relative to the main volume; and Sustain (CC 64) engages at values ≥64, holding notes until release or cutoff. Reset behaviors ensure reliability: CC 121 sets all controllers to defaults (e.g., modulation and expression to 0, volume to 100, pan to 64, sustain off) but does not affect notes or program changes; CC 120 and 123 must be honored on all channels to eliminate residual sounds, with devices required to implement note-off equivalents for any stuck notes upon reset. These mechanisms allow dynamic performance control while upholding the standard's portability.
Controller NumberNameFunction in GM1Value Range/Behavior
0Bank Select MSBSelects MSB for program change banks (0 for standard GM)0-127
1Controls or depth0 (none) - 127 (max)
7Channel VolumeAdjusts channel output level0 (off) - 127 (max)
10 positioning0 (left) - 64 (center) - 127 (right)
11ExpressionPost-volume dynamic control0 (none) - 127 (full)
64Holds notes after key release0-63 (off), 64-127 (on)
120All Sound OffImmediately silences all channel sounds0 (execute)
121Restores defaults (e.g., vol=100, pan=64)0 (execute)
123All Notes OffReleases all sustained notes0 (execute)

Extensions to General MIDI

Roland GS Extensions

The (General Standard) format, introduced in 1991, extends the Level 1 specification while ensuring full through the use of bank select messages (Controller 0 for MSB and Controller 32 for LSB). This allows GS devices to interpret standard GM data by defaulting to 0/0, where program changes map directly to the 128 GM instruments, while enabling access to additional sounds and parameters via other banks. Developed alongside Roland's Sound Canvas series, such as the SC-55 module, GS aimed to standardize enhanced capabilities for multitimbral sound generation in professional and consumer applications. A primary enhancement in GS is support for 16-part multitimbrality (16 MIDI channels, with channel 10 dedicated to percussion), consistent with GM1's requirements. Instrument expansions include over 300 tonal variations across multiple s; for example, bank 64 provides additional guitar patches like acoustic finger and steel variants, while bank 126 offers specialized kits. Drum kits are expanded beyond GM's single standard set, including Standard, , , , , , , and SFX kits, selected via bank select MSB=127 and appropriate LSB/program changes on channel 10, allowing for genre-specific percussion mappings such as brighter snares in the Power kit. Effects processing is also broadened, featuring eight reverb types (0: 1 to 7: delay) and six types (0: chorus 1 to 5: flanger), controllable per part or globally to add spatial depth without altering core GM functionality. Control enhancements in GS utilize Non-Registered Parameter Numbers (NRPNs) for fine-tuned sound shaping, such as filter cutoff (NRPN MSB 01, LSB 20; values 14–114, default 64) and envelope parameters like (MSB 01, LSB 63) and (MSB 01, LSB 66). These are implemented via Controller 99 (MSB), 98 (LSB), 6 ( MSB), and 38 ( LSB), enabling real-time adjustments to and . System exclusive (SysEx) messages further support GS initialization and mode switching, with the GS reset command F0 41 10 42 12 40 00 7F 00 41 F7 restoring parameters across all parts. of GS became widespread in hardware, including the Sound Canvas series (e.g., SC-55, SC-88), which powered sequencing software and live setups in the 1990s; it also influenced software implementations, such as Microsoft's GS Wavetable Synth, which licensed 's sound set for Windows playback.

Yamaha XG Extensions

Yamaha XG, introduced by in as "Extended General MIDI," serves as an advanced proprietary extension to the General MIDI Level 1 standard, enhancing synthesis capabilities while ensuring backward compatibility with and formats through specific mode selection. The XG mode is enabled via the System Exclusive message F0 43 10 4C 00 00 7E 00 F7, which switches compatible devices to the extended feature set without disrupting standard data playback. This design allows XG devices to interpret GM sequences accurately while unlocking additional parameters for more expressive music production. A core enhancement is 16-part multitimbrality with up to 32-note , enabling richer arrangements within the 16 MIDI channels compared to basic implementations. The instrument library expands dramatically to over 600 voices, organized into multiple banks: Bank 0 mirrors the standard set of 128 instruments; Bank 64 provides GS-compatible variations; Banks 126 and 127 are dedicated to drum/percussion kits; and Banks 1 through 3 offer XG-exclusive timbres, including sophisticated leads and effects-oriented sounds. These banks are selected using Bank Select MSB and LSB Controller Change messages (CC0 and CC32), allowing seamless switching without altering program changes. XG builds on GS influences by incorporating compatible drum expansions for broader percussion options. The effects architecture introduces a flexible system with dedicated processing blocks: reverb offers 11 types (such as Hall 1, Room 1, and Plate) applied across multiple parts; chorus provides 11 types (including Chorus 1, Feedback, and Flanger) for spatial enhancement; and variation effects encompass 42 types (ranging from reverb/chorus variants to distortion, overdrive, and equalization) configurable as either system-wide or insertion effects. Parameters for these effects, including send levels and type selection, are adjusted via NRPN messages—for instance, NRPN MSB 99 and LSB 08 selects the effect type, while connection modes (system or insertion) are set with LSB 01. Drum features are similarly extended with 12 kits (including Standard, Room, Rock, and Jazz) that support velocity-based switching between layers and allow simultaneous assignment of multiple kits to a single channel for layered percussion. Advanced synthesis controls enable detailed sound shaping at the element level, such as and , manipulated through NRPN (e.g., MSB 99 and LSB 20 for , ranging from -64 to +63 semitones relative to the voice's base value, and LSB 21 for ). Additional NRPN parameters support generators, LFO , and positioning, with portable tone editor messages allowing external software to modify voices in real-time. XG gained significant adoption in like the tone modules (e.g., MU80 and MU50), sound cards such as the DB50XG, and software synthesizers including the S-YXG50, while also being integrated into applications and select game console sound systems for enhanced playback.

General MIDI Level 2 Enhancements

General MIDI Level 2 (GM2) was jointly developed by the MIDI Manufacturers Association (MMA) and the Association of Musical Electronics Industry (AMEI), with the specification adopted in 1999 to extend the capabilities of General MIDI Level 1 (GM1) while ensuring full . The enhancements addressed limitations in sound variety and control options, incorporating and standardizing some concepts from earlier vendor extensions like and for broader industry adoption. Early commercial implementations appeared in synthesizers from 2000 onward, such as the SC-8850, with later models like the 2004 Extreme including dedicated GM2 presets. A key upgrade in GM2 is the expansion of available instruments to 256 programs, achieved through bank selection using MIDI Control Change messages CC#0 (MSB) and CC#32 (LSB), with the core 128 programs retained in bank 0 (MSB 0, LSB 0). This allows access to new instrument families, including ethnic strings (e.g., koto, ), new age pads (e.g., halo pad, sweep pad), and additional variations in categories like guitars, basses, and orchestral ensembles, providing greater expressive range without altering the original mapping. Bank selects enable up to 16,384 potential variations across MSB 0-127 and LSB 0-127, though implementations typically focus on the initial 256 for standardized compatibility. Percussion capabilities were significantly enhanced in GM2, with support for up to two simultaneous percussion kits on channels 10 and 11, compared to GM1's single kit fixed on channel 10. The standard kit includes an expanded note range up to MIDI note 127, incorporating additional cymbals (e.g., , ride bell) and world percussion instruments (e.g., , steel drums), while bank selects provide variations like room, power, electronic, , brush, , and SFX kits for diverse rhythmic textures. These upgrades maintain the GM1 percussion assignments for notes 0-81 but extend the map for richer drum programming. GM2 introduces advanced effects and control features, mandating 16-part multitimbrality across all 16 MIDI channels (with channels 10 and 11 allocatable for percussion), an increase from GM1's effective 15 melodic parts. Reverb effects support 9 types (e.g., room, hall, plate) with parameters like time, level, and pre-delay controllable via Universal SysEx messages, while offers 5 types (e.g., , , ) with rate and depth adjustments. Registered Parameter Numbers (RPNs) are extended for precise sample tuning, including fine and coarse adjustments (±1 in 1/100th steps) and a null function to reset parameters; additionally, the GM2 System On mode is activated via the SysEx message F0 7E 7F 09 03 F7, which initializes the device to GM2 compliance. Further enhancements include mandatory support for MIDI Time Code (MTC) for synchronization and Sample Dump Standard (SDS) for waveform transfer, alongside a minimum of 64 simultaneous notes to handle more complex arrangements. These features build on GM1's controller set, adding messages like key-based and effect depth for instrument-specific control. Compatibility is ensured through a fallback mechanism: GM2 devices respond to GM1 messages identically, ignoring unsupported GM2 elements like extended banks. Standard MIDI Files (SMF) can flag GM2 usage via a meta-event (e.g., sequence-specific event FF 59 02 43 02 for GM2), allowing sequencers to adapt playback; if a device lacks GM2 support, it defaults to GM1 behavior upon receiving the GM System On message F0 7E 7F 09 01 F7.

Implementation and Impact

Hardware and Software Compatibility

General MIDI's implementation in hardware began with early 1990s sound modules that pioneered widespread compatibility. The , released in 1991, was the first device to fully incorporate the General MIDI standard, enabling consistent playback across systems. Similarly, the Yamaha MU10, introduced in 1996, provided compact tone generation with full General MIDI support, including 676 voices and 16-part multitimbrality, making it ideal for computer-based music production. In modern setups, USB interfaces and synthesizers often integrate General MIDI via software emulators like , a based on 2 that renders data for contemporary controllers as of 2025. Software integration has embedded General MIDI into operating systems and digital audio workstations (DAWs), facilitating seamless MIDI playback. Microsoft's DirectMusic, part of Windows multimedia APIs, bundles General MIDI/GS Downloadable Sounds (DLS) collections to enhance in applications and games. On macOS, Music supports General MIDI through its , allowing customized GM-compatible MIDI files for playback and synthesis. DAWs such as enable General MIDI via external plugins or instrument racks for loading GM banks, while uses built-in tools like ReaControlMIDI to access GM presets and soundfonts. Mobile apps like recognize General MIDI program changes for MIDI file import and playback, supporting standard instrument assignments. The standard's ties to the .mid file format have made it essential for legacy applications, particularly in video games where numerous titles rely on General MIDI for audio. Tools like TiMidity++ emulate General MIDI on non-compliant hardware by converting MIDI files to audio using soundfonts, ensuring playback on systems without dedicated synthesizers. Certification by the MIDI Manufacturers Association (MMA) verifies device compliance through its logo program, available only to members meeting GM requirements, promoting reliable interoperability. This cross-platform foundation extends to web technologies, where the Web MIDI API in browsers like and allows direct connection to MIDI devices for General MIDI playback without plugins.

Limitations and Modern Usage

Despite its standardization efforts, General MIDI (GM) imposes several inherent limitations that constrain musical expressiveness and flexibility. The specification fixes a palette of 128 instruments, which lacks the nuance required for advanced performance techniques such as dynamic articulations like , , or on strings, often resulting in mechanical or uniform playback across devices. Additionally, GM predates high-resolution MIDI protocols, relying on 7-bit controller values that limit parameter precision, such as and depth, before the advent of MIDI 2.0. The rigid assignment of channel 10 exclusively to percussion further hampers , as it prevents flexible routing of sounds to other channels and enforces a fixed mapping of notes to percussion instruments, reducing adaptability for non-standard kits or layered rhythms. constraints, typically capped at 24–32 voices in basic GM-compliant , can truncate complex arrangements with sustained chords or orchestral layers, particularly on budget synthesizers where voice stealing occurs during dense passages. Criticisms of GM often center on inconsistent sound quality across implementations, where low-end devices may use rudimentary 8-bit synthesis yielding tinny or lo-fi tones, while higher-end units employ multi-sampled waveforms for richer , leading to unpredictable playback fidelity. Proprietary extensions like Roland's GS and Yamaha's XG, while expanding instrument variety, fragment compatibility by introducing device-specific system exclusive messages that may not translate reliably on non-supporting hardware. Furthermore, GM's channel-based stereo panning and lack of multi-channel spatial positioning render it outdated for modern surround or spatial audio formats, which demand immersive beyond its 16-channel framework. In technology as of 2025, GM retains relevance primarily for legacy MIDI files in educational settings, where it serves as an accessible entry point for teaching and without requiring specialized hardware. It remains the default in systems, such as apps and game engines, and web audio applications that prioritize lightweight, cross-platform playback. GM integrates with 2.0 through backward-compatible profiles, including the MIDI-CI mechanism for General MIDI 2 discovery, ensuring seamless operation in Network MIDI implementations demonstrated at NAMM 2025. GM also finds use in AI-driven music generation tools, where its standardized mapping facilitates rapid prototyping of melodies, harmonies, and arrangements in platforms like Google Magenta Studio and AIVA, outputting MIDI sequences compatible with virtual instruments. Looking ahead, traditional hardware synths like the deprecated Windows Wavetable (phased out in Windows 11 updates by 2025) are giving way to software emulations in VST/AU plugins, such as GeneralUser GS, which replicate GM sounds for quick sketching and integration with modern DAWs. Alternatives like 2 (SF2) files extend GM by allowing custom sample banks to replace default patches while preserving the 128-instrument mapping, enhancing playback quality in software synthesizers. MIDI 2.0 supplements GM with property exchange for finer control over timbres and effects, without obsoleting its core instrument assignments, thus bridging legacy and advanced workflows.

References

  1. [1]
    General MIDI Level 1 – MIDI.org
    This Specification outlines a minimum MIDI configuration of a “General MIDI System” which defines a certain class of MIDI controlled sound generators.Missing: standard | Show results with:standard
  2. [2]
    Synthesizers and MIDI - Mike Slinn
    Oct 16, 2023 · The General MIDI standard, also known as GM or GM 1, was published in 1991. GM is a specification for MIDI instruments; it defines standardized ...
  3. [3]
    General MIDI – MIDI.org
    The General MIDI Specifications (GM 1, GM 2, and GM Lite) define specific features and behaviors for compliant MIDI devices.
  4. [4]
    General MIDI 2 – MIDI.org
    General MIDI 2 is a group of extensions made to General MIDI (Level 1) allowing for expanded standardized control of MIDI devices.
  5. [5]
    [PDF] General MIDI System Level 1 Specification - Polyphone
    This Specification outlines a minimum MIDI configuration of a “General MIDI System” which defines a certain class of MIDI controlled sound generators.
  6. [6]
    About MIDI-Part 4:MIDI Files – MIDI.org
    The Standard MIDI File format is different from native MIDI protocol, because the events are time-stamped for playback in the proper sequence. Standard MIDI ...
  7. [7]
    MIDI: Past, Present & Future (SOS Jun 92) - mu:zines
    General MIDI (GM) was ratified by the MMA and JMSC early in 1992. It is intended to sort out the problems of assignment of sounds to program numbers and drum ...
  8. [8]
  9. [9]
    MIDI History – MIDI.org
    The first international conference was held in October 1981 to start the discussion of standardizing a common synthesizer interface. Five members from the three ...
  10. [10]
    General MIDI (SOS Apr 91) - mu:zines
    Basically, General MIDI is a complete specification of both a set of sound parameters needed to produce music, and a method of controlling them on different ...
  11. [11]
    Roland SC55 Sound Canvas (SOS Sep 91) - mu:zines
    Perhaps the most important feature of the Sound Canvas is that it is the first device on the market to implement the new General MIDI standard. General MIDI ...
  12. [12]
    Sound Canvas VA | Software Synthesizer - Roland
    The Gold Standard in GS Sound Modules. First introduced in 1991, Roland's Sound Canvas series has long been the de facto standard in GS sound modules, and ...
  13. [13]
  14. [14]
    Network MIDI 2.0: MIDI over Ethernet - Gearnews.com
    Jan 28, 2025 · At NAMM 2025, the Association officially launched the new Network MIDI 2.0 (UDP) standard, which was ratified in November 2024. Network MIDI 2.0 ...
  15. [15]
    System exclusive events GM Reset - MIDI Association
    Feb 24, 2023 · I know these system exclusive events that indicate system MIDI [code type=markup]GM System On = F0 7E 7F 09 01 F7 GM System Off = F0 7E 7F ...Do MIDI files store GM/GS/XG indicator info? Do banks have ...Assign Midi CC to controller via Midi commands from external device.More results from midi.org
  16. [16]
    MIDI 1.0 Detailed Specification
    MIDI 1.0 is a hardware and software specification for exchanging musical information between devices, including musical notes and program changes.Missing: General | Show results with:General
  17. [17]
    General MIDI Sounds - Jazz-Soft.net
    General MIDI Program Chart ; Piano. 0 Acoustic Grand Piano. 1 Bright Acoustic Piano. 2 Electric Grand Piano. 3 Honky-tonk Piano ; Chromatic Percussion. 8 Celesta.
  18. [18]
    None
    ### General MIDI Percussion Note Assignments
  19. [19]
    Live Hi-Hats - Attack Magazine
    Apr 28, 2015 · This is why the General MIDI standard offers a closed, open and a mid or 'pedal' option. Because in real life the hi-hat can't be open and ...
  20. [20]
    Pitch bending single percussion – Creating with MIDI
    Sep 16, 2023 · I think on most MIDI devices a Pitch Bend message has no effect on the percussion channel. If you do decide to use Pitch Bend messages on the ...
  21. [21]
    Standard MIDI-File Format Spec. 1.1, updated
    The purpose of MIDI Files is to provide a way of interchanging time-stamped MIDI data between different programs on the same or different computers. One of the ...<|control11|><|separator|>
  22. [22]
    MIDI 1.0 Control Change Messages (Data Bytes)
    The following table lists all currently defined MIDI 1.0 Control Change messages and Channel Mode messages, in control number order.Missing: 1991 | Show results with:1991
  23. [23]
    General MIDI System Enable Disable message | RecordingBlogs
    Jul 22, 2014 · The General MIDI (GM) system enable / disable message tells a MIDI device to enable or disable the GM sound module or GM patch set.
  24. [24]
    General MIDI and GS - OoCities
    Brief Overview of Proposed General MIDI Level 1 Spec. The heart of General MIDI (GM) is the Instrument Patch Map, shown in Table 1. This is a list of 128 sounds ...
  25. [25]
    [PDF] SoundCanvas MIDI Depths - Roland
    Sep 28, 1995 · Using smaller controller and sys-ex messages will enable you to create more expressive performances and take greater advantage of Roland's GS ...
  26. [26]
    Roland GS | Sound Programming
    Roland GS stands for General Standard and is a proprietary extension to the MIDI standard. It adds 98 tonal instruments, 15 drum and percussion instruments, 8 ...
  27. [27]
    Roland GS/GM2 Drum Set List and Note Map - The Void
    Roland GS/GM2 Drum Set List and Note Map ; 49, Orchestra Kit, An immense collection of concert drums and timpani for orchestral styled music. ; 57, Sound FX Kit ...
  28. [28]
    Roland GS Messages - Balanced Output
    Non Registered Parameter Numbers (NRPN) allow control of a number of sound parameters within GS Format instruments by the use of MIDI Controllers(CC). The NRPN ...Missing: specification | Show results with:specification
  29. [29]
    Default Windows MIDI Soundfont | Musical Artifacts
    Mar 17, 2019 · The GM.DLS file contains the Roland SoundCanvas Sound Set which is protected under the following copyright: Roland GS Sound Set/Microsoft (P) ...Missing: adoption | Show results with:adoption
  30. [30]
    MU Series - Yamaha - UK and Ireland
    Against this backdrop, Yamaha began work on designing a new format that would far surpass the others, and this was released in 1994 as Yamaha XG (EXtended ...
  31. [31]
    [PDF] XG Specification v. 1.23A
    an extension of the existing GM standard — provides broader capabilities suited to the demands of an increasingly sophisticated and ...
  32. [32]
    [PDF] OWNER'S MANUAL - Yamaha
    XG is a new MIDI format created by Yamaha which significantly improves and expands upon the. General MIDI standard by providing a greater variety of high- ...
  33. [33]
    Demystifying Yamaha's XG Soundcards - Sound On Sound
    The standard General MIDI format provides only 128 voices, and allows only limited parameter editing. The XG extension is designed to increase both the number ...
  34. [34]
    [PDF] tone generator sound list & midi data - mu50 - Yamaha
    Feb 1, 2017 · REVERB TYPE. The following effect types are required under XG. 11typ. CHORUS TYPE. 11type. VARIATION TYPE(0~63). 42type. VARIATION TYPE(64~127).
  35. [35]
    GS/XG NRPN Table
    TVF Cutoff Frequency, mm:0EH-40H-72H (-50-0-+50), Filter Cutoff Frequency, mm:00H-40H-7FH (-64-0-+63). 01H, 21H, mmH, -, TVF Resonance, mm:0EH-40H-72H (-50-0-+ ...
  36. [36]
    Yamaha SW1000XG - Sound On Sound
    The SW1000XG soundcard is nothing if not versatile. For one thing, it provides an impressive 64‐voice XG synth, with up to 32 multitimbral parts.
  37. [37]
    [PDF] (d)eixx - World Radio History
    Mar 3, 2004 · In addition, General MIDI Level 2 Presets contain 256 programs and nine drum kits. The unit also features Korg's exclusive TouchView ...
  38. [38]
    Sound Canvas SC-55 - Roland - Gearspace
    Rating 3.5 (1) The Roland SC-55 (Sound Canvas) is a GS MIDI sound module released in 1991 by Roland. The SC-55 was the first sound module to incorporate the new General MIDI ...Missing: MMA | Show results with:MMA
  39. [39]
    [PDF] MU10E.pdf - Yamaha
    The MU10 is a sophisticated, yet highly compact MIDI tone generator, specially designed for use with computers and MIDI music systems. With the built-in host ...
  40. [40]
    FluidSynth | Software synthesizer based on the SoundFont 2 ...
    FluidSynth is a real-time software synthesizer based on the SoundFont 2 specifications and has reached widespread distribution.Getting FluidSynth · Released FluidSynth 2.4.6 · Released FluidSynth 2.4.5
  41. [41]
    DirectMusic For The Masses - Game Developer
    As a simple enhancement to General MIDI, you can use the General MIDI/GS DLS collection bundled with DirectMusic. This way, all of your users will hear the ...
  42. [42]
    Apple Notes
    Custom GM Files. In order to produce customised General MIDI compatible MIDI Files which are suitable for QuickTime Music Files, you need to do two things ...<|separator|>
  43. [43]
    Playing General MIDI Files on Ableton Live Part 1: Getting Started
    Aug 22, 2015 · Ableton Live doesn't natively support the General MIDI standard, but with the right tools and techniques you can use it to load and play GM ...
  44. [44]
    How to use General MIDI in REAPER - YouTube
    Dec 15, 2015 · In this video we look at using the Apple DLS Music Device and ReaControlMIDI. You'll learn how to load MIDI banks and select presets and ...Missing: software Windows macOS QuickTime Ableton GarageBand
  45. [45]
    How to Use general MIDI in GarageBand
    Dec 13, 2007 · GarageBand will recognize General MIDI program changes, so using standard midi files is even better than before. Find out how it works in ...
  46. [46]
    List of games that use General MIDI audio - PCGamingWiki
    May 30, 2023 · This is a list of games on PCGamingWiki marked as using General MIDI audio. Native support may require selecting certain settings in the game or launcher.
  47. [47]
    TiMidity++ Files - SourceForge
    libTiMidity is a MIDI to WAVE converter library that uses Gravis Ultrasound-compatible patch files to generate digital audio data from General MIDI files.
  48. [48]
    MIDI In Music Education
    Connect is a three-in-one audio/MIDI interface, monitor and DAW controller. Six mode buttons allow its 360°, touch-sensitive dial to adjust interface parameters ...
  49. [49]
    Web MIDI API - MDN Web Docs
    Mar 13, 2025 · The Web MIDI API connects to and interacts with Musical Instrument Digital Interface (MIDI) Devices. The interfaces deal with the practical aspects of sending ...Missing: General | Show results with:General
  50. [50]
    Portability and the Limits of MIDI
    MIDI synthesizers require little effort to control. The MIDI specification simplifies the performance-instrument interface down to that of a piano-roll plus ...
  51. [51]
  52. [52]
    What is the maximum number of polyphony? - Yamaha Corporation
    Jun 15, 2023 · A higher polyphony count enables you to enjoy playing more complex songs with both hands and extensive use of the damper pedal without interrupting the sound.
  53. [53]
    Exploring The Exotic Instruments In GM/XG/GS Sound Sets
    General MIDI, too, seems to have been grudgingly accepted, but cracks appeared quite rapidly in the accord: Roland have their own variant called GS, and Yamaha ...
  54. [54]
    General MIDI & MIDI Messages – (2025) MUSC 282
    General MIDI, or “GM,” is very specific set of standards that allows MIDI composers and arrangers to create music that always plays correctly on any device that ...
  55. [55]
    (PDF) A Web-based MIDI Platform for Accessible Music Education
    Jul 5, 2024 · This paper presents a web-based platform that leverages MIDI, multimedia, AI, and Web socket technologies to enrich music education.
  56. [56]
    6 New Profile Specifications Adopted - MIDI Association
    General MIDI describes a minimum number of voices, sound locations, drum note mapping, octave registration, pitch bend range, and controller usage, thereby ...
  57. [57]
    MIDI Association Intros Network MIDI 2.0 At 2025 NAMM Show
    Jan 26, 2025 · Network MIDI 2.0 connects MIDI devices via Ethernet (up to 100m) and wireless (up to 45m), with low latency, high bandwidth, and mixed ...
  58. [58]
    3 Best AI Music Generators for MIDI Creation
    In this article we'll cover three important AI MIDI tools – Google Magenta Studio, OpenAI's MuseNet, and Spotify's Basic Pitch MIDI converter.
  59. [59]
  60. [60]
    SoundFonts
    A general MIDI SoundFont “synthgms.sf2” is included with Finale. To use this SoundFont for playback in Finale, from the MIDI/Audio menu, choose MIDI Setup. Then ...
  61. [61]
    MIDI 2.0 – MIDI.org
    Found here are past revisions of MIDI 2.0 specifications. Some of these, such as MIDI-CI v1.1, may be useful for checking backward compatibility. Details ...