do
-- resetCycles
setcps (140/60/4)
let modIndex = pF "modIndex"
let pTechno =  "<0!64 1!64>"
let whenTechno = someCyclesBy pTechno
let whenDNB = someCyclesBy (1 - pTechno)
d1
  $ mask "<f!16 t!4 f!8 t!36>"
  $ whenTechno (<| "k*4")
  $ whenDNB    (<| "k . ~ <k!12 ~!4> ~ <~!7 k>")
  $ "[jazz,kick:5]"
  # gain 1.1
  # room 0.1
d2 -- Snare contretemps DNB Techno-compatible
  $ mask "<f!28 t!36>"
  $ "~ s ~ [s <~ s? ~ s*<1 2>>]"
  # "[cpu:2,snare:35,<snare:43!4 snare:40!4>]"
  # gain 1.44
d3 -- DrumRoll
  $ mask "<f!20 t!44>"
  $ whenmod 4 2 (rarely (ply 2))
  $ fast "8 <[8|8 4|8|16 8|16]!3 [16 <8 32>]>" $ "[drum:2,cpu2:3]"
  # gain 0.96
d4 -- BASSLINE
  $ mask "<f!8 t!12 t!44 t!64>"
  $ whenTechno (chop "<8 8 4 <8 16>>")
  $ superimpose ( -- Aigu complément
    ("e" ~>) . (# voice 100)
    . (# pan 0.4)
  )
  $ superimpose (|+| note "~ 7(<3!3 5>,8)")
  $ whenmod 32 24 (# note "<g f ef <c f>>")
  $ note "<c c ds <c g>>"
  # octave 3
  # "supersaw"
  # crushbus 4 (slow 16 $ range 16 4 saw)
  # voice 0.1
  # room 0.2
  # pan 0.2
  # gain 0.84
d5 -- Mad organ
  $ whenTechno ((|* gain 1.3))
  $ mask "<f!32 t!32>"
  $ someCyclesBy "<f!6 t t>" (slice 4 "0 0 0 0*<1 2>") -- PRE-DROP
  $ someCyclesBy "<t!12 f!4>" (mask "<t!3 f>")
  $ "forgan:24"
  # cut 5
  # crushbus 5 (range 16 4 (slow 2 perlin))
  # gain 1.28
  # pan 0.9
  # hpf (slow 32 $ range 0 2500 sine)
  # room (slow 16 $ range 0 0.4 perlin)
d6 -- Rhodes arps <3
  $ someCyclesBy "<t!4 f!60>" (struct "t(<<1 3> <2 4>>,4)")
  $ mask "<t!20 f!8 t!36 t!20 f!8 t!32 f!4 f!128>"
  $ whenTechno (struct "t(<10 12 8 4 10 12 8 16>,16)")
  $ degradeBy ("0 0.5!15" - (slow 16 cosine))
  $ whenmod 32 24 (sometimesBy "0 1" rev)
  $ note ("<c c ds <c g>>"
  + (arp "up" "<[c'maj'4 c'maj'3]!12 [c'maj'4 c'maj'3]!4>")
  + "0 12"
  - 24)
  # "[FMRhodes2,FMRhodes1]"
  # modIndex (slow 4 $ range 0 10 saw)
  # crushbus 6 (slow 16 $ range 16 4 saw)
  # pan 0.6
  # room 0.4
  # gain (1.2 * "<1!20 0.9!44>")
  -- # gain (slow 16 "<0.5 0.75>" + (slow 16 $ range 0.125 0.5 saw))
d7 -- GLITCH NOISES
  $ mask "<[f t]!8 f!8 t!48>"
  $ fix (|* gain 0.6) (n 3)
  $ fix (|* gain 0.5) (n 6)
  $ n "[[~ <~!4 3!4> ~ 3],[6*<1 2 4 2>],7,8(<3 5 8>,8)]"
  # "cosmicg"
  # pan 0.8
  # lpf 1200
  # gain 0.78
d8 -- GLITCH DNB
  $ mask "<f!16 t!48>"
  $ n "12 11 . ~ 12 11 <~!3 <11 [~ 11]>>"
  # note "-1 0 . -1 0"
  # "cosmicg"
  # pan 0.2
  # room 0.5
  # dry 1
  # gain 0.8
d9 -- Claps occasionnels
  $ mask "<f!24 t!4 f!36>"
  -- $ "[~ cp]*<1 1 1 2 2 2 4 8>"
  $ "[~ cp]*<1 1 2 4>"
  # "cp"
  # gain 1.1
  # room 0.2
  # lpf 2000


  do
  setcps (140/60/4)
  d1 $ slow 8 $ note (scale "aeolian" (run 32))
    # "arpy" # gain 1.4