-- Harder crime: Tidal crime variations with Raph (WIP)

resetCycles

once $ "dr" # gain 2

d8
  $ struct "t(5,8)"
  $ arp "up"
  $ note "<f'maj7 g'sus4 a4'min7 e'min7>"
  # "bassWarsaw"
  # gain 0.8 # crush 4 # room 0.34
  # octave 3

do
-- region Nova Utils
let gFactor = 1.2
let gG a = (gain (gFactor * "^77" * a)) -- gain Global
let gM' l h a = (gG (range l h a)) -- gain Modéré
let gM a = (gM' 0.2 0.8 a) -- gain Modéré doux
let gLPF = (# lpf (min 10000 ((range 200 20000 ("^49")))))
let gHPF = (# hpf (max 0 (min 7500 ((range "-7500" 7500 ("^49"))))))
let gDJF = (gLPF . gHPF)
let novaOn  ch pat = (someCyclesBy ch pat)
let novaOff ch pat = someCyclesBy (1 - ch) pat
-- endregion Nova Utils
let sawHarmonic = pF "sawHarmonic"
let mix = pF "mix"
let modIndex = pF "modIndex" -- 0.2
let g = gDJF
let gMix = ((# mix (range 0 20 "^53")) . (|* gain (range 1 0.7 "^53")))
let gMod = ((# modIndex (range 0.2 100 "^33")) . (|* gain (range 1 0.6 "^33")))
let gP = (gMix . gMod)
let keyboard = "FMRhodes1"
let pkey = "<f'maj7'1 g'sus4'1 a4'min7'1 e'min7'1>"
let prog = "<f'maj7 g'sus4 a4'min7 e'min7>"
setcps (110/60/4)
d1 $ g
  -- $ mask "<<f!4 t f!3> t!12 f!4 t f!3 t!8>"
  $ novaOff "^42" (<|"k . ~ k ~ ~")
  $ novaOn "^42" (<| "k k k <k!3 k*2>")
  $ "[jazz,cpu2]"
  # lpf 4000
  # gM' 0 0.9 "^78"
d2 $ g
  $ whenmod 16 8 (-- clap
    superimpose ((# "clap") . (# lpf 200) . (# note "-0")
    . (|* gain "<0.85 0.9 1!6>"))
  )
  $ novaOn "^42"  (<| "~ s ~ s*2")
  $ novaOff "^42" (<| "~ s ~ s")
  $ "sn:20"
  # lpf 2000
  # gM' 0.2 0.9 "^79"
d3 $ g
  $ novaOn ("^76") --BOUTON NASSIM
  (slice 8 ("<[0 .. 7]!3 [0 1 2 ~ . 0 1 2 ~]>") . (loopAt 1)
  . (>| "breaks125") . (|* gain 1.35)
  )
  $ novaOff "^76" (|* gain (slow 16 $ range 0.7 1 saw))
  $ "d d d d d d d*2 d"
  # "[drum:2,amencutup:5]"
  # gM' 0 0.75 "^80"
  # pan (slow 16 $ range 0.1 0.9 sine)
  # room 0.2 # dry 0.99
d4 $ g $ gP -- Gauche
  $ mask "<f!4 t!12 f!8 t!8>" -- TODO NOVA
  $ struct "t . ~ t"
  $ note (arp "updown" prog)
  # keyboard
  # gM' 0 1.2 ("^81" * range 0.8 1 sine)
  # pan 0.45
d5 $ g $ gP -- Droite 2/3
  $ whenmod 16 10 (-- TODO NOVA
    superimpose (const
    $ struct "[t t t ~] [t ~ . t] . ~"
    $ note (slow 4 $ prog)
    # keyboard
    # pan 0.65
    # gM' 0 1 "^81"
  ))
  $ mask "<f!6 t!10 t!8 f!4 t!4>" -- TODO NOVA
  $ struct "<t [t t t ~] t t> . ~ <[t t][t t t]>"
  $ note (slow 2 $ iter 4 $ prog)
  # keyboard
  # pan 0.55
  # gM' 0 0.9 "^81"
d6 $ g -- Horloge
  $ fast 8
  $ note "<0 -2>"
  # "drum:2"
  # hpf 5000
  # hpq 0.3
  # room 0.1 # dry 0.98
  # gain ("^80" * 0.45)
d7 $ g
  -- $ mask "<f!8 t!8>"
  $ (|> note (prog))
  $ note "[gs5 g5 gs5 ~] [g5 ~ . <gs5 as5>] . <~ ~ [<g5 ~> ~ . <gs5 ~>] [~ as5]> ~"
  # "strings"
  # sawHarmonic 1.9
  # pan 0.1
  # mix 0.8
  # gM' 0 0.8 "^83"
  # room 0.2
d8 $ g
  $ novaOn "^90" (chop 16)
  $ novaOn "^58" (+ note (slow 4 "<0 12>"))
  $ note (pkey)
  # "bassWarsaw"
  # octave 3
  # voice (range 0.1 2 "^34")
  # room 0.6 # sz 0.2
  # gM' 0.4 1 "^82"
  # crush (range 10 3.6 "^54")
