blue_impro.tidal 1.42 KB
-- Blue Impro: Techno piano blues impro
-- Tags:
-- Ready: 4/10
do
  solo 1
  solo 2
  solo 3
  solo 4
  setcps (130/60/4)
  let scale = getScale (scaleTable ++ [("blues", [0, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12])])
  d1
    $ whenmod 16 12 (# silence)
    $ whenmod 8 6 (# silence)
    $ note "0 0 0 -2" # s "kick:5"
    # gain 0.45
    # lpf (slow 8 $ range 20 2000 rand)
  d2 -- Les hats de gretscha
    $ (# cut 2) . (# pan 0.6)
    $ whenmod 32 16 (-- break!
      const $ mask "t(<0!16 1!4 2!4 6!4 8!4>,8)"
      $ splice 8 "<0!3 4> 1 2 3 4 5 6 7" $ s "break:1"
      # gain 0.6
    )
    $ n "<4!2 5!2>(<[5,1]!3 <8!3 1>>,8,[0,3])"
    # s "gretsch"
    # gain (slow 64 $ range 0.4 0.7 saw)
  d3 -- Drumroll fantome
    $ every' 4 3 (fast "<4!3 [4 8]>") . (|+ gain 0.1)
    $ n "1*4" # s "ifdrums" # gain 0.6
  d4
    $ whenmod 64 48 (degradeBy "0 0.9")
    $ whenmod 64 32 (someCyclesBy "0 0.5" (fast 2))
    $ superimpose ( -- Main gauche!
        off "[0.5,0.75?]" id
        . stut "[4]" 0.75 (1/12)
        . mask "t(1,8)"
        . (|+ note ("[0, 12]" - 24))
        . (|- velocity (range 0.1 0.25 rand))
        . (# sustain 1)
        . (# pan 0.35)
    )
    $ whenmod 8 6 (degrade . (# sustain 1))
    $ rarely (off 0.125 (|- gain 0.15))
    $ often (off "[0.375?,0.25]" (|- gain 0.1))
    $ note (scale "blues" "[0|12] [1|5] <2 [6|7|8]>")
    # s "superpiano" # velocity 0.5
    # pan 0.4
    # sustain "0.45 <0.5 0.25>"
    # gain 0.8