resetCycles


-- Invoque l'été
-- Il ne viendra pas tout seul ;)
do
setcps (115/60/4)
let gMask = (midiOn "^41" (mask "t f . f <f!4 t!4> <f!2 t!6> t"))
let gMute = (midiOn "^73" (mask "f*16"))
let gMute2 = (midiOn "^74" (mask "f*16"))
let gMute3 = (midiOn "^75" (mask "f*16"))
let gM1 = gMask . gMute
let gM2 = gMask . gMute2
let gM3 = gMask . gMute3
d1 $ gM2 $ gF1
  $ midiOn  "^42" (<| "k k k <k k k*2 [~ k]>")
  $ midiOff "^42" (<| "k*2")
  $ "[jazz,kick:5]"
  # gain 1.4
d2 $ gM1 $ gF1 -- Clave de l'été
  $ midiOn "^43" (fast 2)
  $ midiOn ("^75"-"^43") (fast 2)
  $ (|* gain ("0.75 1 1 1 0.75 1 1 1"))
  $ "d ~ ~ d d ~ d <~!3 d>"
  -- $ "d"
  # "[snare:22,sn:4]"
  # speed (range 0 2 "^31")
  # gain 1.4
d3 $ gF1 $ gM1 -- L'inoubliable drumroll
  $ fix (
    mask "<f!24 t!3 f t t [t f] t>"
    . (|* gain (slow 16 $ range 0.6 1.2 sine))
    . someCyclesBy "0 0.2 0.4 0.4 0.2 0" (|* gain 0.8)
    . struct "t(3,8) t(3,8)"
    )
    "electro1"
  $ "dr*[[8 8 <8 <16 [16 32]>> 8] <8!3 [16 <16 32 [16 8] [16 32]>]>]"
  # "[drum:2,electro1:2]"
  # gain 1.4
d4 $ gF2 $ gM3 -- Bassline variable double piste
  $ loopAt 2
  $ slice 8 (run "<4!4 8 8 [4 8 4] [8 4 8]>")
  $ midiOn ("^57" + "^89") (# n 14)
  $ "fbass:13"
  # pan 0.2
  # crushbus 51 (range 16 4.5 "^53")
  # roombus 52 (range 0 0.8 "^33") # sz 0.5
  # gain 1.2
  # cut 4
d5 $ gF3 $ gM3 -- Douce guitare juxée
  $ midiOn "^90" (ply "2")
  $ chop 16
  -- $ whenmod 32 16 (juxBy 0.85 ((# cut 31) . rev . (|* gain 0.93)))
  -- $ whenmod 16 12 (rev)
  $ whenmod 8 4 (chop 4)
  $ loopAt 4
  $ midiOn "^58" (# n 13)
  $ "fguitar:12"
  # release (range 2 0.15 "^34")
  # crushbus 61 (range 16 1.4 "^54")
  # pan 0.8
  # room 0.2 # dry 1
  # cut 3
  # gain 1.5
d7 $ gF3 $ gMute3
  $ midiOn "^35" (mask "t f" . (chop 4))
  $ superimpose ((# cut 71) . (# crushbus 71 (range 16 2.5 "^55")))
  $ loopAt 4
  $ mask "t(<4 8 12 16>,16)"
  $ midiOn "^59" (slice 16 (run "<16!8 32!4 [32 <8 [8 32]>]!4>"))
  $ midiOff "^59" (slice 16 (run 16))
  $ "fpiano:13"
  # pan 0.45
  # cut 7
  # octersub 0.5
  # gain 1.4
d8 $ gF1 $ gM1 -- Mecano Course Break
  $ chop 8
  $ midiOn "^36" (|> "jungle_breaks:102")
  $ midiOn ("^60" - "^92")  (slice 16 ("0*<1 2> 1 2 3*<2 1>"))
  $ midiOn "^92"  (slice 8 (run 16) . chop 16 . (|* speed 2) . (>| "breaks165"))
  $ loopAt 2
  $ "breaks125:3"
  # gain 1.8
  # cut 8
d11 $ gF2 $ gM2 -- Synth Angel Bassline
    $ note ("<a3'maj g3'maj a3'min d3'maj>" + "0*<4 [4 16]>" + 0)
    # octave 4
    # room 0.24
    # "90s_synatm:8"
    # pan 0.4
d9 $ gF3 $ gMute3 -- Angels of moogland
  $ midiOn "^16" ((|* gain 0.85) .(|+ note 24))
  $ midiOn "^17" (
  superimpose (
    struct "t(5,8)"
    . arp "[down,up]"
    . (|+ note 12)
    . (|- pan 0.1)
  ))
  $ note ("<a3'maj g3'maj a3'min d3'maj>" + "0*<4 [4 16]>" + 0)
  # octave 4
  # room 0.24
  # "moogBass"
  # pan 0.4
  # crushbus 91 (range 16 1.4 "^19") -- Even an angel can fall in love
  # roombus  92 (range 0 1.4 "^18") -- Love can expand faraway
  -- # octersubbus 93 (range 0 2 "^17") -- Love can expand faraway
  # fshift "<0!4 1!4>"
  # fshiftnote "-5"


-- Sandbox

-- TODO Manual scratcher? FIXME Too manual?
d9 $ f1 $ m
  $ degradeBy (slow 16 $ range 0.8 0.2 saw)
  $ struct "t(3,8) [<t!3 [~ t]> <t ~> <t t*2> <t*2 t t*2 t*2>]"
  $ midiOn "^59" (# speed (range 0.25 2 ("^55" + perlin)))
  $ midiOff "^59" (# speed
    (segment 16 $ fast 2 $ range 0.25 1.2 (perlin + (slow 8 $ sine)))
  )
  $ "hh:3"
  # lpq (range 0 0.2 "^35")
  # midiG' "^19" 0 1.7
