English

General MIDI vs GM2: Why the Same Program Number Sounds Different

Program 0 piano versus program 48 strings on the same two-note phrase.

General MIDI (GM) defines a common program map so Program Change 0 is expected to be a piano-family sound and other numbers follow a shared list. GM2 extends that framework with additional sounds, controllers and performance features. Neither standard forces every modern plug-in to load the same samples.

Use this page when a MIDI file sounds like the wrong instrument family on one device and correct on another, or when a “GM” label on a file does not match what you hear.

What GM actually promises

GM aligns program numbers and drum note mappings so arrangements remain recognizable across compatible modules. It does not freeze sound quality, release length or effects. Two GM-compatible engines can both map program 48 to “strings” while producing different timbres and loudness.

The MIDI Association maintains the General MIDI specifications as the standards reference. Read the receiving device’s own GM/GM2 claim before assuming every Program Change will match a consumer sound module from the 1990s.

GM2 builds on GM with a larger sound set and additional capabilities. A file authored for GM2 features may play only partially on a GM-only receiver. Conversely, a GM file should remain usable on a GM2 device for the basic program map, though banks and extensions can still differ.

Hear program identity with controlled examples

Download gm-program-0-piano.mid and gm-program-48-strings.mid. Each file plays notes 60 and 64 for one beat each at 120 BPM after a single Program Change. No Bank Select is included.

FileProgram dataExpected GM family
gm-program-0-piano0Acoustic Grand Piano family
gm-program-48-strings48String Ensemble family

Import both into the same instrument track. If the receiver is GM-oriented, the two files should land in different instrument families. If both sound identical, the destination may ignore Program Change, pin a host preset, or sit on a non-GM bank. Continue with Program Change diagnosis and Bank Select rather than rewriting every note.

Parser checks confirm the program bytes and note timings. They do not certify that a particular soft synth is GM-licensed.

Practical checks before rewriting the arrangement

  1. Identify whether the player advertises GM, GM2, GS, XG or a proprietary map. Those systems are not interchangeable dictionaries.
  2. Inspect the file’s initial Program Change and bank messages on each channel, including the drum channel convention your device expects.
  3. Test the two example files above on the same output. Family-level differences show map alignment; identical silence points to routing.
  4. When collaborating, send an audio reference. Program numbers survive; the exact sample library usually does not.
  5. For simple remapping inside one sequencer, see change MIDI instrument.

Relation to conversion tools

Audio-to-MIDI transcription estimates pitches and timings. It does not recover which GM program the original producer intended from the timbre alone. After converting audio to MIDI, assign instruments deliberately for the sound set you will use on playback.