-- HipHop? Progressif, dreamy
setcps 0.6

d1
$ whenmod 32 28 (# silence) -- break
$ whenmod 32 4 (# gain 0.8)
$ whenmod 32 16 (# gain 0.9)
$ whenmod 32 16 (someCycles (fast 2))
$ s "b b . <~ b ~ b> . <~ b b b> . <~ ~ ~ b>"
# s "kick:13"
# gain 0

d2 -- snare
$ almostNever (superimpose (# s "hh")) -- sprinkle some hihats!
$ whenmod 32 28 (# silence) -- break
$ someCyclesBy 0.2 (fast 2 . degrade)
$ s "<s? ~> ~ [s <~ s?>] <~ ~ ~ s?>"
# s "sn:1"
# gain 0.8

d3 -- looped guitar
$ whenmod 32 28 (# gain 0)
$ s "bsguitar:4" # cut 3
# begin (slow 4 $ "<0 0.125 0.25 0.5 0.625 0.75 0.875 0.875>")
# room (slow 16 $ 0.5 * sine)
# size (slow 32 $ 0.5 - sine/2)
# dry (slow 64 $ 3 * sine)
# cut 3
# gain 0.8

d4 -- stut-based drumroll
$ whenmod 32 26 (# silence) -- break
$ sometimesBy "0.9 0.8 0 0.1" (stut 2 1.2 (1/16))
$ fast (slow 8 $ "<8 4>")
$ s "d"
# s "dr"
# gain (slow 64 $ sine * 0.2 + 0.8)

d5 -- basse arpeges
$ every 16 (off 0.5 (|+ note 0))
$ every 8 (off 0.25 (|+ note 12))
$ off 0.125 (|+ note 5)
$ superimpose (|+ note 12)
$ note (slow 4 $ "0 [0?]" + "<8 6 8 4 8 4>")
# s "bassWarsaw"
|- note 36
# gain 0.8

d6 -- break
$ whenmod 32 28 (# gain 1)
$ s "break:4"
# cut 6
# gain 0

d7 -- Random FX
$ whenmod 32 28 (# gain 0)
$ sometimesBy 0.2 (stut 4 0.5 0.125)
$ degradeBy 0.9
$ whenmod 8 4 (|+ up 3)
$ s "feelfx:0"
|+ up 2
# gain 0.8

d8 -- Toy FX
$ whenmod 32 28 (# gain 0)
$ sometimesBy 0.2 (rev . chop 2)
$ degradeBy 0.8
-- $ whenmod 64 32 (# gain 0.8)
-- $ whenmod 64 0 (# gain 0)
$ whenmod 8 4 (|+ up 3)
$ s "[~ ~ toys/4 ~]"
# gain 0.6
