Shavano Music Online

    Programmable Drum Machine/Sequences; General Information

    5/99 - Jens Moller - http://www.colomar.com/Shavano/drum_programming.html
    Percussion is a very complex subject. When done well, it adds dimension to music. When done poorly, or timing is problematic the result is noise, and not music.

    If you are not a drummer, you may not appreciate the effort and skill required to do a good job. If you are new to programming a pattern based drum machine (or drum sequences in general) and not a drummer, odds are pretty good that you will lean towards turning the music into noise rather than enhancing it. Starting with simpler common basic drum patterns, you may have a chance of at least getting your music moving in the right direction.


    This article deals with pattern based sequencers. It can be adapted to any type of hardware or software sequencer that allows you to define a fixed length sequence of MIDI events. My experience in this area has almost entirely been with Roland pattern based Drum Machines (Including the TR-505, TR-606 and TR-707 models of the mid 1980's). I have also worked with CakeWalk and Voyetra under Windows (PC Based Sequencers). Some Drum machines work differently than the Roland models (The Alesis SR 16 works very differently, but can still use these sequences), as do Software Sequencer programs that can be used to loop a few measures. Your Hardware/Software should not prevent you from trying these patterns.

    Understanding MIDI

    MIDI messages are binary data and are composed of a number of elements. Control information and data. When you play a MIDI note, it actually creates a serial binary data byte (or more than one byte, depending on what the message is) that has the MIDI channel (one of 16) and the information about what to do on that channel. Part of the message is a NOTE ON indicator along with which note to play (0 thru 127). Each note also have a volume level (velocity) associated with it. Any note that is played needs an accompanying NOTE OFF message, otherwise the device will not know that when its done playing a note. Not all MIDI Devices know what this data means, and if they don't they just ignore the parts that they don't understand.

    Each MIDI channel is associated with some device if it is to play back anything at all. More than 1 MIDI device can be associated with the same MIDI channel, and as long as they are playing complementary sounds, this would be considered Layering a sound. If more than one MIDI device plays back something different on the same MIDI channels, and its not planned, you need to have each device respond to its own MIDI channel. There are 16 MIDI channels to pick from.

    Originally, there were few standards as to what sounds were set up for defaults as patch numbers. You still have to be careful when integrating new MIDI gear into an established MIDI network to make sure that you have the procedures in place to make it all work together and produce the sounds that you require. Over time, a standard did evolve called General MIDI (GM), however unless a device says that it supports GM, it doesn't have to. This is particularly important when it comes to Drum Machines in that you want Bass Drums responding to MIDI Bass Drum messages and Snare Drums responding to Snare Drum Messages. By default, the GM standard uses MIDI channel 10 as the Drum Set. Your Drum machine may use a different MIDI channel. You may have to reconfigure your MIDI Drum Machine to use a Different MIDI Channel to send and receive on. I strongly suggest that you use the GM standards for MIDI Drums. Velocity equates to how hard you hit a given percussive instrument, the more response in this area, the better your drummer simulation capabilities. A Drum machine or MIDI Sound generator that plays all the Drum notes back at the same velocity will not sound much like a real drummer to anyone.

    The MIDI GM Standard also defines default notes that correspond to specific Drum events. Playing a specific note on a keyboard will equate to playing a specific percussion instrument. For example, when your keyboard (or Sequencer) plays a series of notes on MIDI channel 10, each note will play a different percussion instrument (If your MIDI Gear or Soundcard supports that note). Unlike other MIDI channels that are going to be associated with as single instrument (for example having MIDI channel 6 be a grand piano), the GM standard uses one MIDI channel to play back up to 127 percussion instruments. Not all MIDI Drum machines or SoundCards actually support all the possible sounds that have been defined.

    Some MIDI Drum machines support a full range of MIDI Velocities (volume level at which an individual note is played), others simply understand a limited range of velocities and handle them as they see fit. This will affect how to interpret a velocity level for your specific MIDI Drum Machine or any other device that you use to play back a Drum Sequence with.

    Some Definitions and Terms

    To keep this more universal, we will only define actions for a few unique Drum Sounds (you may have access to many more as well as variations of individual sounds). This simplified set will be composed of:

      Drums

    • BD = Bass Drum.
    • SD = Snare Drum.
    • RS = Snare Rim-Shot.
    • HT = High Tom-Tom.
    • MT = Mid Tom-Tom.
    • LT = Low Tom-Tom.

      Cymbals

    • OH = Open High-Hat.
    • CH = Closed High-Hat.
    • CC = Crash Cymbal.
    • RC = Ride Cymbal.

      Other

    • HC = Hand Clap.
    • WB = Wood Block (Claves).

    It certainly doesn't seem like much, but if you look at the average drum set that people are using, most don't have much more instrumentation that this. A human drummer will not hit each of these percussion instruments exactly the same way each time they play them - A drum sample is always played back the same way - this is why there are many variations of Drum sounds available - to attempt to better simulate a live drummer. We will focus on the minimal set of percussion instruments to allow us to get results faster, however, keep in mind that you should explore the variations available to you when you get a chance. Use those sounds that enhance your music the best.

    When a MIDI device plays a note, it also provides a velocity. In the case of percussion instruments this equates to how aggressively the instrument is played. For some percussion instruments the more variation in velocity the better, in others you will want to stay with a specific range. Examples of this are:

      Very Specific (limited) Velocity Variation

    • BD = Bass Drum.
    • SD = Snare Drum.
    • RS = Snare Rim-Shot.

      Wide Variety of Velocity Variation

    • OH = Open High-Hat.
    • CH = Closed High-Hat.
    • CC = Crash Cymbal.
    • RC = Ride Cymbal.
    • HC = Hand Clap.

    You will always want the Bass Drum and Snare drum to cut thru and you should try to keep these fairly consistent within 2 ranges - Normal and Accent. Cymbals and Hand Claps sound very mechanical unless there is a large range of variation in the velocities.

    Keep in mind that a real person playing drums does more than simply bang on percussion instruments. They provide timing nuances and velocity variations when they play, as well as strike the percussive instruments in different places to get different tonalities. Some of this can be emulated, all dependent on the capabilities of your Drum Machine or Drum Sound MIDI module. If you can't vary some of the parameters, the drum performance will sound more mechanical than you might desire, however, this should not prevent you from using a Drum Machine or Drum Sequence for recordings or live performances, you'll simply have to make up for the reduced dynamics with other live insrumentation or vocals. My philosophy has always been to use the gear you have to its best advantage. No simulation is ever perfect, but the more experience that you get in this area, the better you should be able to do. If you currently (or used to) play drums, once you get past the implementation differences, you'll be able to work out some fairly advanced patterns. I'll present some patterns to work from. Over time I'll present some advanced patterns, but initially, I'll stick with the basics and some very usable Drum Patterns.

    Normal and Accent

    Some drum machines restrict you to a very limited set of velocities. This is reasonable for some types of percussion instrumentation, but highly restrictive for others. If your Drum Machine restricts you to only a few levels, You will often have only Normal and Accent.

    Normal is an 'Average' velocity and Accent is a 'Higher Velocity than Average'. Depending on your Drum Machine, these values can be reasonable, or not that well thought out. On my Roland TR-505 (and TR-707), the Normal velocity is the MIDI value 64 and the Accent velocity is the MIDI value 96. MIDI allows a velocity range of 0 thru 127, with 0 being no velocity and 127 being the highest velocity. At the time that these units were created, these must have seemed like good choices, but in reality they are on the week side. In my experience, for Bass Drums, Snare Drums and all Tom-Toms, a better choice for Normal velocity would be the MIDI value 90 and Accent velocity at the MIDI value 110.

    The Cymbal percussion instruments suffer the worst from a limited range of Velocities. They should be able to range anywhere from a MIDI velocity of 80 thru 127 as needed. Sequences where a ride cymbal or Hi-Hat gets hit on most beats in a measure should at least have a random variation of plus or minus a MIDI velocity of 8 in order to sound more Humanized. Unfortunately, if your Drum Machine only supports a very limited velocity range, you'll simply have to live with it.

    The Drum Patterns presented will include references for Normal and Accent settings, as well as reccomendations for Drum Machines or Sequencers that have other velocity options available. Adapt them as your hardware allows.

    Common Drum Machine Programming Problems

    People often put too much percussion into their Drum Sequences. If you are trying to emulate a human playing a set of drums, keep in mind that they only have 2 arms and 2 legs. Usually one foot is always on the Bass Drum Pedal and the other foot is on the pedal for the Hi-Hat. The hands can only hold 1 drum stick at a time so it would be impossible for a 2 handed drummer to hit the Snare Drum, Ride Cymbal, Mid-Tom Tom and Closed Hi-Hat all at the same time. It also sounds out of place to have too much overlapping percussion occurring at one time.

    A good drummer knows that the the intervals where something is struck is associated with the the tempo and the musics time signature. You don't strike a percussion instrument unless its musically appropriate for the time signature. In other words, try to keep the drum patterns to the point, and don't constantly throw a lot of activity into them that make them overly busy - it will detract from the rest of the music. Spend some time listening to drummers in the music you like - you'll detect that they utilize quite a few common drum patterns. They will also have a style that has evolved from the common drum patterns into something that has a unique feel to it. You can learn to accomplish similar things with sequences and patterns, as long as you study the live drummers technique and try to relate that back to your available Drum playback hardware.

    Tempo is often wrong for a crowd. A live drummer can gauge audience reaction to the music. Even if you normally play a song at 120 Beats Per Minute (BPM), its possible that for some crowds it really should be at 110 BPM and others it should be 130 BPM. Live drummers often compensate for this while performing. Some speed up because they habitually tend to speed up over most every song. You can simulate this if you need or want to.


    Questions? Comments? .

    Return to Shavano Music Online Home page

    © 1999, Shavano Music Online