--
d1 $ "drum:2*8" # gain 1.68
--
-- Bonsoir :)

-- Ce soir, je vous propose un livecoding
-- parti de quelques samples
-- arrivés quelque-part :)



do
setcps (120/60/4)
let g1 = (whenmod 32 24 (# djfbus 1 (slow 8  $ range 0.5 0.15 saw)))
let g2 = (whenmod 64 32 (# djfbus 2 (slow 32 $ range 0.5 0.75 saw)))
let g3 = ((# djfbus 3 (range 0.05 0.95 "^49")))
let g = g1 . g2 . g3
d1 $ g -- Kick ;)
  $ whenmod 64 16 (struct "t t t <t [~ t]>")
  $ someCyclesBy "<1!16 0!48>" (struct "t . <~!4 t!3 t*2> ~")
  $ fix (|* gain (range 0.5 1.2 "^50")) "808bd:3"
  $ fix (|* gain 1.15) "808bd:5"
  $ fix (
    (|* gain (range 0.5 1.2 "^30"))
    . (# att 0.01) . (# rel 2)
    ) "909"
  $ "kick"
  # "[jazz,808bd:3,808bd:5,909]"
  # midiG' "^78" 0 1.1
d2 $ g -- CP/Snare Contretemps
  $ mask "<f!8 t!24>"
  $ "~ cp ~ cp"
  # "[clap:1,ab:11]"
  # lpf (slow 16 $ range 4000 200 saw)
  # midiG' "^79" 0 0.9
d4 $ g -- ELECTRIC bass
  $ midiOn "^89" (chop 4)
  $ midiOn "^57" ((sometimesBy "f t" rev) . chop 8)
  $ "90s_matrix:3"
  # cut 4
  # midiG' "^81" 0 0.65
  # pan 0.666
  # crushbus 41 (range 16 1.5 "^53")
d5 $ g
  $ mask "<f!32 t!32>"
  $ superimpose ((# cut 51)
  . (# crushbus 51 (range 16 1.5 "^54")))
  $ "90s_glassatm:3"
  # cut 5
  # midiG' "^82" 0 0.5
d6 $ g2 . g3 -- Nice Hats
  -- $ mask "<f!8 t!24>"
  $ "ab:6 . ~!3 <~!3 <ab:0 ~>>"
  # cut 6
  # pan 0.25
  # midiG' "^80" 0 1
d7 $ g3
  $ whenmod 4 3 (juxBy 0.3 ((# cut 71) .
    (# crushbus 71 (range 8.5 3.5 saw))))
  $ "90s_glassatm:2" -- Ambient glass
  # cut 7
  # midiG' "^83" 0 0.65
  # pan 0.8
d8  -- DUSTY BREAKS
  $ g3
  $ loopAt 4
  $ midiOn "^92" (ply 2)
  $ sometimesBy "^36" (iter 4)
  $ slice 16 (run 16)
  $ "break:13"
  # pan 0.45
  # crushbus 81 (range 16 1.5 "^56")
  # midiG' "^84" 0 1
  # cut 8


  -- Merci :)
  -- À bientôt .-)
