{-
piston lp
-}

cps (138/60)

let bassParams = (|+| gain "0.7").(|+| hcutoff "0.022").(|+| hresonance "0.001")

{-
piston i
-}

d5 $ slow 16 $ jux (0.5 <~) $ rev . striate 256 $ sound "fly"
   |+| hcutoff "0.09"
   |+| hresonance "0.06"
   |+| gain "1"
-- |+| gain "0.1"

d2 $ sound "wt/2"

d3 $ slow 8 $ (<~) (1/4) $ rev . chop 16 $ bassParams $ sound "[dubb dubb:1]/2"

d2 $ sound "{wt/2, [~ wtsn]/8}"

d1 $ sound "k"
d1 $ sound "{k, ~ sn}"

d5 $ whenmod 5 2 (|+| vowel "i o") $ whenmod 3 1 (slow 2) $ brak $ slow 16 $ jux (0.5 <~) $ rev . striate 256 $ sound "fly"
   |+| hcutoff "0.09"
   |+| hresonance "0.06"

d2 $ density (4%3) $ sound "[wtsn ~ wt]"
d2 $ whenmod 5 3 rev $ density (4%3) $ sound "[wtsn ~ wt]"
d2 $ whenmod 5 3 (rev . chop 8) $ density (4%3) $ sound "[wtsn ~ wt]"

d2 $ within (0.5, 1) (slow (3%2) . chop 4) $ whenmod 5 3 (rev . chop 8) $ density (4%3) $ sound "[wtsn ~ wt]"

d4 $ within (0, 0.5) rev $ chop 8 $ sound "[gnome(3,8)]/2"
   |+| gain "0.8"
   |+| speed ((+0.8).(/5) <$> slow 1.1 sinewave1)

d1 $ sound "{k, [~ ~ sn [~ sn*3]/2]/2}"

mapM_ ($ silence) [d1,d3]

d1 $ sound "[k(3,8)]/2"
d1 $ sound "{k(3,8), [~ sn]}/2"
d1 $ sound "{k(3,8), [~ ~ sn [~ sn*3]/2]}/2"

mapM_ ($ silence) [d4,d5]

d1 $ within (0.5, 1) (chop 8) $ sound "{k(3,8), [~ ~ sn [~ sn*3]/2]}/2"

d3 $ (every 2 $ within (0.25, 0.75) (0.5 ~>)) $ slow 8 $ rev . chop 16 $ bassParams $ sound "[dubb dubb:1]/2"

d1 $ every 3 (density (5%4)) $ within (0.5, 1) (chop 8) $ sound "{k(3,8), [~ ~ sn [~ sn*3]/2]}/2"

mapM_ ($ silence) [d1,d2]

{-
piston ii
-}

d2 $ sound "[~ wt*4 ~ wt*2 ~]/5"

d1 $ sound "[k [sn k] [wt k] sn]/4"

d6 $ sound (samples "[[ff bz]*2 [~ bz*2]]/2" $ slow 2 $ run 5)
   |+| begin "0.7" |+| end "0.85"
   |+| hcutoff "0.04" |+| hresonance "0.1"
   |+| shape ((/5) <$> slow (5%3) sinewave1)
-- |+| gain "0.1"

d6 $ sound (samples "[[ff bz]*2 [~ bz*2]]/2" $ slow 2 $ run 5)
   |+| begin "0.7" |+| end "0.85"
   |+| hcutoff "0.04" |+| hresonance "0.1"
   |+| shape ((/5) <$> slow (5%3) sinewave1)
   |+| vowel "o u"

d3 $ every 2 (0.5 <~) $ slow 4 $ rev . chop 16 $ bassParams $ sound "[dubb dubb:1]/2"
   |+| cut "1"
   |+| vowel "i"

d6 $ jux (slow 1.1) $ slow 2 . brak $ sound (samples "[[ff bz]*2 [~ bz*2]]/2" $ slow 2 $ run 5)
   |+| begin "0.7" |+| end "0.85"
   |+| hcutoff "0.04" |+| hresonance "0.1"
   |+| shape ((/5) <$> slow (5%3) sinewave1)
   |+| vowel "o u"

d9 $ within (0.5, 1) ((0.25) <~) $ brak . chop 256 $ sound "creep"
   |+| shape ((/3) <$> density 2 sinewave1)
   |+| vowel "o e"
   |+| gain "0.6"

d3 $ every 2 (0.5 <~) $ slow 4 $ rev . chop 16 $ bassParams $ sound "[dubb dubb:1]/2"
   |+| cut "1"
   |+| vowel "o i"

d1 $ superimpose ((1%4) <~) $ sound "[k [sn k] [wt k] sn]/4"

d3 $ every 2 (0.5 <~) $ slow 4 $ rev . chop 16 $ bassParams $ sound "[dubb dubb:1]/2"
   |+| vowel "o i"

mapM_ ($ silence) [d6,d9]

d1 $ sound "[k*4 [sn ~ ~ k] k*4 sn]/4"

{-
piston iii
-}

solo $ d3 $ within (1%3, 2%3) (|+| gain "0.5") $ every 2 (0.5 <~) $ slow 4 $ rev . chop 16 $ bassParams $ sound "[dubb dubb:1]/2"
   |+| vowel "o i"
   |+| cut "1"

d1 $ slow (3%2) $ sound "[k*2 [sn ~ ~ ~ k] [~ ~ ~ ~ k] sn]/4"

solo $ d2 $ slow (3%2) $ sound "[[wt hh] hh*2 ! !]/4"

d4 $ slow 24 $ rev . chop 64 $ sound "fly:1"
   |+| gain "0.7"
--   |+| gain "0.7"
   |+| pan ((+0.25).(/2) <$> density 1.1 sinewave1)

d1 $ slow (3%2) $ sound "[k*2 [sn ~ ~ ~ k] [~ ~ ~ ~ k] sn]/4"

d3 $ slow 12 $ ((1%4) <~) $ rev . chop 32 $ bassParams $ sound "[dubb dubb:1]/2"
   |+| vowel "e"
   |+| cut "1"
   |+| shape ((/3) <$> density 3.1 sinewave1)

{-fill-}

d4 $ within (0.5, 1) (density (5%3)) $ slow 24 $ rev . chop 64 $ sound "fly:1"
   |+| gain "0.7"
   |+| pan ((+0.25).(/2) <$> density 1.1 sinewave1)

mapM_ ($ silence) [d1,d2]

{-
piston iv
-}

d2 $ sound "wt*2"
|+| vowel "[u e u a]/2"

mapM_ ($ silence) [d3,d4]

d1 $ sound "[k [sn k] [k sn] [~ sn] [~ k] sn [k [k wtsn]]]/7"

d3 $ slow 8 $ ((1%8) <~) $ chop 32 $ bassParams $ sound "[dubb dubb:1]/2"
   |+| speed "1.2"
   |+| shape ((+0.25).(/2) <$> density 4 sinewave1)
   |+| cut "1"

d7 $ ((1%16) <~) $ chop 16 $ sound "[ice [~ ice] ~ ~]/4"
   |+| gain "0.7"

d8 $ sound "[~ ~ ~ [~ ~ [~ ~ ~ wtsn] [~ wtsn ~ wtsn]]]/16"

d4 $ chop 64 $ sound "[fly ~ [fly ~ ~ fly] ~]/4"
   |+| cut "1"
   |+| begin "0.3"
   |+| end "0.35"
   |+| shape ((+0.25).(/2) <$> density 8 sinewave1)
   |+| speed ((+1) <$> density (5%4) saw1)

mapM_ ($ silence) [d1,d3,d7,d8]

--d1 $ (0.5 <~) $ sound "[[k ~ wtsn k] ~]/2"
d1 $ (0.5 <~) $ sound "[k [sn k]]/2"

d3 $ slow 8 $ ((1%8) <~) $ chop 32 $ bassParams $ sound "[dubb dubb:1]/2"
   |+| speed "1.2"
   |+| shape ((+0.25).(/2) <$> density 4 sinewave1)
   |+| cut "1"

d3 $ slow 8 $ ((1%8) <~) $ chop 32 $ bassParams $ sound "[dubb dubb:1]/2"
   |+| speed "1.2"
   |+| shape ((+0.25).(/2) <$> density 4 sinewave1)
   |+| cut "1"
   |+| vowel "u a"

d7 $ rev $ ((1%16) <~) $ chop 16 $ sound "[ice [~ ice] ~ ~]/4"
   |+| gain "0.7"
   |+| shape ((+0.25).(/2) <$> density 8 saw1)

d2 $ sound "~ wt*2"

mapM_ ($ silence) [d1,d3,d4]

{-
piston v
-}

d7 $ every 2 (density 1.5) $ whenmod 5 3 (density 2) $ rev $ ((1%16) <~) $ chop 16 $ sound "[ice [~ ice] ~ ~]/4"
   |+| gain "0.7"
   |+| shape ((+0.25).(/2) <$> density 8 saw1)

d1 $ sound "k"

d3 $ (0.5 <~) $ chop 32 $ bassParams $ sound "dubb [dubb:1 ~]/4"
   |+| cut "1"
   |+| speed "0.6"

d1 silence
d1 $ sound "{k*2 [~ k], ~ sn}/2"

d6 $ sound "[ff(3,8) [~ ff]]/4"
   |+| end "0.2"

d4 $ chop 64 $ sound "[fly ~ [fly ~ ~ fly] ~]/4"
   |+| cut "1"
   |+| begin "0.3"
   |+| end "0.35"
   |+| shape ((+0.25).(/2) <$> density 8 sinewave1)
   |+| speed ((+1) <$> density (5%4) saw1)

d3 $ every 2 (0.5 <~) $ slow 4 $ rev . chop 16 $ bassParams $ sound "[dubb dubb:1]/2"
   |+| cut "1"
   |+| vowel "o i"

d3 $ every 2 (0.5 <~) $ slow 4 . brak $ rev . chop 16 $ bassParams $ sound "[dubb dubb:1]/2"
   |+| cut "1"
   |+| vowel "o i"

mapM_ ($ silence) [d4,d7]

{-fill-}

d1 $ sound "[k*2 [sn ~ ~ wt] k*2 sn [~ k]]/5"
d1 $ whenmod 3 2 (slow (4%3)) $ sound "[k*2 [sn ~ ~ wt] k*2 sn [~ k]]/5"
solo $ d1 $ whenmod 3 2 (slow (4%3)) $ sound "[k*2 [sn ~ ~ wt] k*2 sn [~ k]]/5"

{-
piston vi
-}

solo $ d1 $ every 3 (density 2) $ within (0, 0.5) (jux ((1%3) ~>)) $ sound "[k [sn ~ k] [~ ~ sn] ~]/8"

d7 $ slow 5 . chop 15 $ sound "ice"
   |+| gain "0.7"
   |+| resonance "0.4" |+| cutoff "0.2"

hush
d1 $ sound "[k [sn ~ k] [~ ~ sn] ~]/8"

d3 $ slow 8 $ slowspread ($) [rev.chop 12, rev.chop 24] $ bassParams $ sound "[dubb dubb:1]/2"

d2 $ sound "[wt*3 ~]/2" |+| shape ((/2) <$> slow 3 saw1)

d4 $ slow (4%3) . slowspread ($) [slow 1, density (5%4)] $ slow 12 $ slowspread striate [24,36] $ sound "fly:1"
   |+| gain "0.7"

d4 $ slow (4%3) . slowspread ($) [slow 1, density (5%4)] $ slow 12 $ slowspread striate [24,36] $ sound "fly:1"
   |+| gain "0.7"
   |+| delay "0.6" |+| delayfeedback "0.4" |+| delaytime "0.62" --(112/60)/3

d6 $ rev . chop 12 $ sound "bz/4"
   |+| vowel "o"

d1 silence

d3 $ (|+| begin ((/2) <$> (density (5%4) $ sinewave1))) $ (|+| end ((+0.05).(/2) <$> (density (5%4) $ sinewave1))) $ slow 8 $ slowspread ($) [rev.chop 12, rev.chop 24] $ bassParams $ sound "[dubb dubb:1]/2"

d7 $ slow 5 . chop 15 $ sound "ice"
   |+| gain "0.7"
   |+| resonance "0.4" |+| cutoff "0.2"

d1 $ sound "{k, ~ sn}"
d1 $ sound "[[k ~ k] {k, sn}]/2"

d7 $ slow 5 . chop 15 $ sound "ice"
   |+| gain "0.7"
   |+| resonance "0.4" |+| cutoff "0.2"
   |+| delay "0.5" |+| delayfeedback "0.2" |+| delaytime "0.76" --(138/60)/3

d3 $ slow 8 $ within (0.33, 0.67) (0.25 ~>) $ slowspread ($) [rev.chop 12, rev.chop 24] $ bassParams $ sound "[dubb dubb:1]/2"
   |+| vowel "o"

d3 silence

d1 $ within (0, 0.5) (jux ((1%3) ~>)) $ sound "[k [sn ~ k] [~ ~ sn] ~]/8"

mapM_ ($ silence) [d2,d6,d7]

{-
piston vii
-}

d3 $ slow 16 $ rev . chop 32 $ bassParams $ sound "[dubb dubb:1]/2"

d1 $ within (0, 0.5) (superimpose ((1%3) ~>)) $ sound "[k [sn ~ k] [~ ~ sn] ~]/8"

d6 $ sound (samples "[[ff bz]*2 [~ bz*2]]/2" $ slow 2 $ run 5)
   |+| begin "0.7" |+| end "0.85"
   |+| hcutoff "0.04" |+| hresonance "0.1"
   |+| shape ((/5) <$> slow (5%3) sinewave1)

d1 $ sound "[k*2 [sn ~ ~ wt] [~ k] sn [~ k]]/5"

d6 $ sound (samples "[[ff bz]*2 [~ bz*2]]/2" $ slow 2 $ run 5)
   |+| begin "0.7" |+| end "0.85"
   |+| hcutoff "0.04" |+| hresonance "0.1"
   |+| shape ((/5) <$> slow (5%3) sinewave1)
   |+| delay "0.6" |+| delayfeedback "0.5" |+| delaytime "0.766" --(138/60)/3

d1 $ sound "[k [sn ~ ~ wt] [~ k] sn]/4"

d3 $ slow 16 $ rev . chop 64 $ bassParams $ sound "[dubb dubb:1]/2"

d2 $ sound "{wt/2, [~ wtsn]/8}"

d8 $ chop 64 $ sound "[fly ~ [fly ~ ~ fly] ~]/4"
   |+| cut "1"
   |+| begin "0.3"
   |+| end "0.35"
   |+| shape ((+0.25).(/2) <$> density 8 sinewave1)
   |+| speed ((+1) <$> density (5%4) saw1)

d5 $ whenmod 5 2 (|+| vowel "i o") $ whenmod 3 1 (slow 2) $ brak $ slow 16 $ jux (0.5 <~) $ rev . striate 256 $ sound "fly"
   |+| hcutoff "0.09"
   |+| hresonance "0.06"

d2 $ density (4%3) $ sound "[wtsn ~ wt]"
d2 $ whenmod 5 3 rev $ density (4%3) $ sound "[wtsn ~ wt]"

d1 $ sound "[k [sn ~ ~ k] [~ k] sn]/4"

d2 $ whenmod 5 3 (rev . chop 8) $ density (4%3) $ sound "[wtsn ~ wt]"

d1 $ sound "[k [sn ~ ~ k] [~ k*2] sn]/4"

d2 $ within (0.5, 1) (slow (3%2) . chop 4) $ whenmod 5 3 (rev . chop 8) $ density (4%3) $ sound "[wtsn ~ wt]"

mapM_ ($ silence) [d4,d6,d8]

solo $ d2 $ within (0.5, 1) (slow (3%2) . chop 4) $ whenmod 5 3 (rev . chop 8) $ density (4%3) $ sound "[wtsn ~ wt]"

hush
