0% Interest for 24 Months! Learn more »
(800) 222-4700
  • Español: (800) 222-4701
June 2017 Giveaway

“Mysterious” Program Changes in Standard MIDI Files

Q: “I downloaded a MIDI file to play at a church service. But when I set my sequencer up with appropriate programs for each track, when the sequence starts all the programs change. Why?”

A: This might seem frustrating but it’s a common issue with MIDI files. First we need to define a couple of terms:

A STANDARD MIDI FILE (SMF) usually contains only the note and controller information for a song. Ordinarily it would allow you to select any sound you want for each track. SMFs were originally named with the extension .SMF and actually aren’t so common anymore.

What you probably have is a GENERAL MIDI (GM) FILE. It contains information that makes an important difference in the playback of a song. Usually a GM file begins with a GM Reset message that clears the MIDI device settings for playback. Then each track (or each MIDI channel) almost always contains a GM Program Change message, numbered from 0-127, to tell the device what GM instrument to play. You can find a list of the 128 GM instruments at www.midi.org/about-midi/gm/gm1sound.shtml. This message, inserted in each track, overrides the patch setting of almost all MIDI sequencing programs.

To deal with this you can use a couple of approaches. If your MIDI device has a GM bank, tell your sequencer that this is the bank you want to use. You should find a GM patch list in the AudioMIDI Setup window of a Mac OS X computer. Most Windows sequencers include instrument definition lists that define the GM instrument set.

If you prefer to define your own sounds for each track, you can delete the GM Program Change messages. It’s easiest to do this in your sequencer’s Event List. Open it and locate the messages at the beginning of each track. Select each message and delete it.

Share this Article