Home

Awesome

tidal-drum-machines

A huge collection of Drum Machines for SuperDirt and Tidal

List of drum machines

See the full list of drum machines here.


Installation

// install this repository
Quarks.install("https://github.com/geikha/tidal-drum-machines.git");

// add this to your superdirt startup
~drumMachinesDir = Quarks.all.detect({ |x| x.name == "tidal-drum-machines" }).localPath;
~dirt.loadSoundFiles(~drumMachinesDir +/+ "machines" +/+ "*" +/+ "*", namingFunction: { |x| x.basename.replace("-","")})
// Windows Users: (~drumMachinesDir +/+ "machines" +/+ "*").pathMatch.do({ |x| ~dirt.loadSoundFiles(x +/+ "*") })

// test in sclang
(type:\dirt, s: \rolandtr909cr, n: 0).play;

Thanks Julian for the installation script!


How to use

Run the custom SuperCollider bootup found in tdm-sc-boot.scd, or add the necessary parts to your own bootup. Then run the haskell/tidal code found in tdm-hs-setup.tidal, or just copy and paste it from here:

let drumMachine name ps = stack 
                    (map (\ x -> 
                        (# s (name ++| (extractS "s" (x)))) $ x
                        ) ps)
    drumFrom name drum = s (name ++| drum)
    drumM = drumMachine
    drumF = drumFrom

Examples

Here are some examples of how to use the drum machines:

drumMachines

d1 $ drumMachine "bossdr220" [
    s "[~perc]*2" # note 7
    ,s "bd:4(3,8)"
    ,s "~[cp,sd]"
    ,s "hh*8"
]

The drum machine can be pattern'd:

d1 $ drumMachine "<bossdr220 rolandtr808>" [
    s "[~perc]*2" # note 7
    ,s "bd:4(3,8)"
    ,s "~[cp,sd]"
    ,s "hh*8"
]

drumFrom

You can also just call one percussive element:

d1 $ drumFrom "linn9000" "bd*2"

This method could be useful for live performance:

do
 let dm = "linn9000"
 d1 $ drumFrom dm "bd*2"

Drum names abbreviations:

DrumAbbreviation
Bass drum, Kick drumbd
Snare drumsd
Rimshotrim
Clapcp
Closed hi-hathh
Open hi-hatoh
Crashcr
Riderd
Shakers (and maracas, cabasas, etc)sh
High tomht
Medium tommt
Low tomlt
Cowbellcb
Tambourinetb
Other percussionsperc
Miscellaneous samplesmisc
Effectsfx