PCRECORDING.COM - MIDI Drum Issues
This article is authored by and submitted courtesy of Kelly Craven.
Question: What is so special about MIDI drums? Most of the time they are just 'there', but occasionally on some other machines there is nothing or I get piano instead. Is there a special drum patch I need to use?
Answer: There is nothing special about drums, except for a few minor things that make a big difference.
Returning to the General MIDI Standardit gives you one drum set. That drum set is in bank 0, patch 0. This just happens to be the same bank and patch number that the Acoustic Grand Piano is on. So, why drums and not piano? Very simple: drums are always on MIDI channel 10. Any other channel and you get piano. That's it! You don't have to send any special patches to get the drums to kick injust change the MIDI channel of your track to 10.
However, because some soundcards do not adhere to the GM specification you should send a patch change to insure you get the GM drum set. Furthermore, most newer cards have more than one drum set. In that case, you select them the same way you select different instruments on the other channels, with bank selects and patch changes, but because you are on channel 10 you get drums. You need to check the documentation that came with your soundcard to figure out which patch changes call up the other drum sets. Unlike melodic instruments, it is very doubtful that there are 128 different drum sets to choose from. You are most likely limited to 10 sets or less, and the patch changes used to select them may appear to be pulled out of a hat.
Keep in mind, if you select a drum set that doesn't exist by accident you might hear the default set (standard drums, possibly labeled as piano in your software), or you might get silence. Furthermore, if your soundcard has its own "fallback" you will hear a drum set but it may not be the drum set you expect. In case you have played a bad patch you may only learn about if someone else tells you that your MIDI file has no drums, or you just happen notice the sounds aren't what they're supposed to be. With the exception of a few patches, most drum sets sound very similar so this is easier to miss than mistaking a trumpet for a guitar. So, be careful when making your selections.
The GS Standard is Roland's extension of the GM Standard, though it has more instruments, features and drum sets. For this drum discussion GS and GM both modes use drum sets on MIDI channel 10 and are considered to be the same.
There is one notable exception to the "Drums are on MIDI channel 10" rule: Yamaha XG. Just as GS is Roland's extension of the GM soundset, XG is Yamaha's extended soundset. The difference between XG and GM/GS is major when it comes to drums. When your soundcard is in XG mode, drums are always on Bank 127 (MSB F7h, LSB 00h see Patch Changes). It doesn't matter which MIDI channel you are on. XG suggests that you should always have drums on MIDI channel 10, but it is not required. This has the advantage of allowing multiple drum sets on different MIDI channels at the same time.
If you occasionally get Acoustic Grand Piano (GM bank 0, patch 0) on MIDI channel 10, when you expect drums, your soundcard may be in XG mode. The problem is probably because your soundcard is not in GM Mode. The MIDI file you are playing has not reset the soundcard to the mode it should be in. A previously played MIDI file may have set it to XG mode and left it that way. You can't blame XG mode or the XG MIDI file for thisMIDI files aren't required to return soundcards to any particular state or mode. It's totally up to the currently playing MIDI file to do any initialization that needs to be done to insure it will play as expected.
By the way, some soundcards and external synthesizers default to XG mode when turned on. If this is the case, you most likely are familiar with this situation and have figured out a remedy, but you are still at the mercy of MIDI files that don't do MIDI resets when they need to.
For these reasons, XG usage should be limited to MIDI files that aren't going to be shared with GM/GS Mode files. They should be shared only with folks that have XG capable soundcards. (XG files are usually listed as being XG only.) This is not to say XG is badfar from it. But, as good as XG sounds and functionality can be, it just isn't generic enough to shared without regard to the system it will be played on.
1. Don't expect MIDI files to include GM, GS, or XG resets. If you keep you files separated by MIDI mode you shouldn't have a problem. It's only when you start mixing modes that this becomes a problem, or when playing files that you know nothing about. Just be aware that this (being in the wrong MIDI mode) may cause problems with unknown content and you will be fine. Don't feel compelled to always include a reset in every file, but it's not a bad idea if you share files. It becomes a must if you release MIDI files to the general public.
2. Don't assume that because you hear drums when playing a MIDI file that you know has no patch change on MIDI channel 10 that everyone else will hear drums when playing that MIDI file. Always play a patch change to be sure you are setup properly, in spite of the fact that a patch change isn't required on MIDI channel 10 for GM compliant MIDI files.
3. Double check your patch numbers when not using patch 0. You may hear drums but they may be the default set not the ones you selected. Someone else's soundcard might not have the same default and might be silent for the drum part.
4. Avoid XG unless you specifically need its functionality or are certain it will play properly on most soundcards. Again, this is not a slap at Yamaha. XG is very good, but it's not compatible except with other XG systems.
Question: Why are some parts of my drum tracks missing when playing on other machines? I'm using GM Standard drums, but sometimes a shaker or other sounds are missing from the drum part.
Answer: Some GM Standards are more standard than others. (Sorry, I couldn't pass that up).
Each drum set is made up of individual percussion instrumentsusually one instrument per MIDI note on the keyboard within a specific range of notes. The GM Standard has a strict list of percussion instruments that make up the GM Standard Drum set. Each note within the range represents a specific drum or percussion instrument.
The official GM list starts with Acoustic Bass Drum (MIDI note #35, B2) and ends with Open Triangle (MIDI note #81, A6). Every key on the keyboard between and including these notes makes up the whole drum set. Every key will play the same sound on all GM soundcards as well. B2 will always be a Kick Drum, for example. Any notes outside this minimal range are an extension of GM and this makes the drum set not strictly GM compliant.
If you have a GM soundcard you know the minimum range of drum instruments (B2 - A6) will always be available. The problem is that some soundcards extend the GM Standard Drum set to include extra percussion instruments outside the range, even though they claim to be GM. Without getting too nitpicky, they are more than compliant, so technically they are compliant.
To look at this in a slightly different way, most manufacturers state they are GM compliant and claim loads of extra sounds and melodic instruments, but don't bother mention they are more than compliant when it comes to drums. They will mention that they have more drum sets, but fail to mention that the main GM Standard Drum set range has also been extended. If you make use of drum sounds on your more-than-compliant soundcard and play it on a truly compliant soundcard that doesn't extend the range you may be missing sounds, such as shaker or castanets, and not know why, unless you are aware the range is extendedmore than GM.
GS Standard Drums extends from Hi-Q (MIDI note 27, Eb2) to Open Surdo (MIDI note 87, Eb7). This is a pretty wide extension with some very useful sounds over GM. As long as a MIDI file that use they extra sounds are played on a GS soundcard, not just GM, the MIDI file will sound fine. As soon as it is played on a GM only soundcard all bets are off. XG Drums are extended as well, but if the MIDI file is XG it should be played on an XG soundcard, and the extra sounds will be available.
Any notes played outside the range of your drum set, whatever the range is, will most likely be ignored, but this presents another problem, ghost notes. The notes you can't hear on your machine might play on someone else's machine. And, these notes could be way out of the range of any drums patches. This can be worse than missing notes because extra notes might sound like, well, anything; a ping here, a thump thereor nothing if your are lucky.
Some sequencers force out of range notes to play within the range of available sounds at playback time. This is problematic because depending on how your sequencer displays drums, you might or might not be able to see the "ghost notes" in your drum tracks. Soundcards shouldn't remap notes on drum channels the same as they remap melodic instruments, but some may anyway.
It's not unusual to have a GM card that is also GS by default. So, be aware that while you may think you are in GM mode you may also be in GS mode, giving you the extra sounds without your knowledge. (This is a restatement of being more than compliant). Strictly speaking, the two modes are different, but practically speaking they are similar enough that it almost doesn't matter until you consider the extra sounds. Some better cards are very strict though. When in GM mode you get only GM sounds. You must actually be in GS mode to have access to the extra GS sounds, just as you must be in XG mode to make use of what XG has to offer. Your docs should tell you how to access the different modes (reset events, mode selects), and what extras you get when in the various modes.
1. Don't use any notes outside the range of B2 to A6 if you want to be safe and insure that you won't ever have any lost notes because they aren't available.
2. Only use the instruments (notes) in the extended ranges if you knowfor surethat you won't miss them if they are gone (this is perfectly fine) or know your MIDI files will never be played on a soundcard that is truly GM onlyor don't care.
3. Make sure you don't have any stray notes in your drum tracks. This is very easy to overlook because you usually can't hear them, plus your sequencer might limit the visible range of notes in the drum track to the available percussion instruments, so you might not be able to see them either. Sometimes the sequencer will automatically strip out these notes when loading or saving the file, or have an option to do this, but not likely. Editing tip: If you do have hidden notes you may have to copy you drum tracks into a melodic track just to see the full note range. Then you will be able to see the full range of notes. Copy the fixed track back to the drum track when done. Sometimes all you will need to do to accomplish the same thing is temporarily change the MIDI channel of your drum track to any MIDI channel other than 10 to force that track to show up as a piano roll temporarily. Do your edits and switch it back to MIDI channel 10.
4. Always stick to GM mode only if you are worried about compatibility with other systems. You can't go wrong. (Have we hammered this one into the ground enough?)