I hear the following statement from time to time: “Live drummers sound better than drum machines.” And I have to agree, a live drummer certainly has a feeling that isn’t easily replicated. However, I also realize that machines will eventually outperform humans in every endeavour.
So why do live drummers currently sound better than drum machines? Is it because they’re slightly off-time? If this were true, I think a lot more people would sound like world-class drummers. Professional drummers spend countless hours training muscle memory for millisecond accuracy. Of course, nothing is perfect and professional drummers are, on occasion, slightly off. So, it wouldn’t hurt if drum machines were slightly off as well. For example, one could using the following algorithm:
- First, determine if a note should be slightly off-time by generating a random number between 0 and 1. If the variable is greater than a user-defined value (ie. 0.95) the note’s timing will be slightly off.
- If the note’s timing is going to be slightly off, will it be pushed forward or back? Have another user-defined setting with three possible values:
- How far will the note be pushed? Once again, a user-defined setting. This one defines an upper limit or the maximum distance that a note can be pushed off time without sounding bad. The sequencer will then choose a random distance between the upper bound and it’s original placement (where the user entered the note value in the first place).
I don’t think being off-time is highly desirable and has only a minor impact on imparting feel. I believe the real difference between live drummers and drum machines are frequency dynamics. For example, a number of things happen every time a live drummer taps a ride cymbal or hits a drum:
- Change in velocity.
- Most beginners enter all note values at 127. Only later do they discover the impact of accents and fluctuating velocities. However, adjusting velocities can be tedious work and few users take the time to really sculpt velocity nuances.
- A drum machine could have a list of velocity templates or curves (one per pitch) that users could apply to the entire sequence. At the very least it’s a starting point for further refinement. Perhaps it’s even possible to:
- offset a template or curve by entering a phase value, which results in a change of note accents
- layer templates or curves and perform simple operations on them like intersection, addition, or subtraction.
- Changes in volume are not enough. Each drum sound must be multisampled, so that a change in velocity results in a subtle change of the sound.
- Change in physical location.
- Hitting a drum in a different location results in a different sound. Physical modeling or multisampling can be used to accomplish this to various degrees.
- Change in frequency.
- A previous hit affects the current hit. For example, tapping a ride cymbal that is already vibrating is going to give you a slightly different sound.
- Drum kit components are in constant fluctuation – causing constructive and destructive interference patterns – which provide you with a rich dynamic texture. On the other hand, most drum machines use static samples – there’s no change in sound from one hit to the next.
Again, I think frequency dynamics and subtle variations in performance are what really differentiate live drummers from drum machines. If drum machines want to compete, they need to become less rigid.