setcps 1


do
  solo 1 -- bass
  solo 2 -- hit
  solo 3 -- clap
  solo 4 -- fork
  solo 5 -- kick
  solo 6 -- drums 80s
  d1 -- autre Basse
    $ whenmod 8 4 (|- n 2)
    $ someCyclesBy 0.4 ((superimpose (|- 7)) . (|+ 7)) -- 2: matiere plastique
    $ someCycles (off 0.25 (|- 7))
    $ n (scale "major" "[0 0] ~ 1 0 1 1 0 0")
    |- 14
    # s "subBass1"
    # gain 0.9
  d1 -- bass
    -- $ whenmod 64 32 ((# gain 1) . (# room 0.2))
    -- $ whenmod 32 16 (# silence)
    $ slow 2
    $ note (
      scale "major" (
        cat [
          " 1  1 ~ . ~ [~ 0]",
          "0 [0 1] ~ ~ . ~  "
        ]
        + "[0, 7]" -- gamme
      )
    )
    # s "bass3"
  d2 -- hit roll
    $ sometimesBy "0 0.5" ((# gain 0.8) . (# s "dr:2"))
    -- $ someCycles (# s "dr:1")
    $ s "<hh*4 hh*4 hh*4 [hh*4 ~]>"
    # s "hh"
    # release 0.5
    # gain 0.9
  d3 -- claps
    $ whenmod 32 16 (degradeBy 0.2)
    $ s "<[~ cp] [~ cp] [~ cp] [~ cp . cp ~]>"
    # s "clap"
    # gain (slow 32 $ range 0.5 0.8 saw)
  d4 -- fork
    $ whenmod 50 0 (# release "0.05")
    $ superimpose (
      (# s "supergong") . (# gain 0.5) . (# release 0.5))
    $ s (cat [
    "~ f f*2 ~"
    , "f f ~ f"
    , "f*2 ~ f f"
    , "[f*4] ~"
    ])
    # s "superfork" # n (scale "major" (-4))
    # release 0.5
    # gain 1.5
    # gain (slow 64 $ range 1.5 0.6 isaw)
    # pan 0.8
  d5 -- kick
    $ fast 4
    $ every 4 degrade
    $ s "kick:5"
    # gain 0.9
  d6 -- drums 80s
    $ degrade
    $ superimpose (# n 0) -- tick
    $ fast 8 $ "electro1" # n (choose [1,2,2,2,3,3,3])
    # gain (slow 64 $ range 0.5 1.1 saw)


d7 -- lead orgue
$ degradeBy 0.4
$ rev
-- $ slow 2 $ degrade $ (|+ note 7)
$ sometimes (off "<0 0.125 0.25 0.25>" (# s "[organTonewheel0,organTonewheel4]") . (|- gain 0.1))
$ superimpose (# s "organTonewheel2")
-- $ superimpose (# s "organTonewheel3")
$ chop "<2 4 4 8 8 2>"
$ off (1/4) (|+ note "<5 7 3 0 5>")
$ note "-7"
# gain 0.9
# room 0.8 # dry 2 # size "<0,0.05 .. 0.3 0.3,0.05 .. 0>"
# s "organTonewheel1"
