{-
anny fm: pig's nose ep
originally recorded @ home, elephant & castle, 5th april 2014
released on fwonk*: fwonk.co.uk/132/
  _____
 /    /
/____/
anny.audio/album/pigs-nose-ep
      __
  c|||  o_
c||||| ___o
soundcloud.com/anny-fm/sets/pigs-nose-ep
-}

cps (117/60)

-- multi-silence
let msil = mapM_ ($ silence)

-- shortfix for bps->cps
let cf = slow 2

-- channel map
let d'drum = d1
    d'print = d2
    d'wobb = d2
    d'qs = d3
    d'jbass = d4
    d'mons = d5
    d'bass = d6
    d'casio = d7
    d'ql = d8
    d'arm = d8
    d'baa = d9

{-
[1]
-}

-- intro hat
let pn'hointro = s "[~ [~ ho] ~ ho ~ ~ ho ~]/2"

-- drums pretty much all the way thru
let pn'sn = s "[~ [~ sn:1] ~ sn:1 ~ ~ sn:1 ~]/2"
let pn'bd = s "[bd [~ ~ ~ bd] bd*2 ~]/2"
let pn'hh = s "[hh*8 [hh*4 ho]]/2"

-- qspace (= space but quieter)
let pn'qs sl = slow sl . striate 4 $ s "qspace"

-- off tempo intro
d'print $ cf $ slow 2.5 . striate 6 $ s "print"

d'print $ cf $ slow 2.5 . striate 6 $ s "print"
  # vowel (slow 3 "a e i")

d'qs $ cf $ pn'qs 4
d'qs $ cf $ pn'qs 2

d'drum $ cf $ pn'hointro

d'print $ cf $
  jux (slow 1.1) $
  slow 2.5 . striate 6 $ s "print"
  # vowel (slow 3 "a e i")

d'qs $ cf $ jux (iter 8) $ pn'qs 2

d'drum $ cf $ pn'sn

d'qs $ cf $ jux (iter 8) $ pn'qs 2
  # speed ((+0.7).(/2) <$> slow 3.2 triwave1)

d'print $ cf $
  jux (slow 1.1) $
  slow 2.5 . striate 6 $ s "{print, wobble}"
  # vowel (slow 3 "a e i")

d'drum $ cf $ overlay (slow 2 $ s "bd") $ pn'sn

-- good qspace
d'qs $ cf $
  spread density [1,2] $
  jux (iter 8) $ pn'qs 2
  # speed ((+0.7).(/2) <$> slow 3.2 triwave1)

-- drums r srs now
d'drum $ cf $ overlay (pn'bd) $ pn'sn

d'print $ cf $
  jux (slow 1.1) $
  slow 2.5 . striate 6 $ s "wobble"

-- pushy qspace
d'qs $ cf $
  spread density [1,1,2,0.5] $
  jux (iter 8) $ pn'qs 2
  # speed ((+0.7).(/2) <$> slow 3.2 triwave1)

d'drum $ cf $
  every 3 rev $
  overlay (pn'bd) $ pn'sn

d'drum $ cf $
  jux (iter 4) . every 3 rev $
  overlay (pn'bd) $ pn'sn

d'drum $ cf $
  every 8 (density 2) $
  jux (iter 4) . every 3 rev $
  overlay (pn'bd) $ pn'sn

d'drum $ cf $
  jux (density 2 . iter 4) . every 3 rev $
  overlay (pn'bd) $ pn'sn

-- chiller qspace
d'qs $ cf $
  spread density [1,1,0.5,2] $
  jux (iter 8) $ pn'qs 2
  # speed ((+0.7).(/2) <$> slow 3.2 triwave1)

d'print silence

d'drum $ cf $ overlay (pn'bd) $ pn'sn

d'drum $ cf $
  overlay (pn'hh) $
  overlay (pn'bd) $ pn'sn

d'drum $ cf $
  overlay (pn'hh) $
  every 3 rev $
  overlay (pn'bd) $ pn'sn

d'jbass $ slow 8 $ ((1%32) <~) $ s "jungbass jungbass:1"
  # pan (slow 2 sinewave1)
  # speed "1.2"

d'drum $ cf $
  overlay (pn'hh) $
  jux (iter 4) . every 3 rev $
  overlay (pn'bd) $ pn'sn

-- start tailing off
d'ql $ slow 2 $ s "[qlatibro:1 qlatibro]*2"

d'drum $ cf $
  overlay (pn'hh) $
  jux (iter 4) . every 3 rev $
  overlay (pn'bd) $ pn'sn

d'qs silence

d'mons $ cf $
  slow 2 $ s "monsterb"
  # gain "0.7"
  # speed ((+0.6).(/2) <$> slow 4 sinewave1)

d'mons $ cf $
  striate 4 $ slow 2 $ s "monsterb"
  # gain "0.7"
  # speed ((+0.6).(/2) <$> slow 4 sinewave1)

d'drum $ cf $
  overlay (pn'hh) $
  every 8 (density 2) $
  jux (iter 4) . every 3 rev $
  overlay (pn'bd) $ pn'sn

-- calm
msil [d'drum, d'jbass]
d'mons silence

{-
[2]
-}

let pn'bass4 = s "bass*2 bass*2 bass*3 bass*3"
let pn'bass5 = s "bass*2 bass*2 bass*3 bass*3 ~"

d'ql $ slow (10%4) $ spread density [1,5%4] $
  s "[qlatibro:1 qlatibro]*2"
  # vowel "e"

-- yknow this is a pretty neat sample
d'casio $ cf $ s "casio*2 ~"
d'drum $ cf $ pn'hh

d'mons $ cf $
  striate 4 $ slow 2 $ s "monsterb"
  # gain "0.7"
  # speed ((+0.6).(/2) <$> slow 4 sinewave1)

d'mons $ cf $
  spread density [1,2] $
  striate 4 $ slow 2 $ s "monsterb"
  # gain "0.7"
  # speed ((+0.6).(/2) <$> slow 4 sinewave1)

-- real bass at last
d'bass $ slow 4 $ pn'bass4

d'drum $ cf $ overlay (pn'sn) $ pn'hh

d'bass $ cf $ slow 2 $ pn'bass4
  # speed ((+1) <$> density 2.4 sinewave1)

d'drum $ cf $ overlay (pn'sn) $ overlay (pn'hh) $
  s "bd*2"

d'qs $ cf $
  spread density [1,2] $
  jux (iter 8) $ pn'qs 2
  # speed ((+0.7).(/2) <$> slow 3.2 triwave1)

d'bass $ slow 5 $ pn'bass5
  # speed ((+1) <$> density 2.4 sinewave1)

-- real kick drum at last!
d'drum $ cf $ overlay (pn'sn) $ overlay (pn'hh) $
  s "house*2"

d'qs $ cf $
  spread density [1,1,2,0.5] $
  jux (iter 8) $ pn'qs 2
  # speed ((+0.7).(/2) <$> slow 3.2 triwave1)

-- quickly
d'drum silence

d'drum $ cf $ overlay (pn'sn) $ overlay (pn'hh) $
  s "house(3,8)"

d'qs $ cf $
  spread density [1,1,0.5,2] $
  jux (iter 8) $ pn'qs 2
  # speed ((+0.7).(/2) <$> slow 3.2 triwave1)

d'jbass $ slow 8 $ s "jungbass jungbass:1"
  # pan (slow 2 sinewave1)
  # speed "1.2"

d'bass $ slow 5 $ pn'bass4
  # speed ((+1) <$> density 2.4 sinewave1)

msil [d'qs, d'mons]

-- mess with casio a bit then get rid. a transition
d'casio $ cf $
  spread density [1,4%3] $ s "casio*2 ~"

d'drum $ cf $ overlay (pn'sn) $ overlay (pn'hh) $
  every 4 (brak . density 2) $ s "house(3,8)"

d'casio $ cf $
  jux (slow (4%3)) $
  spread density [1,4%3] $ s "casio*2 ~"

msil [d'casio, d'ql]

d'mons $ cf $
  spread density [1,2] $
  striate 4 $ slow 2 $ s "monsterb"
  # gain "0.7"
  # speed ((+0.6).(/2) <$> slow 4 sinewave1)

-- sometimes i regret putting a sheep in this song
d'baa $ slow 6 $ s "baa"
  # vowel "e"

msil [d'print, d'qs, d'jbass, d'mons, d'baa]

-- nice
solo $ d'drum $ cf $
  overlay pn'hh $
  jux (iter 4 . rev) $ pn'sn

{-
[3]
-}

-- drum intro
d'drum $ cf $
  density (8%3) $ s "sn:0 hh hh"

d'drum $ cf $
  overlay (s "house*2") $
  density (8%3) $ s "sn:0 hh hh"

d'drum $ cf $
  overlay (s "house*2") $
  every 4 (density 2 . brak) $
  density (8%3) $ s "sn:0 hh hh"

d'drum $ cf $
  overlay (s "house*2") $
  every 4 (density 2 . brak) $
  density (8%3) $ s "sn:0 hh rm"

-- weird low
d'arm $ cf $
  slow 4 $ s "armora"

d'arm $ cf $
  every 8 (# speed "2") $
  slow 4 $ s "armora"

d'arm $ cf $
  every 2 (density 3) $
  every 8 (# speed "2") $
  slow 4 $ s "armora"

d'arm $ cf $
  every 2 (density 3) $
  every 8 (# speed "2") $
  slow 4 $ s "armora"
  # shape ((/1.5) <$> slow 4 sinewave1)

-- bring monster back
d'mons $ cf $
  striate 4 $ slow 2 $ s "monsterb"
  # gain "0.7"
  # speed ((+0.6).(/2) <$> slow 4 sinewave1)

-- and qspace
d'qs $ cf $ pn'qs 2
d'qs $ cf $ jux (iter 8) $ pn'qs 2

d'qs $ cf $
  jux (iter 8) $ pn'qs 2
  # speed ((+0.7).(/2) <$> slow 3.2 triwave1)

d'qs $ cf $
  spread density [1,2] $
  jux (iter 8) $ pn'qs 2
  # speed ((+0.7).(/2) <$> slow 3.2 triwave1)

d'drum $ cf $
  overlay (s "house*2") $
  every 4 (density 2 . brak) $
  density (8%3) $ (s "sn:0 hh rm" # n "[0 1]/5")

-- bring back 5/4 bass
d'bass $ slow 5 $ pn'bass5
  # speed ((+1) <$> density 2.4 sinewave1)

d'drum $ cf $
  overlay (every 4 (density 3) $ s "house*2") $
  every 4 (density 2 . brak) $
  density (8%3) $ (s "sn:0 hh rm" # n "[0 1]/5")

d'jbass $ slow 8 $ s "jungbass jungbass:1"
  # pan (slow 2 sinewave1)
  # speed "1.2"

-- gradually 1.1->1.5
cps ((117*1.5)/60)

d'wobb $ cf $
  jux (slow 1.1) $
  slow 2.5 . striate 6 $ s "wobble"

-- still don't know why i put a fuckin sheep in here
d'baa $ slow 6 $ s "baa"
  # vowel "e"

-- all at once
hush
