-- SAMEDI? INTERDIT! Techno macronisto - mélancolique
setcps 0.5

d1 -- kick basique!
-- $ whenmod 40 36 (# silence)
$ whenmod 40 32 (degrade)
$ whenmod 40 20 (
  <| s "[k k?] <k k k k?> k <k k*2 ~ k>"
)
$ whenmod 40 16 (fast 2)
$ whenmod 40 12 (slow 2)
$ every 8 (often (off 0.125 id))
$ every 4 (# s "clubkick:7")
$ s "k*4"
# s "kick:5"
# gain (slow 40 $ sine * 0.2 + 0.5)

d2 -- snares contretemps
-- $ whenmod 80 70 (jux rev)
-- $ whenmod 80 60 degrade
-- $ whenmod 80 50 rev
$ whenmod 80 4000 (
  (superimpose (const $ s "~ [c c?] ~ <c c? c ~>"
  # "clap:1" # release 0.8
  # gain 0.55
  # room 0.3 # dry 1
  ))
  . (stut 4 0.9 0.125)
  )
$ s "~ s ~ <s? [s? s]>"
# s "sn:7"
# gain (slow 40 $ cosine * 0.3 + 0.4)


d3 -- drumroll
-- $ sometimesBy (slow 40 $ tri) (jux rev) -- fou!
$ whenmod 40 10 (# gain (slow 80 $ sine * 0.4 + 0.4))
$ whenmod 40 0 (# gain 0)
$ s "<d*2 d*4 d*8 d*2> [d*<2 2 4 4> [d|<~ d>|~]]"
# s "[dr,[~ drum:8?]]"
# pan (slow 40 $ sine)

d4 -- cymbales rebond 3/8
$ fix (|- gain 0.1) (n "1")
$ every 4 (someCycles (# n "0 0 1"))
$ euclid (slow 4 $ "<2 <3 5>>") 8
$ s "hh"
# pan (slow 16 $ cosine)
# gain (0.5 + (slow 8 $ sine / 2))

d5 -- basse complement guitare
$ someCycles (off (1/4) id) -- lag 1/4 mesure
$ (off (1/8) (# gain 0.5)) -- complement epaisseur
$ note ("[0|0|0|0*2|~]*8")
# note (scale "hexDorian" (
  "<0 3 5 7> .. <6 4 2 0>" -- theme roulant
  ))
# s "bassWarsaw"
# gain (slow 16 $ 0.9 - tri / 4)
|- note 12

d6 -- lead synthé basse gratté
$ often (off (1/8) (# legato 0.5))
$ whenmod 80 60 (
  |<| note "[0 ~ <<~ 0?> 0> ~]*8"
)
$ whenmod 80 40 (|<| note "0*8")
$ whenmod 80 20 (|<| note "0*4")
$ whenmod 80 10 (|<| note "0*2")
$ note "0"
# note (scale "hexDorian" (
  "<0 3 5 7> .. <6 4 2 0>" -- theme roulant
  ))
# s "defaultB"
# pan (slow 16 $ isaw / 5)
# gain (slow 16 $ tri / 5 + 0.8)
|- note 24

d8 -- macron guerre - gueguerre
$ every' 8 7 (# silence)
$ every' 8 6 (stut 4 0.8 0.25)
$ every' 8 5 ((<| n "0") . (# begin 0))
$ every' 2 1 (superimpose (
  (# octer 2) . (# octersub 5) . (# octersubsub 2)
  . (# gain 0.65)
))
$ n "0(<3 <[3|5] [3|5|5] 5>>,8)"
# s "macron:0" # begin 0.5
# gain (slow 64 $ cosine * 0.4 + 0.5)
# pan
(
  every 8 (1 -) -- non, à gauche!
  1 - (rand / 4) -- plutot à droite...
)


d10 -- Micro? Macron!
-- $ whenmod 128 64 (# silence)
-- $ superimpose ( -- clochettes brouille fin voix
  -- (jux (|- note 12))
-- . (# note (scale "hexDorian" "<0 [0,3] [0,5] [0,3,5]> .. 5" - 12))
-- . (# s "superfork")
-- . (|- gain 0.1)
-- )
$ whenmod 4 2 -- brouille rev reverb
((fast 2) . rev . (chop 4) . (# room 0.4))
$ sometimesBy (slow 16 $ (saw * 0.75 + 0.25)) ( -- slow chopped crushed remix!
  (# crush (slow 16 $ sine * 10 + 6))
  . jux (rev . (# pan rand)) . chop 2
  -- . (# gain 1.1)
  . (# room 0.6)
)
$ whenmod 32 24 (const -- samedi - interdit
  $ degradeBy "<0 0 0 <0 [0 1] [0 1] [1 0]>>" -- degrade every 4
  $ n "[1 2]" # s "macron"
  # end "[0.4 1]"
  # release "[0.8 1]"
  # attack "[0.8 1]"
)
$ whenmod 32 16 (|> n "1 <~ ~ 2> ~") -- samedi soir ? interdit!
$ whenmod 8 4 (|> n "2") -- interdit
$ whenmod 8 0 (|> n "1") -- samedi soir
$ n "[~ <1 ~ ~> <~ 1 ~> <~ ~ 1>]/2"
# s "macron"
# pan
(
  every 8 (1 -) -- non, à droite!
  rand / 4 -- plutot à gauche...
)
# gain (slow 32 $ range 0.2 0.9 sine)

d9 -- glitches!
$ every 4 (sometimesBy 0.75 (jux rev))
$ fix (|+ gain 0.1) (n "2")
$ fix (|+ gain 0.1) (n "5")
$ fix (|- gain 0.1) (n "7")
$ s "g(5,8,<0 0 0 0 1 1 1 1 3 3 3 3 5 5 5 5>)"
# s "glitch" # n "2[2|5|7|7]"
# gain (slow 32 $ sine * 0.4 + 0.2)

once $ nousGuerre
once $ guerre

nousGuerre = n "{3 6 0 4}" # s "macron" # begin 0
enGuerre = s "macron:0" # begin 0.5
guerre = s "macron:0" # begin 0.55
