From c367f816688496d18f70884b6647e92736e9235a Mon Sep 17 00:00:00 2001
From: Paul-Louis NECH <pln@algolia.com>
Date: Sun, 14 Feb 2021 13:48:01 +0100
Subject: [PATCH] live: Crime and friends

---
 copycat/bad_guy.tidal            |   2 +-
 copycat/ncis.tidal               |  69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 live/midi/nova/tidal_crime.tidal | 109 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 live/ncis_evening.tidal          | 109 -------------------------------------------------------------------------------------------------------------
 output/Japanese_Koto.jpg         | Bin 0 -> 260147 bytes
 output/Piano.jpeg                | Bin 0 -> 28164 bytes
 output/Piano_Cathedrale.jpg      | Bin 0 -> 239663 bytes
 output/Piano_Funk.jpg            | Bin 0 -> 273034 bytes
 output/Piano_Hell.jpg            | Bin 0 -> 274574 bytes
 output/Piano_Space.jpg           | Bin 0 -> 211825 bytes
 output/TidalCrime.jpeg           | Bin 0 -> 524298 bytes
 output/TidalCrime_nature.jpg     | Bin 0 -> 289417 bytes
 output/Vague_PLN_square.jpg      | Bin 0 -> 183366 bytes
 output/record0.wav               | Bin 0 -> 7045200 bytes
 output/record1.wav               | Bin 0 -> 7045200 bytes
 15 files changed, 179 insertions(+), 110 deletions(-)
 create mode 100644 copycat/ncis.tidal
 create mode 100644 live/midi/nova/tidal_crime.tidal
 delete mode 100644 live/ncis_evening.tidal
 create mode 100644 output/Japanese_Koto.jpg
 create mode 100644 output/Piano.jpeg
 create mode 100644 output/Piano_Cathedrale.jpg
 create mode 100644 output/Piano_Funk.jpg
 create mode 100644 output/Piano_Hell.jpg
 create mode 100644 output/Piano_Space.jpg
 create mode 100644 output/TidalCrime.jpeg
 create mode 100644 output/TidalCrime_nature.jpg
 create mode 100644 output/Vague_PLN_square.jpg
 create mode 100644 output/record0.wav
 create mode 100644 output/record1.wav

diff --git a/copycat/bad_guy.tidal b/copycat/bad_guy.tidal
index 5d9628b..7756f7f 100644
--- a/copycat/bad_guy.tidal
+++ b/copycat/bad_guy.tidal
@@ -32,7 +32,7 @@ setcps (135/4/60)
 -- TODO: Voice split pan, lead stronger than side, fix aigus chorus2
 -- TODO: Claps: could be more "spread manual single-time clap" FIXME check masks
 do
--- resetCycles -- FIXME: Not looping, bass out of sync
+resetCycles -- FIXME: Not looping, bass out of sync
 let bass1 = "5  ~ ~ 5  8  5  ~ 5"
 let bass2 = "~ 5 ~ 5 8 5 3 ~"
 let bass5 = "8  ~ ~ 8  11 8  ~ 8"
diff --git a/copycat/ncis.tidal b/copycat/ncis.tidal
new file mode 100644
index 0000000..2c230a8
--- /dev/null
+++ b/copycat/ncis.tidal
@@ -0,0 +1,69 @@
+resetCycles
+
+do
+let sawHarmonic = pF "sawHarmonic"
+let mix = pF "mix"
+setcps (110/60/4)
+d1
+  $ mask "<<f!4 t f!3> t!12 f!4 t f!3 t!8>"
+  $ "k . <k [~k~~]>"  # "[jazz,cpu2]"
+  -- $ "k k k k" # "[jazz,kick:5]"
+  # lpf 4000
+  # gain 0.75
+d2
+  $ struct ("t*<4 4 4 4 [4 8]!2 16 [16 8]>")
+  $ "~ s ~ s"
+  # "sn:20"
+  # lpf 2000
+  # gain 0.8
+d3
+  -- $ mask "<f!7 f!21>"
+  -- $ superimpose (
+    -- (# "amencutup:4")
+  -- . (# lpf 2000) . (|* gain 0.8)
+  -- )
+  $ "d d d d d d d*2 d"
+  # "[drum:2,amencutup:5]"
+  # gain (slow 16 $ range 0.4 0.6 saw)
+  # pan (slow 16 $ sine)
+  # room 0.2 # dry 0.99
+d4 -- Gauche
+  $ mask "<f!4 t!12 f!8 t!8>"
+  $ note "<c3!3 as3> . ~ [gs3 g3]"
+  # "superpiano"
+  # velocity 0.45
+  # gain (slow 64 $ range 0.8 1 sine)
+  # pan 0.45
+d5 -- Droite 2/3
+  $ whenmod 16 10 (superimpose (const
+    $ note (
+      "[gs5 g5 gs5 ~] [g5 ~ . <gs5 as5>] . ~"
+    )
+    # "superpiano"
+    # pan 0.65
+    # velocity 0.4
+  ))
+  $ mask "<f!6 t!10 t!8 f!4 t!4>"
+  $ note (
+    "<c3 [as4 gs3 g3 ~] cs3 c3> . ~ <[gs3 g3][gs3 g3 f3]>"
+    + 12)
+  # "superpiano"
+  # pan 0.55
+  # velocity 0.45
+d6 -- Horloge
+  $ fast 8
+  $ note "<0 -2>"
+  # "drum:2"
+  # hpf 5000
+  # hpq 0.3
+  # room 0.1 # dry 0.98
+  # gain 0.45
+d7
+  $ mask "<f!8 t!8>"
+  $ note "[gs5 g5 gs5 ~] [g5 ~ . <gs5 as5>] . <~ ~ [<g5 ~> ~ . <gs5 ~>] [~ as5]> ~"
+  # "strings"
+  # sawHarmonic 1.9
+  # pan 0.1
+  # mix 0.8
+  # gain 0.8
+  # room 0.2
diff --git a/live/midi/nova/tidal_crime.tidal b/live/midi/nova/tidal_crime.tidal
new file mode 100644
index 0000000..bec371c
--- /dev/null
+++ b/live/midi/nova/tidal_crime.tidal
@@ -0,0 +1,109 @@
+resetCycles
+
+
+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"
+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")
+  )
+  $ 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>"
+  $ note "<c3!3 as3> . ~ [gs3 g3]"
+  # keyboard
+  # gM' 0 1.2 ("^81" * range 0.8 1 sine)
+  # pan 0.45
+d5 $ g $ gP -- Droite 2/3
+  $ whenmod 16 10 (superimpose (const
+    $ note (
+      "[gs5 g5 gs5 ~] [g5 ~ . <gs5 as5>] . ~"
+    )
+    # keyboard
+    # pan 0.65
+    # gM' 0 1 "^81"
+  ))
+  $ mask "<f!6 t!10 t!8 f!4 t!4>"
+  $ note (
+    "<c3 [as4 gs3 g3 ~] cs3 c3> . ~ <[gs3 g3][gs3 g3 f3]>" + 12
+  )
+  # 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 "[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 s"<0 12>"))
+  $ note ("<c3 c3 g3 gs3>")
+  # "bassWarsaw"
+  # voice (range 0.1 2 "^34")
+  # room 0.6 # sz 0.2
+  # gM' 0.4 1 "^82"
+  # crush (range 10 3.6 "^54")
+d9 $ note ("gs5(3,8)") # "supergong" # gM' 0 0.8 "^83"
+
+  11   │     //Standard Definitions
+  12   │     out = 0, freq = 440, amp = 1, gate = 1, pan = 0, freqLag = 0.2, att = 0.001, dec = 0.1, sus = 0.75, rel = 0.3,
+  13   │     //Other Controls (mix ranges from 0 - 1)
+  14   │     rq = 0.001, combHarmonic = 4, sawHarmonic = 1.5, mix = 0.33;
+
+
+once $ "amencutup:3" # gain 0.6
diff --git a/live/ncis_evening.tidal b/live/ncis_evening.tidal
deleted file mode 100644
index ed14770..0000000
--- a/live/ncis_evening.tidal
+++ /dev/null
@@ -1,109 +0,0 @@
-resetCycles
-
-
-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"
-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")
-  )
-  $ 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>"
-  $ note "<c3!3 as3> . ~ [gs3 g3]"
-  # keyboard
-  # gM' 0 1.2 ("^81" * range 0.8 1 sine)
-  # pan 0.45
-d5 $ g $ gP -- Droite 2/3
-  $ whenmod 16 10 (superimpose (const
-    $ note (
-      "[gs5 g5 gs5 ~] [g5 ~ . <gs5 as5>] . ~"
-    )
-    # keyboard
-    # pan 0.65
-    # gM' 0 1 "^81"
-  ))
-  $ mask "<f!6 t!10 t!8 f!4 t!4>"
-  $ note (
-    "<c3 [as4 gs3 g3 ~] cs3 c3> . ~ <[gs3 g3][gs3 g3 f3]>" + 12
-  )
-  # 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 "[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 ("<c3 c3 g3 gs3>")
-  # "bassWarsaw"
-  # voice (range 0.1 2 "^34")
-  # room 0.6 # sz 0.2
-  # gM' 0.4 1 "^82"
-  # crush (range 10 3.6 "^54")
-d9 $ note ("gs5(3,8)") # "supergong" # gM' 0 0.8 "^83"
-
-  11   │     //Standard Definitions
-  12   │     out = 0, freq = 440, amp = 1, gate = 1, pan = 0, freqLag = 0.2, att = 0.001, dec = 0.1, sus = 0.75, rel = 0.3,
-  13   │     //Other Controls (mix ranges from 0 - 1)
-  14   │     rq = 0.001, combHarmonic = 4, sawHarmonic = 1.5, mix = 0.33;
-
-
-once $ "amencutup:3" # gain 0.6
diff --git a/output/Japanese_Koto.jpg b/output/Japanese_Koto.jpg
new file mode 100644
index 0000000..044bce3
Binary files /dev/null and b/output/Japanese_Koto.jpg differ
diff --git a/output/Piano.jpeg b/output/Piano.jpeg
new file mode 100644
index 0000000..a494861
Binary files /dev/null and b/output/Piano.jpeg differ
diff --git a/output/Piano_Cathedrale.jpg b/output/Piano_Cathedrale.jpg
new file mode 100644
index 0000000..85e7a38
Binary files /dev/null and b/output/Piano_Cathedrale.jpg differ
diff --git a/output/Piano_Funk.jpg b/output/Piano_Funk.jpg
new file mode 100644
index 0000000..5d4cf1a
Binary files /dev/null and b/output/Piano_Funk.jpg differ
diff --git a/output/Piano_Hell.jpg b/output/Piano_Hell.jpg
new file mode 100644
index 0000000..0f1f6b4
Binary files /dev/null and b/output/Piano_Hell.jpg differ
diff --git a/output/Piano_Space.jpg b/output/Piano_Space.jpg
new file mode 100644
index 0000000..99db4e1
Binary files /dev/null and b/output/Piano_Space.jpg differ
diff --git a/output/TidalCrime.jpeg b/output/TidalCrime.jpeg
new file mode 100644
index 0000000..24c20c4
Binary files /dev/null and b/output/TidalCrime.jpeg differ
diff --git a/output/TidalCrime_nature.jpg b/output/TidalCrime_nature.jpg
new file mode 100644
index 0000000..5ff6b15
Binary files /dev/null and b/output/TidalCrime_nature.jpg differ
diff --git a/output/Vague_PLN_square.jpg b/output/Vague_PLN_square.jpg
new file mode 100644
index 0000000..dd93fe6
Binary files /dev/null and b/output/Vague_PLN_square.jpg differ
diff --git a/output/record0.wav b/output/record0.wav
new file mode 100644
index 0000000..210dca8
Binary files /dev/null and b/output/record0.wav differ
diff --git a/output/record1.wav b/output/record1.wav
new file mode 100644
index 0000000..210dca8
Binary files /dev/null and b/output/record1.wav differ
--
libgit2 0.27.0