
setcps (90/60/4)
-- Hello Twitch :)

-- Nous sommes le 21 Juin 2021
-- C'est la Fête de la Musique
-- Nous sommes en live :)

-- Ce soir, je découvre les samples avec vous
-- Il s'agit du pack Modern Roots Reggae : https://freesound.org/people/zuluonedrop/packs/17834/?page=4#sound
-- Détails en description après le live ;)
-- Petits réglages sonores...
-- On commence
-- Je connecte maintenant le code qui produit les sons
-- À un controleur qui va permettre d'envoyer des paramètres
-- Permettant ainsi de controller le code en live :)
do
let gDJF = (# djfbus 1 (range 0.05 0.95 "^49"))
let g = gDJF

d1 $ fast 4 $ "drum"

d1 $ g
  -- FIXME(#94) d1 drives more controls than the grid gives it (BT1 only — BL1-3 are the family mutes). ^41 now belongs to another orbit, so this step STILL FIRES ACROSS COLUMNS — turning ^41 for its new owner also moves this. NOT commented out: this is a `$`-step and something above it is a partial application waiting for it, so removing it would stop the whole block compiling. Fold it onto d1's own control with gSel.
  $ midiOn "^41" (fast 2)
  $ midiOn "^41" (<| "k k k <k k*2 k [~ k]>")
  $ midiOff "^41" (<| "k ~ ~ <~!3 k>. k ~ <~ k> <k ~>")-- RubADub+adjustements
  $ "[jazz,rootsDrums:0]"
  # midiG' "^78" 0 1.1
d2 $ g
  $ midiOn ("^42"+"^75") (superimpose (slice 8 ("0*4 1 1*4 3 4 5 6*2 7")
  . (loopAt 1)
  . (>| "breaks165")
  . (|* gain 0.7)
  ))
  $ fast "<1 [4!3 8]>" "~ s"
  # "snare:20"
  # note (range "-8" 8 "^51")
  # midiG' "^79" 0 0.9
  # room 0.3
  # dry 0.98
  # sz 0.5
d10 $ g  -- Drumroll bonus <3
  $ whenmod 32 16 (degradeBy 0.25)
  $ midiOn "^42" (fast 2)
  $ midiOn "^44" (slow 2)
  $ fast (2 * "<8 8 4 8> 8 . 16 [8 32]")
  $ "dr"
  # midiG' "^79" 0 1.1
d3 -- Running Hats
  $ g
  -- $ degradeBy ("1 0 0 1!13" - "^52")
  $ midiOn "^43" (slow 2)
  -- FIXME(#94) d3 drives more controls than the grid gives it (BT3 only — BL1-3 are the family mutes). ^76 now belongs to another orbit, so this step STILL FIRES ACROSS COLUMNS — turning ^76 for its new owner also moves this. NOT commented out: this is a `$`-step and something above it is a partial application waiting for it, so removing it would stop the whole block compiling. Fold it onto d3's own control with gSel.
  -- FIXME(#94) d3 drives more controls than the grid gives it (BT3 only — BL1-3 are the family mutes). ^76 now belongs to another orbit, so this step STILL FIRES ACROSS COLUMNS — turning ^76 for its new owner also moves this. NOT commented out: this is a `$`-step and something above it is a partial application waiting for it, so removing it would stop the whole block compiling. Fold it onto d3's own control with gSel.
  $ midiOn "^76" (fast 2)
  $ sometimesBy "0 . 0!3 0.95" (ply "<2 [2|4]>")
  $ "hh*[8 . 8 <16 8 4 [4 8]>]"
  -- # n "[0|0|0|0|1|1|3|3]*8"
  # midiG' "^80" 0 1.2
  # pan 0.6
  # cut 3
d4 -- Bassline
  $ g
  $ "rootsBass:3"
  # crushbus 41 (range 16 1.5 "^32")
  # midiG' "^81" 0 0.8
  # pan 0.3
d5 $ g -- Guitar
  $ slice 4 "0 3 0*<1!4 2 2 1 2> 2*<1!3 4>"
  $ "rootsGuitar:3"
  # cut 5 # gain 0.9
  # midiG' "^82" 0 1
  # hpf (slow 16 $ range 0 2000 sine)
d7 $ g-- Trompettes en retard
    $ fast "4 8"
    $ slice 4 "<0 1 2 3>"
    $ "rootsTrump:8" -- ritournelle
    # cut 7
    # midiG' "^35" 0 0.6
    # pan 0.6
  # cut 3
d8 $ g -- Trombone Pensif
    $ fast ("<4 [4 <2!3 8>]>" * "<0.25!8 1!8 2!8 2!8>")
    $ slice 4 "<1? 1 0 1?>"
    $ "rootsTromb:1"
    # cut 4
    # midiG' "^36" 0 0.65
    # room 0.3
    # crushbus 41 (range 16 1.25 "^56")
    # cut 8
    # pan 0.8
d6 $ g -- Piano contretemps reggae!
  $ superimpose (
      (# cut 61)
      . mask "t(16,32)"
      . (|+ note 12)
  )
  $ midiOn "^58" (slow 4 . mask "t(8,16)") -- 59: Slow and delayed
  $ midiOn "^58" ((# delay 0.25) . (# delayfb "<0.5!3 0.8>") . (|* gain 0.9))
  $ n ("~ 1 ~ <1 <[~ 1] 1?>> ~ <0!3 [0 1]> ~ 0*<1!6 2 <4 [4 8]>>"
  + "<0!3 [-1 1]>"
  )
  # "rootsPiano" -- Let's reboot this line
  # gain 0.5
  # cut 6
  # room 0.6
  # sz 0.5
  # midiG' "^83" 0 1
d9 $ g -- Mix Drums :)
  $ juxBy 0.25 rev -- For all the Tidalers out there :P
  $ midiOn "^60" (fast 2)
  $ midiOn "^92" (fast 2)
  $ slice 8 "0 1 2 3 <4 0> <5 1>*2 6 7*<1 <2 4>>"
  $ "rootsMix/2"
  # cut 9
  # pan ((slow 4 sine) + (perlin/8)) -- Random locations :)
  # midiG' "^84" 0 0.8
d11 $ g -- Final saxes
  $ slow "<4!4 2!2 1 <1 2>>"
  $ n "<9 10> . <~!8 10!8>" # "rootsSaxes"
  # cut 8
  # crushbus 110 (range 16 4 "^19")
  # midiG' "^20" 0 0.8

-- C'est fini pour ce live-coding from scratch :)

-- Je vous propose une dernière pour la route :
-- Un précédent livecoding de Dub qui n'a encore jamais été diffusé ;)#
-- Computer Riddim :



d6
  $ degradeBy "0 0.4!7 .  0.8!3 0.1"
  $ often rev
  $ slice 8 (run 8)
  $ slow 2
  $ "rootsMix"
  # n "<1 2>"
  # cut 6
  # gain 0.2






onc


-- region Study


-- rootsBass (4)
-- rootsDrums (12)
-- rootsGuitar (8)
-- rootsMix (6)
-- rootsPiano (4)
-- rootsSaxes (11)
-- rootsTromb (10)
-- rootsTrump (9)

o



d1
  $ slow 2
  $ "rootsMix"
  # n "<0 1 2 3 4 5>"
  # cut 1
  # gain 0.6

  once $ "rootsTrump:8" -- ritournelle
    # cut 4 # gain 0.6

-- 0 Long low end riff -- INTRO
-- 1 Short low
-- 2 Short *2 high echo cocotte tension
-- 6 Short *2 high echo cocotte resolution
-- 7 Long 2/6/2/6/2/6/2/6
-- 3 Short low riff
-- 4 Short low
-- 5 Long low -- INTRO
once $ "rootsGuitar:8"
    # cut 4 # gain 0.6



-- 1 Short aigu tendu
-- 2 Short aigu conclu
-- 3 Long 1-2-1-2-1-2-1-2 aigu
-- 0 Long 1-2-1-2-1-2-1-2 mid
once $ "rootsPiano:0"
  # cut 2
  # gain 0.6

once $ "rootsTromb:8"
  # cut 4 # gain 0.46

once $ "rootsSaxes:<9 10>"
  # cut 4 # gain 0.6

-- BASS
once $ "rootsBass:3"
  # cut 3



-- Reorder mixes?
