do

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

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

once  $ "dr"



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

 d1 $ drumFrom "linn9000" "bd*2"



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


-- EXPLORATION

once $ drumMachine ""
