Custom drum beats

Hi,

Using this chart as reference, I created this simple drum beats:

uk_garage = ["k","r","c","c",
             "l","t","c","r",
             "","","ck","t",
             "l","r","c","c",
             "k","","c","",
             "l","t","c","r",
             "","","ck","t",
             "l","r","c",""]

dubstep = ["k","c","c","",
           "o","","c","",
           "s","","k","c",
           "","o","c","",
           "k","c","c","k",
           "o","","ck","",
           "s","","k","c",
           "","o","c",""]

footwork = ["rk","r","rc","rk",
            "r","r","rk","r",
            "rk","r","rc","rk",
            "rl","r","rk","r",
            "rl","r","rc","rk",
            "r","r","rkc","rc",
            "rk","r","rc","rk",
            "rl","r","rkc","r"]

trap = ["ck","","c","",
        "c","","ck","",
        "cs","","c","",
        "ck","","c","",
        "c","","ck","",
        "ck","","c","",
        "cs","","c","",
        "c","","c",""]

drum_n_bass = ["koc","","c","",
               "cs","","ck","",
               "c","","cs","",
               "cs","","c","",
               "kc","","c","",
               "cs","","c","",
               "c","","ck","",
               "cs","","c",""]

jungle = ["ock","","ck","",
          "cs","","c","s",
          "c","s","ck","",
          "c","","cs","",
          "c","sk","ck","",
          "cs","","c","s",
          "c","s","ck","",
          "c","","cs",""]

deep_house = ["k","c","o","",
              "lk","","o","c",
              "k","c","o","",
              "lk","","o",""]

hip_hop = ["ck","","ck","",
           "cs","","c","",
           "c","","ck","k",
           "cs","","c","k"]

patterns = [uk_garage,dubstep,footwork,trap,drum_n_bass,jungle,deep_house,hip_hop]

live_loop :drum do
  currPattern = patterns[0].tick #change the id of patterns
  sample :drum_heavy_kick if currPattern.include?("k")
  sample :drum_snare_hard if currPattern.include?("s")
  sample :drum_cymbal_closed if currPattern.include?("c")
  sample ::drum_cymbal_open if currPattern.include?("o")
  sample :drum_tom_lo_hard if currPattern.include?("t")
  #sample * if currPattern.include?("l")
  #sample * if currPattern.include?("r")  
  sleep 0.25
end

Do you have any feedback to improve it?
Do you know which samples should I use to emulate the clap and the rim?

Thanks!

Hi there

your footwork pattern works really well.
Perhaps you might want to vary the bpm so that it matches the tempo for these different styles. Look up use_bpm.
There’s a little error in your code where you’ve used two colons:
sample ::drum_cymbal_open if currPattern.include?("o")

Look at the :elec samples as these might have something for you. Of course you can also import samples rather than use SPi’s built in library. Using the right samples helps to reinforce the style’s characteristics.

The single drum voice at a time approach is known as Linear Drumming. I’ve got a few videos on this using the Monosequencer in Ableton. Here are the links, hope these are helpful:
Vid 1
Vid 2
Vid 3

Thanks for sharing.