let bpm b = cps (b/60) let withmod a b c d = (whenmod a b . within (c, d)) let every' n o f = when ((== (o-1)) . (`mod` n)) f -- original bpm = 105 bpm 105 d1 $ n "{1/4, 0}" # s "drum" d1 $ n "{1/4, [0 ~ 0*2 [~ ~ ~ 0]]/4}" # s "drum" d2 $ n "[[~ 0] [[2!! ~]/4 0]]/2" # s "kit" d2 $ withmod 11 5 0.5 1 (density 2) $ n "[[~ 0] [[2!! ~]/4 0]]/2" # s "kit" d2 $ whenmod 3 2 (density 2) $ withmod 11 5 0.5 1 (density 2) $ n "[[~ 0] [[2!! ~]/4 0]]/2" # s "kit" d2 $ whenmod 3 2 (density 2) $ withmod 11 5 0.5 1 (density 2) $ n "[[~ 0] [[2!! ~]/4 0]]/2" # s "kit" d2 $ every' 32 32 (const $ s "kit:3") $ whenmod 3 2 (density 2) $ withmod 11 5 0.5 1 (density 2) $ n "[[~ 0] [[2!! ~]/4 0]]/2" # s "kit" d3 $ s "icarus/16" d3 $ slow 8 $ smash 64 [0.5,0.75] $ s "icarus" d3 $ off 0.5 (slow 1.5) $ slow 8 $ smash 64 [0.5,0.75] $ s "icarus" d4 $ slow 16 $ n "[0 1]/2" # s "nimble" d4 $ superimpose (iter 4) $ whenmod 4 3 rev $ slow 16 $ striate 128 $ n "[0 1]/2" # s "nimble" d4 $ superimpose (iter 4) $ whenmod 4 3 rev $ slow 16 $ striate 128 $ n "[0 1]/2" # s "nimble" # speed ((+0.4).(/1.5) <$> slow 16 saw1) {- d4 $ (# speed "[-1 1]/3") $ superimpose (iter 4) $ whenmod 4 3 rev $ slow 16 $ striate 128 $ n "[0 1]/2" # s "nimble" -} :t preplace hush