do
let g  =  whenmod 32 24 (# djfbus 3 (slow 8 $ range 0.5 0.15 saw))
let g2 =  whenmod 32 24 (# djfbus 4 (slow 8 $ range 0.5 0.35 saw))
setcps (80/60/4)
-- resetCycles
d1 $ g -- Poum poum
  $ mask "<f!8 t!54>"
  $ "[jazz,kick:5,909]*<2 2 4 [8 16] 2 2 4 [8 16] [8!6 <16 8> 16]!16>"
d2 $ g -- Clac
  $ mask "<f!16 t!48>"
  $ whenmod 64 16 (fast "<2!3 [2!3 8]>")
  $ "~ cp"
  # note "<-3!3 -2>"
  -- # lpf 2500
  # room 0.3
  # gain 1.2
  # sz 0.9 # dry 1
d3 $ g -- Let the proto-drums run...
  $ mask "<[[t f]*4]!8 t!8>"
  $ slice 16 ("0..7" + "<0 8>")
  $ loopAt 4
  $ "drums_gameboy" # n "<11!3 12>"
  # gain 0.9
  # cut 3
d4 $ g2 -- Bass, you make me run <3
  $ whenmod 64 32 (# hpfbus 44 (slow 32 $ range 500 5000 cosine))
  $ whenmod 64 32 (# crushbus 41 (slow 32 $ range 16 3.5 saw))
  $ loopAt 4
  $ "bass_gameboy:11"
  # cut 4
  # panbus 45 (slow 8 $ range 0.8 0.65 sine)
  # roombus 42 (slow 16 $ range 0.1 0.8 saw)
  # sz 0.7
  # dry (0.9 + 0.2 * perlin)
  # gain 1
d5 -- Telephone
  $ mask "<f!48 t!16 f!32 t!32>"
  $ someCyclesBy 0.2 (off 0.75 id)
  $ (|+ note "0.5")
  $ whenmod 16 12 (off "e" ((# cut 52) . (ply "<1!3 2>") . (|+ note 12)))
  $ slice 8 "0 <0 0 1 <0 1>>"
  $ "synth_nes:9"
  # cut 5
  # gain 0.5
  # pan 0.9
d7
  $ degradeBy (slow 32 $ range 1 0.5 saw)
  $ fix ((# gain 0.55) . (# pan 0.6) . (# cut 72)) (n 8) -- CRASH
  $ fix ((# gain 0.6) -- Siren
  . (# pan 0.32) . (# cut 71) . (# legato (0.5 + perlin))) (n 4)
  $ n (stack [
  "~ 4*<1 <2 4>>",
  "~!3 <~!3 1>",
  "8(<1 3 5 8>,8)",
  ""
  ])
 # "fx_gameboy"
 # cut 7
 # gain 0.65
 # room 0.2
 # sz 0.5
 # dry 1.2
d8 $ g2 -- Choirs!
 $ mask "<f!24 t!8 f!16 t!16>" -- Orchestration
 $ mask "<[t f]!4 t!4> <t!4 f t!3> <t <f t>> t" -- Aeration
 $ arp "<up!8 down!8>"
 $ note ("b4 b4 b4 <a4!3 d5>" + "c'min'4")
 # "moogBass"
 # room 0.54
 # legato "<1!7 0.25>"
 # sz 0.9
 # gain 0.8

once $ slice 8 0 $ "synth_gameboy:1"