diff --git a/live/techno/noir/lavabo_noir.tidal b/live/techno/noir/lavabo_noir.tidal
new file mode 100644
index 0000000..6954b41
--- /dev/null
+++ b/live/techno/noir/lavabo_noir.tidal
@@ -0,0 +1,89 @@
+resetCycles
+
+-- DARK TECHNO LAVABO
+do
+let modIndex = pF "modIndex"
+let whenPont = someCyclesBy "<0!24 1!8 0!16 1!16>"
+let g = whenPont  (# djfbus 1 (slow 8 $ range 0.45 0.15 saw))
+let g2 = whenPont (# djfbus 2 (slow 8 $ range 0.5 0.75  cosine))
+setcps (100/60/4)
+d1
+  $ g
+  $ mask "<t(1,4)!4 t(2,4)!4 t!24 f!8 t!24>"
+  $ fix (|* gain 0.8) ("kick")
+  $ fix (|* gain "<0!3 1!125>") ("909")
+  $ "k k k <k!3 ~>"
+  # "[909,jazz,kick:5]"
+  # lpf 5000
+  # gain 0.7
+d2 $ g -- Shadow's applause
+  $ mask "<f!16 t!48>"
+  $ whenmod 64 32 (# crush (slow 32 $ range 16 3 (saw + 0.2 * perlin)))
+  $ "~ cp"
+  # crush "<16!7 3.4>"
+  # lpf 3500
+  # gain 0.9
+  # room "<0!3 0.6>"
+  # dry 1 # sz 0.9
+d3 $ g -- HiHats fuyants : THE GRID
+  $ stut 8 0.2 "<[q!3 e] <e s>>"
+  $ n "<2!6 <2 3 3>>"
+  # "h2ogmhh"
+  # pan 0.3
+  # gain 0.6
+d4 $ g -- MATRIX NOISE
+  $ fix (
+    mask "<f!16 t!16>"
+    . ( -- ORAGE
+      juxBy 0.5 (
+      (# crush 4) . ("<e!3 h>" ~>) . (|* gain 0.8)
+    ))
+    . slice 8 "<3 3 <2 3> <3 2>>"
+    . (# "90s_matrix:1")
+    . (# cut 42)
+    . (# pan 0.4)
+  ) ("night")
+  $ fix (
+    (>| "90s_matrix/4")
+    . (# crushbus 41 (slow 64 $ range 16 4 saw))
+    . (# cut 41)
+  ) ("base")
+  -- Ominous base
+  $ "[base,night]"
+  # cut 4
+  # att 0
+  # rel 10
+  # room 0.84
+  # sz 0.6
+  # dry 1
+  # gain 0.65
+d5 $ g2 -- Supersaw bassline
+  $ mask "<f!8 t(1,2)!8 f!16 f!8 t!24>"
+  $ someCyclesBy "<1!16 0!112>" (|* gain (slow 16 $ range 0.2 1 saw)) -- Intro fade-in
+  $ note (scale "aeolian" (
+    "<0 [0@7 1]>"
+    + "[0,7,<9 <11!2 10!2>>]"
+    - 14
+  ))
+  # "supersaw"
+  # voice 0.05
+  -- # crushbus 51 (range 8 4.5 sine)
+  # gain 0.45
+  # pan 0.2
+d6 $ g2 -- Melopée rassurante
+  $ mask "<f!8 <f!8 t!7 f> t f t!6 f!8 f!8 t f t!22>"
+  $ superimpose (
+    arp "up down"
+    . iter "<1!3 <2 4>>"
+    . ply "2!3 <2 4>")
+  $ note (scale "aeolian" (
+    "[0, 7, <9!3 0>, <11 10>]"
+  - 14
+  ))
+  # "FMRhodes1:0"
+  # modIndex "<0!64 1!32 2!32>"
+  # gain 0.9
+  # room 0.64
+  # dry 1
+  # sz 0.6
+  # pan 0.8
diff --git a/study/chords/lofi.tidal b/study/chords/lofi.tidal
new file mode 100644
index 0000000..97a5b52
--- /dev/null
+++ b/study/chords/lofi.tidal
@@ -0,0 +1,48 @@
+d2
+  $ someCyclesBy "<0!32 1!8 0!24>" (slow 2) -- Pont
+  $ fix (
+  (ply "<2 [4 <2!3 <4 8>>]>")
+  . (|* gain 1.2)
+  . (# "[drum:2,dr]")
+  ) ("d")
+  $ stack [
+  "k . k([3 <1 3>],8)" # "jazz",
+  "d d d d",
+  (fast 2 $ "~ snare:20"),
+  ""
+  ]
+  # lpf 2000
+  # gain 0.75
+  # midiG' "^78" 0 0.7
+
+
+do
+let modIndex = pF "modIndex"
+d1
+-- $ slow 4 -- Helper: slow down
+  $ note (
+  midiOn "^43" (arp "up") -- Helper: arpegiate every other chord
+  -- [8 LoFi Chord Progs](https://blog.landr.com/lofi-chord-progressions/)
+  --
+  -- # Dmin11, Efmin11 - Two Sad train tracks
+  -- "<[d,f,a,c6,e6,g6] [ef, gf, bf, df6,f6,af6]>"
+  --
+  -- # Amin11, D7, Fmaj7, Cmaj7 - Pure bliss
+  -- "<[a,c6,e6,g6,b6,d7] [fs,a,c6,d6,fs6,a6,c7] [f,a,c6,e6,f6,a6,c7] [c,e,g,b,e6,g6,b6]>"
+  --
+  -- # Cmin11,Fmin9,Cmin11,G7#5 - Enthusiasm
+  "<[c,ef,g,bf,d6,f6] <[c,f,af,c6,ef6,g6,bf6] [g,b,ds6,f6,g6,b6,ds7]>>"
+  - 12)
+  -- TODO: Ebmaj9,Abmaj13 (3:34)
+  -- TODO: Gmaj7+ (4:16?)
+  -- TODO: Gmin9+ (5:13?)
+  -- # "superpiano" # velocity 0.6
+  # "FMRhodes1"
+  -- # "FMRhodes2"
+  # att 1 # rel 2
+  # modIndex 0
+  # room 0.8
+  # dry 1
+  # sz 0.2
+  # gain 0.7
+  # midiG' "^79" 0 1.2
diff --git a/study/samples/90s.tidal b/study/samples/90s.tidal
new file mode 100644
index 0000000..fefcc9a
--- /dev/null
+++ b/study/samples/90s.tidal
@@ -0,0 +1,83 @@
+90s_glassatm (5) 90s_matrix (7) 90s_megafx (338) 90s_synatm (35) 90s_weird (13)
+
+celtic_guitar80 (50) celtic_guitar85 (18)
+
+do
+setcps (85/60/4)
+let g = (whenmod 32 24 (# djfbus 1 (slow 8 $ range 0.05 0.45 saw)))
+d1
+  $ g
+  $ "k . k(3,8)" # "jazz"
+  # gain 0.8
+d2 $ g
+  $ fast 2
+  $ "~ s"
+  # "snare:29"
+  # gain 0.85
+d3
+  $ g
+  $ slice 4 ("0 <~ 1> <0 2> < ~3>")
+  $ "c/2" # "celtic_guitar85:12"
+  # cut 4
+  # gain 0.8
+d10 -- fx
+
+once
+  $ "90s_megafx:132"
+  # cut 10
+  -- # begin 0.2
+  # gain 0.75
+
+
+-- 2: Il etait un paysan mineur
+-- 3: Puis un paysan majeur
+-- 5: Majeur et ses amis
+
+-- 4: Aigu ritournelle
+-- 7: Aigu
+
+
+-- 6: Resolu bass
+
+-- CELTIC TECHNO
+do
+setcps (120/60/4)
+let g = whenmod 32 24 (# djfbus 1 (slow 8 $ range 0.45 0.15 saw))
+d1
+  $ g
+  $ mask "<t(1,4)!4 t(2,4)!3 t t!12 f!3 t(1,4) f!3 t(3,4,1) t!3 f>"
+  $ "k*4"
+  # "jazz" # gain 0.8
+d3 $ g
+  $ mask "<f!3 [f t] f!3 [f t f t] t!24>"
+  $ fast "<1!7 2 1!4 2!4>"
+  $ "hh*[8 <8 [8 <[4 <8 4>]!3 16>]>]"
+  # gain 0.65
+d4 $ g
+  $ whenmod 64 32 (>| n "<20!3 21 20!2 21 21 20 21 20 20 21 21 20 21>")
+  $ someCyclesBy "<0!32 1!32>" (>| n "4/2")
+  $ "celtic_guitar80"
+  # cut 4
+  # gain 0.47
+d10 -- fx
+  $ "~ <~!7 90s_megafx:335>"
+  # gain 0.3
+  # room 0.8
+  # cut 10
+
+
+-- ScratchPad: Play with scratch mixes!
+once
+  $ "scratch_short"
+  # gain 0.7
+  # n "<0 1 0 2>"
+  # cut 2
+
+once $ "scratch_med:4"
+  # gain 0.9
+  # cut 9
+
+
+
+
+resetCycles
diff --git a/study/synths/super.tidal b/study/synths/super.tidal
new file mode 100644
index 0000000..79f47bb
--- /dev/null
+++ b/study/synths/super.tidal
@@ -0,0 +1,14 @@
+do
+d1 $ "jazz*4"
+  # lpf 200
+d2 $ "~ electro1:3"
+  # lpf 4000
+d4
+  $ slow 12
+  $ n ("c'maj")
+  # "supergrind"
+  # detune (slow 32 $ cosine)
+  # voice (slow 128 $ perlin)
+  # legato 4
+  # accelerate (slow 4 $ "<1 0.5 0 -0.5 0 0.5>")
+  # gain 0.3