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 let modtempo s e = (# nudge (scale 0 s $ fmap (**e) saw1)) let mt s d i = slow s . modtempo 0.3 3 $ density d $ i -- original bpm = 105 bpm 105 -- drum d1 $ slow 8 $ n "[1*2, 0*8]" # s "drum" d1 $ slow 8 $ n "[1*2, 0 0 0 [0 ~! 0] ! 0 [0 0/4] 0]" # s "drum" d1 $ mt 16 2 $ n "[1*2, 0 0 0 [0 ~! 0] ! 0 [0 0/4] 0]" # s "drum" d1 $ (whenmod 5 3 . every' 7 5) (0.5 ~>) $ slow 8 $ n "[1*2, 0 0 0 [0 ~! 0] ! 0 [0 0/4] 0]" # s "drum" d1 $ (whenmod 5 3 . every' 7 5) (0.5 ~>) $ mt 16 2 $ n "[1*2, 0 0 0 [0 ~! 0] ! 0 [0 0/4] 0]" # 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' 16 8 (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" -- icarus d3 $ slow 16 . striate 256 $ s "icarus" d3 $ (# nudge (scale 0 0.5 $ slow 7 sine1)) $ slow 16 $ striate 256 $ s "icarus" d3 $ off 0.5 (slow 1.5) $ (# nudge (scale 0 0.5 $ slow 7 sine1)) $ slow 16 $ striate 256 $ s "icarus" d3 $ off 0.5 (slow 1.5) $ slow 8 $ smash 64 [0.5,0.75] $ s "icarus" -- nimble d4 $ slow 16 $ striate 16 $ n "[0 1]/2" # s "nimble" d4 $ whenmod 4 3 rev $ slow 16 $ striate 128 $ n "[0 1]/2" # s "nimble" d4 $ superimpose (iter 5) $ whenmod 4 3 rev $ slow 16 $ striate 128 $ n "[0 1]/2" # s "nimble" d4 $ superimpose (iter 5 . (# speed ((+0.8).(/1.5) <$> slow 2.5 sine1))) $ whenmod 4 3 rev $ slow 16 $ striate 128 $ n "[0 1]/2" # s "nimble" d4 $ superimpose (iter 5 . (# speed ((+0.8).(/1.5) <$> slow 2.5 sine1)) . (# nudge "0")) $ whenmod 4 3 rev $ mt 16 1 $ striate 128 $ n "[0 1]/2" # s "nimble" d3 silence d4 $ whenmod 4 3 rev $ mt 16 1 $ striate 128 $ n "[0 1]/2" # s "nimble" hush