From 3d541bfb6fe55c11d5819afdcdd9f222fce0036a Mon Sep 17 00:00:00 2001
From: Paul-Louis NECH <pln@algolia.com>
Date: Wed, 21 Apr 2021 23:48:18 +0200
Subject: [PATCH] live: phunk

---
 live/collab/Sexes/julien.tidal               |  87 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 live/fusion/elephunk.tidal                   |  74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 live/midi/nova/FFF/grace.tidal               |   2 +-
 live/midi/nova/FFF/pray.tidal                |  28 +++++++++++++++-------------
 live/midi/nova/breaks/break_90s.tidal        |   4 ++--
 live/midi/nova/breaks/break_low.tidal        |   2 +-
 live/midi/nova/breaks/slower.tidal           |  10 +++++-----
 live/midi/nova/lofi/dark_money.tidal         |   8 ++++----
 live/midi/nova/lofi/new_dust.tidal           |   8 ++++----
 live/midi/nova/lounge/invoque_ete.tidal      |  13 ++++---------
 live/midi/nova/minneapolis.tidal             |   2 +-
 live/midi/nova/party/dark_angel_frappe.tidal |  72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 live/midi/nova/party/electro_blues.tidal     |  61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 live/midi/nova/party/technomidi.tidal        | 114 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 live/remix/day_trippin.tidal                 |  41 +++++++++++++++++++++++++++++++++++++++++
 15 files changed, 486 insertions(+), 40 deletions(-)
 create mode 100644 live/collab/Sexes/julien.tidal
 create mode 100644 live/fusion/elephunk.tidal
 create mode 100644 live/midi/nova/party/dark_angel_frappe.tidal
 create mode 100644 live/midi/nova/party/electro_blues.tidal
 create mode 100644 live/midi/nova/party/technomidi.tidal
 create mode 100644 live/remix/day_trippin.tidal

diff --git a/live/collab/Sexes/julien.tidal b/live/collab/Sexes/julien.tidal
new file mode 100644
index 0000000..79d5de1
--- /dev/null
+++ b/live/collab/Sexes/julien.tidal
@@ -0,0 +1,87 @@
+
+setcps (60/60) -- One pattern per second
+
+-- Intro -- Rouge -- Blanc -- Generique -- FIN
+-- 0        68       131      143          166
+do
+-- resetCycles
+let intro = (mask "<f!2 t!164>")
+let fromVelo = (mask "<f!6 t!160>")
+let fromSophie = (mask "<f!11 [f t] t!154>")
+let gain amount = (gain (amount * 1.5))
+d1 $ intro
+  $ someCyclesBy "<0!36 1!6 0!2 1!2 0!3 1!2 0!6 2!12 0!90>" (fast 4) -- Rouge
+  $ superimpose ((# "reverbkick") . (# hpf 200) . (|* gain 0.7) .(# legato "<1!4 <q!3 e>!4>"))
+  $ "jazz" # gain 0.5
+  -- # lpf 200
+d2
+  $ "<d*4!4 [d [d*[1|2]]!2 d]!4 d*8!3 d*[8 16] d*[16 8]!2 d*16 d*[16 . 8 0]>"
+  # "drum:2"
+  # pan 0.35
+  # gain 0.6
+d3 $ intro
+  $ whenmod 4 3 (hurry "1 . 1 2")
+  $ whenmod 4 2 (off "q" id)
+  $ "break:10" # gain 0.5 # cut 3 -- Runner
+d4
+  $ intro
+  $ fromVelo
+  $ superimpose ( -- Arps aigus
+    fromSophie . sometimesBy 1 (ply "1 <1 2 4 8>")
+    . struct ("t . t(<3!3 <5 [3 5]>>,8)")
+    . arp "<up!3 down>"
+    . (|+ note 12)
+    . (|* gain 0.9)
+    . (|+ pan 0.1)
+  )
+  $ note "<b'min7 <a'maj7 d'maj7>>"
+  # "<FMRhodes1!8 FMRhodes2!8>"
+  # octave 4
+  # pan 0.4
+  # gain 0.6
+d5 -- RESONANT BASSLINE from Angel frappe
+  $ fromSophie
+  $ note "b2!6 <bs2!3 <a2 g2>> b2"
+  # "supersaw"
+  -- # gM' 0 1 "^81"
+  # hpq (slow 24 $ range 0 0.25 perlin)
+  # hpf (slow 64 $ range "-500" 500 sine)
+  # room 0.5 # sz 0.8
+  # gain 0.35
+
+d10 -- Metronome timings
+  -- $ every' 166 25 ((<| "a*2") . (# note "a'maj'2") . (# gain 0.8))
+  $ every' 166 35 ((>| note "f(5,8)") . (# gain 0.8)) -- Moon, bientot rouge
+  $ every' 166 32 ((<| "a*4") . (# note (arpeggiate "a4'maj'4")) . (# gain 0.8)) -- Hercule
+  $ every' 166 30 ((>| note "f(5,8)") . (# gain 0.8)) --  Eau ACF
+  $ every' 166 15 ((# note "g") . (# gain 0.8)) -- Piece?
+  $ every' 166 11 ((>| note "f(5,8)") . (# gain 0.8)) -- 1 Fin couple, 2-5 Sophie
+  $ every' 166 5 ((>| note "c*8") . (# gain 0.8)) -- 1-6 Fin bouche, miroir 7 8
+  -- $ every' 166 9 ((# note "d") . (# gain 0.8)) -- Vetement
+  -- $ every' 166 7 ((>| note "~ e ~ e*4") . (# gain 0.8)) -- Mains
+  -- $ every' 166 6 ((>| note "~ ~ ~ d") . (# gain 0.8)) -- Velo
+  -- $ every' 166 5 ((>| note "c*4") . (# gain 0.8)) -- Oreille
+  -- $ every' 166 3 ((>| note "b(3,8)") . (# gain 0.8)) -- Main
+  $ every' 166 1 ((>| note (arpeggiate "a'maj'4")) . (# gain 0.8)) -- CLAP
+  $ note "a" # "arpy" # gain 0
+
+
+-- MATIERE PREMIERE
+
+-- BREAKS
+do
+d2
+  $ "break:16" # gain 0.5 # cut 2 -- Metronome
+
+once $ "break:12" # gain 0.5 # cut 1 -- Afro-sweat
+
+once $ "break:11" # gain 0.5 # cut 1 -- HEAVY
+
+once $ "break:9" # gain 0.5 # cut 1 -- cloche
+
+once $ "break:4" # gain 0.5 # cut 1 -- coin
+
+
+
+
+once $ "dr" # cut 1
diff --git a/live/fusion/elephunk.tidal b/live/fusion/elephunk.tidal
new file mode 100644
index 0000000..a266ecf
--- /dev/null
+++ b/live/fusion/elephunk.tidal
@@ -0,0 +1,74 @@
+do
+-- resetCycles
+setcps (92/60/4)
+let gFadeIntro = someCyclesBy "<t!8 f!56>" (|* gain (slow 8 $ range 0 1 saw))
+let patFunk = "ds gf f <bf4!3 bf>"
+let gDJF = whenmod 32 24 (# djf (slow 8 $ range 0.5 0.15 saw))
+let gPont = whenmod 64 32 (mask "<f!6 t!26>")
+let g = (gDJF)
+d1 $ g $ gFadeIntro $ gPont
+  $ mask "<f!4 t!60>"
+  $ "[bd,jazz]*4" # room 0.1
+  # gain 0.45
+d2 $ g $ gFadeIntro $ gPont $ mask "<t(1,2)!4 t!60>"
+  $ "~ c ~ c" # "[clap]" # gain 0.4
+d3 $ g $ gPont
+  -- $ mask "<f!8 t!24>"
+  $ (
+    mask "t . t t(2,4)"
+    . sometimesBy "0 . <0 1>" (ply "2 . [2|1]*4"))
+  $ "gretsch:4*16"
+  # pan 0.25
+  # gain (0.35 + 0.1 * (segment 8 perlin))
+d4 $ g
+  $ mask "<f!4 t!28>"
+  $ note patFunk
+  # "bass3"
+  # pan 0.2
+  # gain 0.5
+d5 $ g
+  $ whenmod 8 4 (juxBy 0.8 (mask "f t" . ply 2))
+  $ note patFunk
+  # "pluck"
+  # room 0.6
+  # sz 0.8
+  # gain 0.35
+
+
+d6 $ g -- Final guitare rita
+  $ whenmod 64 48 (# gain 0.25)
+  $ slice 16 "0 . 1 <~ 1 2>"
+  $ loopAt 6
+  $ "rita:0"
+  # gain 0
+  # cut 6
+  # hpf 400
+d7 -- Bonus breaks
+  $ mask "<f!4 t!4 f!8 t(<4!8 [4 8]!4 8!4>,16)!16 t!3 [t f t f] t!28>"
+  $ slice 8 "0 1*<1!5 2!3> 2 3 . 0 .. <<3 1>!4 7!3 3>"
+  $ "breaks165"
+  # pan 0.75
+  # cut 7
+  # gain (slow 8 $ range 0.35 0.45 saw)
+  # room 0.2
+  # hpf 100
+d8 $ g -- Organic madness
+  $ mask "<f!7 t f!4 t f!19 t!3 f t!28>"
+  $ sometimesBy (slow 4 saw) (ply 2)
+  $ chop 4
+  $ someCyclesBy "<0!32 1!4 0!28>" (|* gain (slow 4 $ range 0.5 1 saw))
+  -- $ mask "<f!32 t!32>"
+  $ "forgan:14"
+  # lpf 1000
+  # gain 0.3 * "<1!7 0.95 0.9!7 0.85>"
+  # cut 8
+d10 -- F-U-N-K
+  $ mask "<f!8 t!24>"
+  $ degradeBy "0 <0.5 0.45 0.35 0.3 0.25 0.2 0.15>!7 <1!3 0>"
+  $ whenmod 64 48 (swing "<6!8 [3 4]!8>")
+  $ someCyclesBy "<1!48 0!16>" (ply "<1 <2 [4 2]>>")
+  $ n "5 20 13 10"
+  # "alphabet"
+  # release 0.8
+  # gain (slow 32 $ range 0.2 0.34 cosine)
+  # pan "<0.1!4 0.9!4>"
diff --git a/live/midi/nova/FFF/grace.tidal b/live/midi/nova/FFF/grace.tidal
index a073c72..aed86c6 100644
--- a/live/midi/nova/FFF/grace.tidal
+++ b/live/midi/nova/FFF/grace.tidal
@@ -21,7 +21,7 @@ d1 -- Kick regulier degradé
       -- sometimesBy "<0!2 0.25 [0.25 0.5]>" (fast 2 . degradeBy 0.2))
   -- $ whenmod 8 6 (# lpf 200)
   $ "k k k <k k*[1|2|3|4]>"
-  # "[kick:5,house]"
+  # "[kick:5,house,jazz]"
   # note 2
   # gM' 0 1.4 "^78"
 d2 -- Cymbales gravitantes
diff --git a/live/midi/nova/FFF/pray.tidal b/live/midi/nova/FFF/pray.tidal
index 3c77c17..e66fec3 100644
--- a/live/midi/nova/FFF/pray.tidal
+++ b/live/midi/nova/FFF/pray.tidal
@@ -1,3 +1,7 @@
+import Sound.Tidal.ParVagues.Control
+
+setcps 0.5
+
 setcps 0
 
 -- Pray the Funk: choeurs laudatifs
@@ -8,17 +12,13 @@ do
 let gG a = (gain ("^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 gDJF = (midiDJF "^49" 200 9800 0 1000)
 let novaOn  ch pat = (someCyclesBy ch pat)
 let novaOff ch pat = someCyclesBy (1 - ch) (pat)
 let g = (gDJF)
-setcps (60/60/4)
-d1 $ g
-  -- KICK
-  $ whenmod 8 6 (# silence)
-  -- $ novaOn "^74" (mask "t(11,12)" . fast "<2!6 4 2>") -- Folie
+d1 $ g  -- KICK
+  -- $ whenmod 8 6 (# silence)
+  $ novaOn "^74" (mask "t(11,12)" . fast "<2!6 4 2>") -- Folie
   $ novaOn "^42" (<| "k*<1!8 2!8> . k(<0 1 0 1 3 5 5 8>,8,<0!3 2>)") -- L'annonce
   $ novaOff "^42" (<| "k(<1 [1|2|5]>,8) . k(<3 5>,8)") -- Le classique
   $ "reverbkick"
@@ -26,6 +26,7 @@ d1 $ g
   # pan 0.4
   # gM' 0.2 1.5 "^78"
 d4 $ g -- BREAKBEAT
+  $ degradeBy "^51"
   $ someCyclesBy "^74" -- Intro
   (slice 8 "0 4")
   $ someCyclesBy "^75" -- Laggy
@@ -57,14 +58,15 @@ d5 -- Fragments of Wiley
   $ (# lpf (range 5000 200 "^54"))
   $ g
   $ novaOn "^90" (segment "<2 [2 4] [4 8] [16 32]>")
-  $ novaOn "^58" (slow 4)
+  $ novaOn  "^58" (slow 16)
+  $ novaOff "^58" (slow 4)
   $ "pray" -- TODO INTRO then /4
   # crush (range 10 2.5 "^54")
   # n "<0!4 1!8>"
   # cut 5
   # pan 0.8
   # gM' 0 1.5 "^82"
-d6
+d6 -- TODO Rework
   $ superimpose (arp "<up!2 down up>" . fast 2 . (|- note 12))
   $ note ("[e3,<~ gs4!2 b4>,e4] [fs3,fs4]")
   # "FMRhodes1"
@@ -72,9 +74,9 @@ d6
   # amp (range 0.4 0.8 "^81")
   # gM' 0.8 1.6 "^81"
 d7 $ g
-  $ fast 2
-  $ whenmod 32 16 (whenmod 4 3 (ply "<2 3 [2 4] [3 2]>"))
-  $ whenmod 16 8 (every' 4 0 (off "-0.125" id))
+  $ midiOn "^91" (ply 2)
+  $ midiOn "^59" (fast 2)
   $ s "~ clap"
   # room 0.5 # size 0.4 # dry 0.95
+  # note (range "-6" 6 "^55")
   # gM' 0 1.6 "^83"
diff --git a/live/midi/nova/breaks/break_90s.tidal b/live/midi/nova/breaks/break_90s.tidal
index 10861ba..0b222f7 100644
--- a/live/midi/nova/breaks/break_90s.tidal
+++ b/live/midi/nova/breaks/break_90s.tidal
@@ -8,9 +8,9 @@ resetCycles
 
 -- Break90s∷ :)
 do
-let gF = (whenmod 16 12 (# djf (slow 4 $ range 0 0.5 sine)))
+-- let gF = (whenmod 32 28 (# djf (slow 4 $ range 0 0.5 sine)))
 let gDJF = (midiDJF "^49" 0 10000 0 10000)
-let g = (gF . gDJF)
+let g = (gDJF)
 d1
   $ g
   $ midiOn "^41" (superimpose (# "kick:5")
diff --git a/live/midi/nova/breaks/break_low.tidal b/live/midi/nova/breaks/break_low.tidal
index 01308b0..167b84b 100644
--- a/live/midi/nova/breaks/break_low.tidal
+++ b/live/midi/nova/breaks/break_low.tidal
@@ -62,7 +62,7 @@ d6 $ g
   # modIndex "[0,5]"
   # "FMRhodes1"
   # crush (range 10 4.8 "^54")
-  # midiG' "^82" 0 1.4
+  # midiG' "^82" 0 1.4\
 d7 $ g
   -- $ slice 8 ("7*4")
   $ note "<<c'min c'six> c'min7>"
diff --git a/live/midi/nova/breaks/slower.tidal b/live/midi/nova/breaks/slower.tidal
index 4a99b8f..6757d37 100644
--- a/live/midi/nova/breaks/slower.tidal
+++ b/live/midi/nova/breaks/slower.tidal
@@ -5,8 +5,8 @@ setcps (80/60/4)
 resetCycles
 
 do
-let gF = (whenmod 32 28 (# djf (slow 4 $ range 0.1 0.5 sine)))
-let gDJF = (midiDJF "^49" 200 9800 0 1000)
+let gF = (whenmod 32 24 (# djf (slow 8 $ range 0.1 0.5 sine)))
+let gDJF = (midiDJF "^49" 200 9800 0 200)
 let gFreqL = (# lpq (range 0 0.25 "^29"))
 let gFreqH = (# hpq (range 0 0.25 "^30"))
 let gFreqs = (gFreqH . gFreqL)
@@ -44,7 +44,7 @@ d4 -- Bassline
         + "0(5,8)" |+ "0 7"
         + 12
       ))
-      . (|* gain (1 - (0.1 * "^53")))
+      . (|* gain (0.95 - (0.1 * "^53")))
       . (# crush (range 12 1.85 "^53"))
     )
   )
@@ -53,7 +53,7 @@ d4 -- Bassline
   # crush (range 10 5 "^53")
   # room 0.5 # sz 0.8 # orbit 4
   # pan 0.2
-  # midiG' "^81" 0 1.3
+  # midiG' "^81" 0 1.4
 d5 -- fmono
   $ g
   $ (# lpf (range 10000 5000 "^54"))
@@ -64,7 +64,7 @@ d5 -- fmono
   # cut 4
   # crush (range 12 1.85 "^54")
   # midiG' ("^82" + 0.125 * "^54") 0 1.2
-  # orbit 5 # room 0.3 # sz 0.8 # dry 1
+  # room 0.3 # sz 0.8 # dry 1
 d9 -- Hats
   $ g
   $ fix (
diff --git a/live/midi/nova/lofi/dark_money.tidal b/live/midi/nova/lofi/dark_money.tidal
index 49219b4..345efbe 100644
--- a/live/midi/nova/lofi/dark_money.tidal
+++ b/live/midi/nova/lofi/dark_money.tidal
@@ -17,7 +17,7 @@ d1 $ g -- Kick
   # lpf 1000
   # room 0.2 # att 0.5
   # legato 2 # cut 1
-  # midiG' "^78" 0 1.5
+  # midiG' "^78" 0 1.8
 d2 $ g -- Contretemps snare
   $ whenBrkLPF
   $ whenmod 16 8 (fast 2)
@@ -31,7 +31,7 @@ d3 $ g  -- Drumroll fantôme
   $ fast ("8" * "<[2 1!7] 1!3> <2 [2 1] [2 . 1 2] [2 4]>")
   $ "drum:2"
   # room 0.6 # sz 0.9 # dry 1.01
-  # midiG' "^80" 0 0.8
+  # midiG' "^80" 0 1.4
 d5 $ g  -- Bassline {hypno,aqua}tique
   $ swing 2
   $ whenNotBrk (off "<e q> . <q h>" (|+ note 7))
@@ -44,8 +44,8 @@ d5 $ g  -- Bassline {hypno,aqua}tique
 d4 $ g -- Toy bogdan
   $ every' 16 15 (>| "~ ~ ~ bogdan:4")
   $ every' 16 9 ((>| "~ ~ ~ bogdan:2") . (|* gain 0.8))
-  $ "~"
+  $ "~ bogdan"
   # room 0.5
   # legato 2
   # hpf 200
-  # midiG' "^84" 0.5 1.1
+  # midiG' "^84" 0.5 1.4
diff --git a/live/midi/nova/lofi/new_dust.tidal b/live/midi/nova/lofi/new_dust.tidal
index 90bf81c..1746e99 100644
--- a/live/midi/nova/lofi/new_dust.tidal
+++ b/live/midi/nova/lofi/new_dust.tidal
@@ -27,7 +27,7 @@ d1 $ g -- Kick
   $ "k ~ <~ ~ k ~> k . k k(<1!4 <5 3>!12>,8)"
   # "jazz"
   # attack 0.5
-  # midiG' "^78" 0 2
+  # midiG' "^78" 0 3
   # cut 1
 d2 $ g -- Contretemps snare
   $ whenBrkLPF
@@ -78,13 +78,13 @@ d4 $ g -- Lead nostalgia gauche
 d5 $ g  -- Infectious Bassline
   $ whenmod 16 8 (degradeBy "[0 0.5!3]*2")
   $ ply "[1 2]*<4 4 2 4>"
-  $ note (fast 8 "<e d c b4>"
+  $ note (fast 8 (often rev "<e d c b4>")
   - 12
   )
-  # legato 2 # cut 5
+  # legato 2
   # "bassWarsaw"
   # width "^34"
-  # crush (range 16 2.5 "^54") -- Manual crush enabler
+  -- # crush (range 16 2.5 "^54") -- Manual crush enabler
   # midiG' "^82" 0 1
   # room 0
 d7 -- TOYS
diff --git a/live/midi/nova/lounge/invoque_ete.tidal b/live/midi/nova/lounge/invoque_ete.tidal
index 427bd49..b947fe3 100644
--- a/live/midi/nova/lounge/invoque_ete.tidal
+++ b/live/midi/nova/lounge/invoque_ete.tidal
@@ -44,22 +44,17 @@ d4 $ g
 d5 $ g
   $ loopAt 2
   $ slice 8 (run "<4!4 8 8 [4 8 4] [8 4 8]>")
+  $ midiOn "^57" (# n 14)
   $ "fbass:13"
   # pan 0.2
   # room 0.2
   # lpq  (range 0 0.125 "^33")
   # crush (range 10 4.5 "^53")
-  # gM' 0.3 1.1 "^81"
+  # gM' 0.3 1.45 "^81"
   # cut 4
 d6 $ g
   $ chop 16
-  $ someCyclesBy "^58" (superimpose (
-    degradeBy (slow 8 $ sine) . segment 8
-    . (# speed 1)
-    . (|* gain (0.5 + 0.1 * perlin)) . (|+ pan 0.1)
-    . (# cut 31)
-    )
-  )
+  $ midiOn "^58" (juxBy 0.85 ((# cut 31) . rev))
   $ whenmod 16 12 (rev)
   $ whenmod 8 4 (chop 4)
   $ loopAt 4
@@ -103,4 +98,4 @@ d9 $ g
   )
   $ "hh:3"
   # lpq (range 0 0.2 "^35")
-  # gM' 0 2 "^19"
+  # gM' 0 1.2 "^19"
diff --git a/live/midi/nova/minneapolis.tidal b/live/midi/nova/minneapolis.tidal
index 4e09eda..a300e00 100644
--- a/live/midi/nova/minneapolis.tidal
+++ b/live/midi/nova/minneapolis.tidal
@@ -91,7 +91,7 @@ d4 $ g
   # pan 0.5
 d5 $ g -- Basse + Sirene
   $ sometimesBy ("^57") ( -- TECHNOPHILE
-    chop "<4!3 8> <8!3 4>"
+    chop "<2!3 4> <4!3 2>"
     -- . often (ply 4)
   )
   $ superimpose (
diff --git a/live/midi/nova/party/dark_angel_frappe.tidal b/live/midi/nova/party/dark_angel_frappe.tidal
new file mode 100644
index 0000000..aa12d56
--- /dev/null
+++ b/live/midi/nova/party/dark_angel_frappe.tidal
@@ -0,0 +1,72 @@
+-- Dark ANGEL FRAPPE
+-- Needs bass/more lead high?
+do
+-- region Nova Utils
+let gFactor = 1.4
+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 gRes = (# hpq "^29") . (# lpq "^30")
+let novaOn  ch pat = (someCyclesBy ch pat)
+let novaOff ch pat = someCyclesBy (1 - ch) pat
+-- endregion Nova Utils
+let g = (gDJF . gRes)
+setcps 0.5
+d1 $ g
+  -- $ mask "<t f f f t t f f t!8 f!6 t t t!16 f!16>"
+  $ "k k k <k [k k] k [~ k]>"
+  # "[jazz,cpu]"
+  # room 0.8 # sz 0.8 # dry 1
+  # gM' 0 1.6 "^78"
+d2 $ g -- Clap
+  $ novaOn "^92" (fast 2 . whenmod 4 3 (ply "1 2"))
+  $ novaOff "^60" (# silence)
+  $ "~ [clap,<cp!3 ~>]"
+  # lpf 2500
+  # room 0 # dry 0.99
+  # gM' 0 1.3 "^84"
+d3  $ g -- Break 4/4
+  -- $ sometimes (off "e" id)
+  $ fix (|* gain 0.8) (n 2)
+  $ n "2 3 0 <3!3 <[~ ~ 3 5] [3 3 ~ [5 ~]]>>"
+  # "amencutup"
+  # gain 1.2
+  # gM' 0 1.4 "^79"
+  # pan 0.4
+d8 $ g -- Hats
+  $ fix (|* gain 0.9) ("hh27")
+  $ "d*[8 <[8 4 8] [8 16 8] [8 4] 16>]"
+  # "[drum:2,hh27:4]"
+  # pan (slow 16 $ range 0.4 0.6 saw)
+  # gM' 0 1.45 "^80"
+d4 -- RESONANT BASSLINE
+  $ g
+  $ novaOn "^81" (slow "2 . 2 <1!3 0.5>")
+  $ whenmod 16 12 (
+    degradeBy ("[0 1!3]*2" * (slow 17 $ range 0 0.5 perlin))
+    . (# legato 2)
+  )
+  $ note "b2!6 <bs2!3 <a2 g2>> b2" # "supersaw"
+  # gM' 0 1 "^81"
+  # crush (range 10 3 "^53")
+  # room 0.5 # sz 0.8
+d5 $ g -- Synth voices
+  $ novaOff "^58" (# silence)
+  $ whenmod 8 4 (juxBy 0.25 (rev . (# cut 51)))
+  $ loopAt 2
+  $ slice 8 ("0 1*<1 2 4> 2(<1 2 3 5>,8) <3 7 3 [6 7]>")
+  $ "fsynth:47"
+  # gM' 0 1 "^82"
+  # cut 5
+d7 $ g -- Fill drums
+  $ (|* gain (slow 10 $ range 0.9 1.2 perlin))
+  -- $ loopAt 2
+  $ slice 16 "1 1 5*<1 2 4> 0*<1!7 2>"
+  -- $ mask "<f!3 t>"
+  $ "ffills:7"
+  # cut 7
+  # pan 0.6
+  # gM' 0 1.5 "^83"
diff --git a/live/midi/nova/party/electro_blues.tidal b/live/midi/nova/party/electro_blues.tidal
new file mode 100644
index 0000000..fcd8c9c
--- /dev/null
+++ b/live/midi/nova/party/electro_blues.tidal
@@ -0,0 +1,61 @@
+resetCycles
+
+-- Electro-jazz grille du blues snakish
+do
+setcps (80/60/4)
+let g = midiDJF "^49" 200 9800 0 1000
+let blues = ["c", "f", "c", "c", "f", "f", "c", "c", "g", "f", "c", "c", "g", "f", "c", "g"]
+let chord = "c'maj"
+let chordAug = "c'maj'8"
+d1 -- Kick rarement doublé
+  $ g
+  $ midiOn "^41" (fast 2 . whenmod 4 3 (ply "2 1"))
+  $ midiOn ("^42"-"^41") (fast "<1!8 2!20 1 0 0 2>")
+  $ "k*4" # "jazz"
+  # room 0.1 # dry 0.99 # sz 0.6
+  # midiG' "^77" 0 1.5
+d2 $ g
+  $ "~ [jazz:4,cp]"
+  # hpf (range 0 10000 perlin)
+  # midiG "^78"
+d3 -- Snakes
+  $ juxBy (slow 8 $ range 0.1 0.9 sine) rev
+  $ fast 4
+  $   "s . s <s!3 ~> <~!3 s>"
+  # "hh*6"
+  # gain (slow 32 $ range 0.55 1.2 saw)
+d4
+  $ never (superimpose (
+    ply "<2 4 [4 8] 8>" .
+    mask "t(1,4)" . arpeggiate . (# "supermandolin")
+    . (|* gain 0.8)
+    . (# pan 0.6)
+    . (# crush 16)
+  ))
+  $ note (
+    cat blues + chord
+    - 24
+  )
+  # "bassWarsaw"
+  # pan 0.75
+  # room 0.1
+  # voice 0.8
+  # midiG' "^81" 0 1.3
+d5 -- Choeurs
+  $ juxBy 0.5 (
+  (0.5 ~>) . midiOn "^59" (superimpose (
+    arpeggiate
+    . (|+ note chordAug)
+    . (|+ pan 0.05)
+    )
+  . (|+ note 12)
+  . (|* gain 0.95)
+  . (# legato 0.5)
+  . (|+ pan 0.05))
+  )
+  $ note (cat blues)
+  # "moogBass"
+  # octave 3
+  # midiG' "^83" 0 1.4
+  # room 0.4
+  # size 0.7 # dry 1.05
diff --git a/live/midi/nova/party/technomidi.tidal b/live/midi/nova/party/technomidi.tidal
new file mode 100644
index 0000000..a05521f
--- /dev/null
+++ b/live/midi/nova/party/technomidi.tidal
@@ -0,0 +1,114 @@
+import Sound.Tidal.ParVagues.Control
+-- Accompagnement Midi techno piano
+
+do
+let pontH = (someCyclesBy "<0!32 1!8 0!24>" (# hpf (slow 8 $ range 0 500 saw)))
+let pontL = (whenmod 16 12 (# lpf 2000))
+let toPontL = (every' 16 11 (# lpf 5000))
+let chords = "<c'min'2!4 c'maj'2!4>"
+let prog = ("<cs5!4 a4 a4 b4 gs4>")
+let chorus = pF "chorus"
+let mix = pF "mix"
+let modIndex = pF "modIndex" -- 0.2
+let gG a = (gain (1.2 * "^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 gDJF = midiDJF "^49" 0 10000 0 7500
+let gFreqL = (# lpq (range 0 0.25 "^29"))
+let gFreqH = (# hpq (range 0 0.25 "^30"))
+let gFreqs = (gFreqH . gFreqL)
+let g = (gDJF . gFreqs)
+setcps 0.5
+d1 $ g
+  $ "[jazz,hh27:5]*4"
+  # gM' 0 1.4 "^78"
+d2
+  $ g
+  $ midiOn "^41" (fast 2)
+  $ "hh27*8" # n "[1|4]*8"
+  # room 0.6 # sz 0.7 # dry (slow 20 $ range 0 2 perlin)
+  # gM' 0.5 1.5 "^79"
+d3 -- Runny Maracas
+  $ g
+  $ whenmod 16 8 (often $ fast 2)
+  $ someCyclesBy "<1!16 0!16>" (often $ slow "2!3 1")
+  $ fix ((|* gain 0.9) . (# release 0.8)) (n 9)
+  $ "hh27*8"
+  # n "2 <2 <[2|9] [9 <9 ~> <~ 9> 2]>>"
+  # gM' 0.5 1.75 "^80"
+
+
+-- TODO: Below not ready
+
+d6 $ g -- Guitar riffs
+  $ whenmod 16 12 (off "h" (
+    chop 4
+  . (# cut 61)
+  ))
+  $ slice 4 (
+    whenmod 16 8 (+| "0 <0!6 ~ ~>")
+    "<0!4 1 1 2 3>"
+  )
+  $ note 2 -- correction
+  # "punk"
+  # cut 6
+  # lpq (range 0 0.125 "^17")
+  # attack (range 0.5 1 "^33")
+  # crush (range 12 1.75 "^53")
+  # pan 0.9
+  # room 0.3
+  # sz 0.9
+  # gM' 0.4 1.5 "^81"
+d4 -- Rhodes base + chords
+  $ g
+  $ midiOn "^58" (superimpose ( -- ARPS <3
+    (|+ note 12)
+    . sometimesBy "0 0.5!7" rev
+    . fast "1 2"
+    . arp "pinkyup"
+    . (|+ pan 0.1)
+    . (|* gain 1.2)
+  ))
+  $ note ((
+    "<0 ~> 0"
+    + prog
+    + "0 -12"
+    - "12" -- Octave
+  ))
+  # "FMRhodes1"
+  # modIndex "[0,5,10]"
+  # pan 0.6
+  # crush (range 10 4 "^54")
+  # gM' 0.3 1.9 "^82"
+d5 $ g -- Choirs + arps
+  $ juxBy "-0.7" (
+    arp "<up <up down>>"
+    . (|+| note "[0,7,12]*2")
+    . (|* gain 0.85)
+    . (# lpf 2000)
+  )
+  $ "moogBass"
+  # note (prog + "[0,24]")
+  # octave 3
+  # gM' 0.3 1.5 "^56"
+  # pan 0.2
+  # chorus 0.6
+d8 $ g -- Electrified laggy moog
+  $ midiOn "^91" (ply 2)
+  $ midiOn "^59" (
+    (# lpf 2000)
+    . (# lpq (slow 16 $ range 0 0.15 perlin))
+  )
+  $ midiOn "^91" (segment "4 <4 <8 [8 16]>>")
+  $ note (prog + "0 12")
+  # "moog"
+  # cut 8
+  # crush (range 16 4 "^55")
+  # gM' 0 1.8 "^83"
+  # release 100
+d9 $ g
+  $ midiOn "^60" (fast 2 . ply "1 <1 <2!3 1>>")
+  $ midiOn "^92" (fast 4)
+  $ "~ clap"
+  # note (-8)
+  # gM' 0 1.5 "^84"
diff --git a/live/remix/day_trippin.tidal b/live/remix/day_trippin.tidal
new file mode 100644
index 0000000..cdd8a5e
--- /dev/null
+++ b/live/remix/day_trippin.tidal
@@ -0,0 +1,41 @@
+setcps (135/60/4)
+
+do
+let maskIntro = mask "<f!6 t!28>"
+d1
+  $ maskIntro
+  $ superimpose ((# "gretsch") . (|* gain 0.8))
+  $ "k . ~ k ~ ~"
+  # "[jazz,bd]"
+  # gain 0.5
+d2
+  $ maskIntro
+  $ superimpose (const -- Tchak
+      $ whenmod 16 12 (fast "<2 4 4 8>" . ("q" <~) . mask "t f")
+      $ mask "<t!8 f!3 t!5>"
+      $ "~ s ~ s*<1!7 2>"
+      # "[gretsch:2,sn:2]" # lpf 4000
+      # room (slow 4 $ perlin * 0.35)
+      # gain 0.55)
+  $ whenmod 8 6 (# lpf "<4000 2000>")
+  $ splice 8 (run 8) $ "breaks165"
+  # gain (slow 16 $ range 0.2 0.55 saw)
+d3
+  $ someCyclesBy "<1!8 0!28>" (mask "t(<0!4 4!4>,4)")
+  $ whenmod 4 3 (degradeBy "0 0.5!6 0")
+  $ sometimesBy "0 0.1!6 0.5" (fast 2)
+  $ "drum:2*8" # gain 0.5
+d4
+  $ note ("<a3!4 c4!3 a3>"
+   + "<c'maj!3 c'maj'4 c'min!3 c'min'4>"
+  )
+  # "supersaw" # voice 0.1
+  # gain 0.2 # pan 0.9 # room 0.1
+d5
+  $ someCyclesBy "<1!2 0!14>" (|* gain 1.2)
+  $ "day:1/2"
+  # gain (slow 16 $ range 0.45 0.5 sine)
+  # gain 0.65
+  # hpfbus 4 (range "-50" 5000 sine)
+  # legato 2
+  # cut 5
--
libgit2 0.27.0