setcps 0.5

d1 -- kick 1/4 <> variations sur 8 temps
$ euclid (slow 8 $ "<1 2 4 4 1 4 2 2 4 2>") 4
$ s "drum"

d2 -- percs regulieres
$ (# gain 0.8)
$ whenmod 16 12 ( -- pont drums 80s
  const $ n "[3 [~ 3]] [~ <2 [~ 2]>] [2 3 ~] 2" # s "electro1")
$ almostNever (stut 3 0.5 (1/16)) -- rebond plastique
$ s "tom(<1 <3 <5 4>>>,8)"
# s "[808lt,808mt?]"
# n (irand 4) -- tok
# pan (slow 4 $ rand / 2)

d4 -- basse melodie base
$ whenmod 8 6 (sometimesBy 1 (fast 2 . rev . degradeBy 0.2))
$ every 2 (sometimesBy "0 0 0 0.5" (fast 2 . (# n "3")))
$ note (scale "major"
("[0 ~ 0] [~ 2] <3 <-2 -2 -2 0>> -3")
) # s "bassWarsaw"
# attack (0.15 + rand / 4)
|- note 24

d5 -- rhodes melodie + rev leger, variations filtres
$ superimpose (rev . (slow 2) . (|+| note 12))
$ note (scale "major"
("[0 ~ 0] [~ 2] <-2 -2 -2 0> -3")
) # s "everythingrhodes"
# lpf (slow 16 $ sine * 20000 + 20)
# hpf (slow 16 $ cosine * 4000)
# gain 0.9
|+ note (slow 4 $ "<0 12>")

d6 -- rhodes melodie base, aigu un peu begayant
$ every 4 (somecyclesBy 0.8 (fast 2))
$ somecycles (slow 2)
$ note (scale "major"
(
  "0*2 ~.  2(3,8) . <-2 -2 -2 0>(3,8,<1 1 5 5>) . -3 -3?"
  + (slow 8 $ "[0,<4? 4>]")
  )
) # s "FMRhodes1"
-- |- note 12

d7 -- piano pompe tierce majeure
$ whenmod 16 12 (# gain 0)
$ note (scale "major"
(
  "~ 0 ~ 0"
  + "<0 <1 2>>"
  + "[0,2]"  -- accord epaisseur
))
# s "superpiano"
|- note 12
# velocity 0.7
# sustain 0.5

d8 -- cymbales / scratch occasionnels
$ sometimesBy "0.5 0" (stut 4 0.75 0.125)
$ n "[1 ~ <~ 1> 1] ~ [2|~|2*2] 3"
# s "hh"
# gain (slow 64 $ sine * 0.6 + 0.4)
# room 0.2
# pan (slow 16 $ sine)

d9 $ s "b"
-- b0: chirp 2s
-- b1: chirp aigu leger 2s
-- b2: leger monte descend 3s
-- b3: leger haut bas haut 3s
-- b4: siffle aigu cool

d1 $ -- base
s "birds/4"
# room 0.9
# size 0.5
# gain 0.5

d3 -- aigu lead?
$ slow 2 $ up "<0 2 7 0>"
# s "birds:4"
|- up 7
# gain 0.7

d2 --  occasionel padlong
$ s "~ birds:3/8"
# gain 0.9

d5 -- pivert
$ whenmod 64 48 (# gain 0.9)
$ often (stut 5 0.9 0.05)
$ s "birds3:6(<1 1 3 1> ,8)"
# gain 0.9

d6 -- scratch moineau
$ whenmod 128 80 (# gain 1.2)
$ whenmod 128 72 (# gain 1.1)
$ whenmod 128 64 (# gain 1)
-- $ degradeBy "<0 .. 0.5 0.5 .. 0.2 0.2 .. 0.6 0.6 .. 0>"
$ whenmod 16 16 (# up 12)
$ whenmod 16 15 (# up 10)
$ whenmod 8 7 (# up 7)
$ whenmod 8 4 (# up 1)
$ n "0*16"
# s "birds3"
# n (choose [0,0,2])
# gain 0.6
