-- Good Morning Minneapolis
do
  let melody = "<d4'min d4'min <a3'min g4'min e4'min> d4'min>"
  let melodyFirst = "<d3 d3 <a3 g3 e3> d3>"
  let gKick = 0.65
  let gSnareL = 0.45
  let gSnareH = 0.7
  let gDrumsL = 0.65
  let gDrumsH = 0.8
  let vPiano = 0.45
  let gBass = 0.55
  let gSiren = 0.5
  let gHitL = 0.5
  let gHitH = 0.8
  let gClap = 0.65
  let gGunL = 0.35
  let gGunH = 0.5
  let gFire = 0.4
  setcps 0.5
  solo 1 -- Kick
  solo 2 -- Snare
  unsolo 3 -- Drumroll
  solo 4 -- Piano
  solo 5 -- Basse/Sirene
  unsolo 6 -- Hit roll
  unsolo 7 -- Claps fantomes
  unsolo 8 -- Guns + Fire
  d1
    $ sometimesBy "<0 0.1>" (# hpf 200)
    $ s "k . k(<1 <3 5>>,8,<0 4>)" -- Hip beat
    -- $ whenmod 16 10 (slow "<4!4 2>") $ s "k k <k!2 ~ k> <k!3 k*2>" -- TECHNO
    # "reverbkick"
    # lpf (slow 64 $ range 500 2500 sine)
    # gain gKick
  d2
    $ every' 8 7 (mask "f t!3" . jux rev)
    $ s "~ s(<1!3 3>,8)" # s "snare:20"
    # gain (slow 32 $ range gSnareL (gSnareH) saw)
    # pan 0.3
  d3 -- Drumroll opposé hit roll
    -- $ fast "<4!3 <2 [2 <8 [8 16]>]>>" -- Waiting roll
    $ fast "<16!3 [16 8]> [8 <8!3 16>]" -- Running roll
    $ s "drum:8"
    # pan (slow 8 $ range 0.4 0.6 sine)
    # gain (slow 40 $ range gDrumsL gDrumsH sine)
  d6 -- Hit roll opposé drumroll
    $ every' 4 3 ( -- acceleration + cymbale
      fast "2 1" . (# n "0!3 1")
    . (|* gain "1!3 <0.65 0.8>")
    )
    $ s "hh(<3!4 5!4>,8)"
    # gain (slow 40 $ range gHitL gHitH cosine)
    # pan 0.7
  d4
    -- $ degradeBy "0 0.9!7" -- OUTRO
    $ mask "t(<1 2!2 4>,4)"
    $ superimpose (
      often (off 0.125 (|+ note "<0!3 12>"))
      . arp (slow 8 $ "<up down updown downup>")
      . (|+ note 36)
      . (# sustain 0.5)
      . (|* velocity 1.1)
      . (# room 0.2)
      . (# sz 0.8)
      . (|+ pan 0.15)
    )
    $ note (melody)
    # s "superpiano"
    # velocity vPiano
    # sustain 1
    # room 0.4 # size 0.2
    # pan 0.5
  d5 -- Basse + Sirene
    $ whenmod 64 0 (
      superimpose (
      slow 4
      . (# s "supersiren")
      . (|- note 12) -- 24 when crushed
      . (# gain gSiren)
      . (# room 0.5)
    ))
    -- $ chop 4 $ often (ply 4) $ (# crush 4) -- TECHNOPHILE
    $ note (melodyFirst)
    # s "supersaw" # voice 0.02
    # gain gBass
    # pan (slow 10 $ range 0.6 0.8 sine)
  d7 -- Claps fantomes
    $ s "~ cp"
    # room (range 0.5 0.95 perlin)
    # sz (range 0.2 0.9 perlin)
    # dry 1.2
    # gain gClap
    # pan (slow 8 $ range 0.45 0.65 saw)
  d8 -- Gunfire
    $ sometimes (
      superimpose (const -- pistolets
        $ sometimes ( -- réplique
          off 0.5 (|+ gain 0.1)
        . (# room 0.25))
        $ often (stut 4 0.9 (1/16)) -- échos
        $ s "~ ~ ~ snare:57"
        # speed (range 0.4 1.1 perlin)
        # gain (range gGunL gGunH rand)
        # cut 80
        # pan (range 0.2 0.8 perlin)
      )
    )
    $ s "fire"
    # begin (slow 4 "<0 0.2 0.5>")
    # cut 8
    # room 0.6 # size 0.4
    # speed (range 0.5 1 perlin)
    # gain gFire
    # delay 0.3 # delaytime (1/3) # delayfb 0.8
