{- defs -} let bpm b = cps (b/60) withmod a b c d = (whenmod a b . within (c, d)) every' n o f = when ((== (o-1)) . (`mod` n)) f msil = mapM_ ($ silence) tmod s e = (# nudge (scale 0 s $ fmap (**e) saw1)) let swing a = within (0.1, 0.4) (a ~>) . within (0.6, 0.9) (a ~>) swing' = swing 0.14 --0.05 let d'drum = d1 d'bass = d3 d'wax = d4 d'nim = d5 d'hi = d6 let nim'osc = (# speed ((+0.8).(/1.5) <$> slow 2.5 sine1)) nim'del = (# delay "0.5") . (# delayfeedback "0.6") . (# delaytime "0.25") -- original bpm = 105 let tmod' s e = tmod (s*(1/(105/60))) e mt s d i = slow s $ tmod' 0.5 3 $ density d $ i bpm 105 {---------- drum + perc ----------} hush d'drum silence d'drum $ --mt 16 16 $ --within (0.5, 1) (rev) $ -- soften --swing' $ stack [ --n "1/4" --n "[1*2, 0*8]/8" --n "[1*2, 0*8, [~!! [~!! 0] ! ~!!]]/8" n "[1*2, 0*8, [~!! [~!! 0] ! ~ [~ 0/4] ~]]/8" --n "[1*2, 0*8, [~!! [~!! 0] ! ~ [~ 0/4] [~ 0 ~!]]]/8" --n "[1*2, 0*8, [~! [~ 0] [~!! 0] ! ~ [~ 0] [~ 0 ~!]]]/8" # s "drum", --every' 16 16 (const $ s "kit:3") $ whenmod 3 2 (density 2) $ (whenmod 11 5 . within (0.5, 1)) (density 2) $ --n "" --n "[~ [0 2]/2]" n "[[~ 0] [[2!! ~]/4 0]]/2" # s "kit", --n "" --n "[~ [~ 1]]/2" --n "[~ [~ 0/8 1 0/2]]/2" --0.5 <~ n "[~ [~ 0/8 1 0/2]]/2" --n "[~ [1 0/8 1/2 0/2]]/2" 0.5 <~ n "[~ [1/2 0/8 1 0/2]]/2" --n "[~ [1 0/8 1 0/2]]/2" # s "sn" # gain "0.8" ] d'drum $ n "[1*2, 0*8]/8" # s "drum" {----- icarus -----} hush d'wax silence d'wax $ --every' 2 2 (within (0, 0.75) (iter 16)) $ slow 16 . striate 256 $ s "icarus" d'wax $ retrig $ s "icarus:1/20" {----- nimble -----} hush d'nim silence d'nim $ {- superimpose ( --iter 4 . iter 6 . (# speed ((+0.8).(/1.5) <$> slow 2.5 sine1)) . (# nudge "0") ) $ --} {- (whenmod 5 2 $ slowspread (\x -> within (0.5, 1) x) [ id, density (5%3), rev, density (4%3), id, rev, (0.5 <~) ]) $ --} --whenmod 4 2 (const silence) $ --mt 16 1 $ slow 16 $ striate 256 $ n "[0 1]/2" # s "nimble" -- # shape ((/4) <$> density 1.9 sine1) -- could be killer for part 2 d'nim $ --{- superimpose ( iter 4 . (# speed ((+0.8).(/1.5) <$> slow 2.5 sine1)) ) $ --} --{- every' 16 1 ( (# vowel "o u") . (# delay "0.5") . (# delayfeedback "0.6") . (# delaytime "0.25") ) $ --} whenmod 16 12 (# vowel "[a i]/3") $ (1 ~>) $ slow 16 $ striate 256 $ n "[0 1]/2" # s "nimble" {--- bass ---} hush d'bass silence let s = striate 16 in d'bass $ whenmod 3 2 (within (0, 0.5) (const silence)) $ whenmod 10 8 (within (0.5, 1) (const silence)) $ slow 8 $ stack [ s $ sound "bass", s $ sound "sine" ] let s = gap 32 in d'bass $ swing' $ whenmod 3 2 (within (0, 0.5) (const silence)) $ whenmod 10 8 (within (0.5, 1) (const silence)) $ slowspread (slow) [4%3, 1] $ (0.25 ~>) $ slow 8 $ stack [ s $ sound "bass", s $ sound "sine" ] {--------- alt nimble (wip) ---------} hush d'hi silence d'hi $ swing' $ every 3 rev $ --within (0.5, 1) (density 2) $ whenmod 12 8 (0.5 <~) $ (0.5 ~>) $ slow 8 $ --slowspread (gap) [64, 16] $ -- idk gap 64 $ n "[0 1]/2" # s "nimble" -- # speed "[-3 -4]" # speed ((-4+).(*(-1)) <$> density 1.1 sine1) -- # vowel "[u a]/3" hush