So today I'd like to run through the features of my favourite drum machine. Okay, so it's not actually a machine, but rather a piece of software that slaughters any drum machine I've ever seen.
Hydrogen is a well developed soft drum kit for Linux (I'm running version 0.9.3). It features a fully configurable pattern editor, a song editor, a mixer, an instrument editor, and a drumkit manager. The pattern editor and song editor are both fairly straightforward and fully configurable. Beginners should take note of the song editor's select mode, which can be toggled in the buttons above the pattern names; this allows for much quicker editing. The pattern editor allows you to either enter a pattern manually or record a pattern with either a MIDI device or Hydrogen's built in keyboard bindings:
The mixer has a couple nice features; the humanize controls for both velocity and timing, as well as the four LADSPA effect inserts that have sends from each instrument channel. The instrument editor is where I think Hydrogen shines. It allows up to 16 simultaneous layers of samples to be used per drum, contains an ADSR envelope control, a lowpass filter with adjustable resonance, a random pitch percentage, and a manual pitch control - FOR EACH INSTRUMENT. Finally, once you're done tweaking all these settings to perfection, you can save your instrument settings as a drumkit. The drumkit manager allows easy switching between saved or downloaded drumkits (see Hydrogen's website for free downloadable drumkits).
One of the few options I wish was available would be relative tempo changes, as currently the only solution is to manually program the slower/faster tempo sections of any song to fit onto a pattern that internally is still running at the global tempo setting. This is a bit of a hack that I would rather not have to bother with.
All this is nice, but more than just software is needed to make good rhythms, you need to know a bit about anticipation.
Musically, any event that's repeated three (or more) times will be expected by the listener to continue being repeated. This even applies to non-audible pulses. One of the key features to any good beat is how it plays with this anticipation factor. Some beats emphasize the anticipation and build up toward the expected repetition, others use the anticipation to throw the listener off (usually considered a break-beat if it's repeated as part of the rhythm).
I should note that three is not a common pattern size in most music, the average song uses four (duh). This is called duple meter (things can be broken easily into two), and usually the overall structure of the bar phrases, song sections, and micro-rhythms will relate to the duple. I've heard it explained that three is the minimum number of repetitions to set up a pattern, five starts to get too long, so four is just right.
When writing your rhythms, consider where your listener's micro, macro, and normal anticipations are being drawn. If you've been focusing on downbeats and suddenly switch to an upbeat focused pattern, you'll be messing with their heads a bit (it's kinda fun to mess with people's heads sometimes, but they'll get pissed off if it happens too much or unpredictably). Overall, try to find a balance between predictable and unexpected so that everything remains interesting.