123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 |
- {-
- 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
|