{- 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 -- 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 0 0 [0 ~! 0] ! 0 [0 0/4] 0]/8" --n "[1*2, 0 0 0 [0 ~! 0] ! 0 [0 0/4] [0! ~!]]/8" n "[1*2, 0 [0 ~! 0] 0*2 [0 ~! 0] ! 0 0*2 [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" --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" ] # gain "0.9" 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" ] # gain "0.9" {--------- 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