From fbac1505bb399498646f9b3020e1239431af8e81 Mon Sep 17 00:00:00 2001 From: Paul-Louis NECH Date: Fri, 19 Nov 2021 22:43:58 +0100 Subject: [PATCH] live: simon to weird --- live/ambient/cascade.tidal | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ live/ambient/weird.tidal | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ live/dnb/giorgio_s_drums.tidal | 41 +++++++++++++++++++++++++++++++++++++++++ live/dub/hello_dub.tidal | 4 ++-- live/dub/steps.tidal | 2 +- live/hip/lofi/808_lessons.tidal | 22 ++++------------------ live/hip/lofi/du_miel.tidal | 2 +- live/hip/lofi/toujours_plus.tidal | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ live/midi/nova/ambient/contre_visite.tidal | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ live/midi/nova/ambient/drone_aveugle.tidal | 2 +- live/midi/nova/breaks/nova_bossa.tidal | 2 +- live/midi/nova/breaks/solar.tidal | 1 + live/midi/nova/computer_riddim.tidal | 128 -------------------------------------------------------------------------------------------------------------------------------- live/midi/nova/dnb/break_the_loop.tidal | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ live/midi/nova/dub.tidal | 2 +- live/midi/nova/dub/computer_riddim.tidal | 128 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ live/midi/nova/dub/simon_arrive.tidal | 35 +++++++++++++++++++++++++++++++++++ live/midi/nova/dub/skunky.tidal | 24 +++++++++++++----------- study/chords/lofi.tidal | 8 ++++---- study/samples/90s.tidal | 9 ++++----- 20 files changed, 662 insertions(+), 173 deletions(-) create mode 100644 live/ambient/cascade.tidal create mode 100644 live/ambient/weird.tidal create mode 100644 live/dnb/giorgio_s_drums.tidal create mode 100644 live/hip/lofi/toujours_plus.tidal create mode 100644 live/midi/nova/ambient/contre_visite.tidal delete mode 100644 live/midi/nova/computer_riddim.tidal create mode 100644 live/midi/nova/dnb/break_the_loop.tidal create mode 100644 live/midi/nova/dub/computer_riddim.tidal create mode 100644 live/midi/nova/dub/simon_arrive.tidal diff --git a/live/ambient/cascade.tidal b/live/ambient/cascade.tidal new file mode 100644 index 0000000..f34c4fa --- /dev/null +++ b/live/ambient/cascade.tidal @@ -0,0 +1,77 @@ +do +setcps (80/60/4) +d1 + $ "cpu" + # att 0.1 + # rel 10 + # gain 0.76 +d2 + $ fix ( + (|* gain (slow 4 $ sine)) + . (sometimesBy 0.75 (stutWith 4 "q" ( + (|* gain 0.8) + . (|+ hpf 100) + . (|+ pan 0.05) + ))) + ) "auto:7" + $ "~ g" + # "[glitch:5,auto:7]" + # room 0.8 + # pan 0.3 + # legato 4 + # gain 0.5 +d3 -- Restructured break hats + $ someCyclesBy "<0!32 1!16 0!16>" (struct "t(<4 8 6 <8 [6 16]>>,8)") + $ whenmod 32 16 (slice 8 (run "<4 4 8 <8 12>>")) + $ "break:17/2" + # gain (slow 32 $ range 0.3 0.38 cosine) + # room 0.2 + # pan 0.7 + # dry (0.5 + perlin) + # cut 3 +d4 + $ every' 16 8 (# speed (range 0.5 0.1 saw)) + $ whenmod 16 15 (ply "2 . 4 [4 8 4]") + $ slice "<16!12 32!3 16>" "0 1 2 3 4 5 6 7" + $ loopAt 2 + $ "break:12" + # pan 0.1 + # lpf 4500 + # gain 0.6 +d6 -- Rare night alarm + $ note "c4/8" + # "giorgio_syn:3" + # cut 6 + # gain 0.34 +d7 -- INFRA BASSLINE TODO Trop carré + $ note (scale "aeolian" + "<0!8 [0 . <2 0> 0 ~]!8> 4 <0!4 7 0 4 <7 0>> 3" + ) + # "giorgio_syn:15" + # gain 0.6 + # lpf 200 +d9 -- Glitched background siren + $ someCycles (off 1 ((# crush 5) . (|* gain 0.8))) + $ "~ warp?/4" + # "giorgio_syn:22" + # room 0.9 + # sz 0.9 + # dry 0.1 + # delay 0.72 # delayfb 0.5 # delaytime "e" + # panbus 92 (range 0.8 0.5 saw) + # lpfbus 91 (fast "<2 4 8>" $ range 5000 200 cosine) + # lpqbus 92 (fast "<0.25 0.5 1 2 4 8 16>" $ range 0 0.7 sine) + # speed (range 0.25 1 rand) + # gain 0.5 + + +once $ "giorgio_syn:9" --bassline? +-- 12 muted + + + +once $ "90s_synatm:5" + # cut 5 + # gain 0.5 + +once $ "dr" diff --git a/live/ambient/weird.tidal b/live/ambient/weird.tidal new file mode 100644 index 0000000..78e6c5d --- /dev/null +++ b/live/ambient/weird.tidal @@ -0,0 +1,78 @@ +-- ça tombe bien, j'avais un sample appelé 90s_weird, c'est l'occasion de l'écouter ! +once $ "90s_weird:9" + # room 0.5 # dry 0.8 # sz 0.8 + # delay 1 # delayt 0.5 # delayfb 0.85 + # gain 0.5 + # cut 1 +-- WEIRD <3 + + +do +setcps (100/60/4) +let g = (# djf (range 0.15 0.85 (slow 16 $ cosine))) +let g = (# djf 0.99999999) -- FIXME MANUAL +d1 $ g-- Les boucles c'est rigolo + $ loopAt 4 + $ "90s_weird:9" + # lpf 200 + # cut 1 + # pan 0.2 + # sz 0.8 # dry 0.8 + # delay 0 + # room (slow 32 $ range 0 0.8 saw) + # gain 0.5 +d2 -- Mais il nous faut un cl1ck + $ g + $ note ("0 [<2 ~ 2 2> <~ 2>] 0 2" - 36) + # "90s_weird" + # legato 0.03 + # gain 1.3 + # lpf 800 + # room 0.8 # sz 0.8 # dry 1 + # cut 2 +d3 $ g -- V0us allez peut-être me trouver W3ird... + $ slice 16 ( + stack [ + "0 0 0 [0 <1 2>]", + "1(<5!4 3!3 <5 8>>,8)", + "3*<1 0> 3*2 3*[1|2|4] 3*2", + "[~ <10!3 11>]*4" + ]) + $ "90s_weird:9" + # legato 0.4 + # gain 0.5 + # pan (slow 32 $ range 0.9 0.5 sine) + # room 0.4 # dry 1.2 # sz 0.9 +d4 $ g -- ...mais je trouve cette compagnie fort agréable + $ never (superimpose ((# cut 41) + . (|- note 24) + . (|* gain 2) + . (# legato 0.5) + . (# lpf (slow 16 $ range 200 2000 cosine)) + )) + $ g + $ slice 32 "10(<5!3 [5 <8 4>]>,8)" + $ "90s_weird:9" + # gain 0.75 + # crushbus 41 (slow 16 $ range 8 3.9 saw) + # room 0.2 # dry 1 # sz 0.8 + # pan 0.3 + # cut 4 +d10 $ g -- Heureusement, tout n'est pas weird + $ slice 8 "0 <1 ~> <2 2 ~ 2> 3 4 5 2*<1!3 2> 3*<1 2 1 <2 4 8>>" + $ loopAt 2 + $ "break:16" + # room 0 # dry 1 # sz 0 # delay 0 + # gain 0.85 + + +-- WEEEEEIIIIIIIIRRRRRRDDDD +once $ "90s_weird" + # n 9 + # gain 0.65 + # cut 1 + -- # lpf 1500 + -- # room 0.5 + -- # dry 1 + -- # begin 0 + -- # end 0.6 diff --git a/live/dnb/giorgio_s_drums.tidal b/live/dnb/giorgio_s_drums.tidal new file mode 100644 index 0000000..a0219b0 --- /dev/null +++ b/live/dnb/giorgio_s_drums.tidal @@ -0,0 +1,41 @@ + + +do +-- resetCycles +d1 + $ mask "" + $ fast 2 + $ " t]]!24>" + # "jazz" + # gain 0.8 +d2 + $ mask "" + $ "~ [cp,snare:68]" + # lpf 2000 + # room 0.3 # dry 1 + # gain 0.87 +d3 -- BACKGROUND WAVE + $ juxBy 0.5 ( + (# cut 31) + . whenmod 32 0 (superimpose ( + (|+ note (arp "down" "]>")) + . (|* gain 0.8) + . (# cut 32) + )) + . (|+ note 12) + . chop "8 8 <4!3 12>" + . (# room 0.8) + ) + $ "giorgio_syn:37/2" + # room 0.4 + # sz 0.7 + # crushbus 31 (slow 8 $ range 16 4 saw) + # cut 3 + # gain 0.45 +d4 -- BREAK THAT DRUM + $ mask "" + $ whenmod 64 32 (iter "1 4") + $ someCyclesBy "<1!32 0!32>" (slice 8 ("<0 [0 1] [0 1 2 3]> <4 [4 <5 7>]> <8 <[8 9] [8 9 10 11]>> <12 13 14 [12 13 14 15]>")) + $ loopAt 0.5 + $ "breaks165" + # gain 0.76 diff --git a/live/dub/hello_dub.tidal b/live/dub/hello_dub.tidal index 7759658..b9c66c9 100644 --- a/live/dub/hello_dub.tidal +++ b/live/dub/hello_dub.tidal @@ -50,14 +50,14 @@ d6 -- Distant guitar $ mask "<!24 f!8 t!8 f!8 t!16>" $ "g(<[1 5]!4 5 1 3 10>,16)" # "rootsGuitar:2" - # note "<5 5 3 3>"s + # note "<5 5 3 3>" # gain 0.49 # att 0 # rel 0.7 d10 -- Distant metal drums $ breakLPFLight $ sometimesBy "0 0.25!3 <0.3!3 0.9>" (ply 2) - $ "808sd*8"s + $ "808sd*8" # n "[9|10]*16" # pan 0.8 # gain (0.47 + 0.1 * perlin) diff --git a/live/dub/steps.tidal b/live/dub/steps.tidal index 6696dd2..9c6a803 100644 --- a/live/dub/steps.tidal +++ b/live/dub/steps.tidal @@ -37,7 +37,7 @@ d5 ) $ "~ p ~ p" # "superpiano" # note (chords + "") - # room 0.3 # sz 0.6 + # room 0.3 # sz 0.46 # velocity 0.7 # gain 0.75 d6 -- Skank Hammond diff --git a/live/hip/lofi/808_lessons.tidal b/live/hip/lofi/808_lessons.tidal index cfb0a8b..9f6131d 100644 --- a/live/hip/lofi/808_lessons.tidal +++ b/live/hip/lofi/808_lessons.tidal @@ -35,7 +35,7 @@ d4 $ note ("< c4 g3 a3>" + 12) # "bass1:3" # voice 0.1 - # gain 0.5 + # gain 0.6 # cut 4 # pan 0.2 # room 0.4 @@ -65,19 +65,18 @@ d6 -- Warsaw gone synth # crushbus 60 (range 8 3 (slow 8 $ perlin)) # room 0.4 # pan 0.8 - # gain (slow 64 $ range 0.24 0.55 (cosine + 0.2 * (slow 4 $ perlin))) - -- # voice 0.05 + # gain (slow 64 $ range 0.4 0.75 (cosine + 0.2 * (slow 4 $ perlin))) d9 $ fix ( slice 8 ("0 ~ <7(5,8) [7 0@0.6] 7(5,8) [7 <7 ~>]>") ) (n 1) -- La musique - c'est l'ordi - $ fix ( + $ fix ( -- TODO SPARSER -- splice 8 ("[0@1.2 1@1.1 ~@0.05 2@1.1 ~@0.9 <~!3 <3@1.1 4@1.1>>]") splice 8 ("[0@1.2 1@1.1 ~@0.05 2@1.1 ~@0.9 <3 ~ 3 4>@1.1]") + . (|* gain 0.75) . (# squizbus 91 (segment 16 $ fast 4 $ range 0 "<1 2 4 6>" cosine)) ) (n 2) -- Les circuits électroniques ont analysé un par un tous les sons -- $ n "<<0 1!3 2!4 3!4> <~!8 2!4 3!4>!3>" $ n "<[0@0.25 0] ~ ~ ~ 1 ~ 1 ~ 2!16>" -- SLICED STORY - -- $ n "2" -- Debug individual N # "ircam" # cut 9 # gain 0.8 @@ -86,16 +85,3 @@ d9 # leslie 0.9 # lrate (slow 8 $ range 0.1 0.8 perlin) # lsize (slow 32 $ range 0.2 2.4 sine) - -once $ "ircam:0" # cut 9 - -once $ "ircam:0" - # cut 9 - - - -do -d1 $ "jazz*4" # gain 0.8 -d2 $ "hh*16" # gain 0.4 - -once $ "dr" diff --git a/live/hip/lofi/du_miel.tidal b/live/hip/lofi/du_miel.tidal index 7723fed..45f8791 100644 --- a/live/hip/lofi/du_miel.tidal +++ b/live/hip/lofi/du_miel.tidal @@ -1,7 +1,7 @@ do --- resetCycles +resetCycles setcps (82/60/4) let modIndex = pF "modIndex" let chords = "<[c,ef,g,bf,d6,f6] <[c,f,af,c6,ef6,g6,bf6] [g,b,ds6,f6,g6,b6,ds7]>>" diff --git a/live/hip/lofi/toujours_plus.tidal b/live/hip/lofi/toujours_plus.tidal new file mode 100644 index 0000000..2aad789 --- /dev/null +++ b/live/hip/lofi/toujours_plus.tidal @@ -0,0 +1,80 @@ +-- Toujours plus, Toujours +-- Les cours montent au firmament +-- Mais la tension scrute +do +resetCycles +let modIndex = pF "modIndex" +setcps (75/60/4) +-- # Amin11, D7, Fmaj7, Cmaj7 - Pure bliss +let chords = "<[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]>" +let chordsN = "<[a,c6,e6,g6] [,a,c6,d6] [f,a,c6,e6] [c,e,g,b]>" +let g = (# djfbus 1 (slow 32 $ range 0.15 0.85 cosine)) +d1 $ g $ "k . [<~ k ~ ~> <~ ~ k k>] >" # "jazz" + # gain 0.8 + # att 0.1 + # rel 10 +d2 $ g + $ "~ cp" + # hpf 4000 + # gain 0.5 +d3 $ g + $ ply "8 <8 8 4 <8 [4 8]>> . 16 [32 <8 <16 32>>]" + $ "drum:2" + # cut 3 + # gain 0.45 +d4 $ g -- Base arps + $ whenmod 64 32 (superimpose ( + struct "t t t t <~ t> " + . arp "converge" + . (# modIndex 2.8) + . (# hpf 2500) + . (|- note 12) + )) + $ note ( + chords - 24 + ) + # "FMRhodes1" + # att 1 # rel 2 + # modIndex 0 + # room 0.8 + # dry 1 + # sz 0.2 + # gain 0.65 +d5 $ g -- Bassline + $ ply 2 + $ note (arp ">" $ chordsN - 36) + # "bassWarsaw" + # gain 0.5 + # room 0.5 + # dry 1 + # sz 0.8 + # pan 0.2 + # cut 5 +d6 $ g -- Angel in the Wire + $ mask "" + -- [a,c6,e6,g6] [,a,c6,d6] [f,a,c6,e6] [c,e,g,b] + $ note (" >") + # "90s_synatm:2" + # cut 6 + # pan 0.9 + # room 0.5 + # sz 0.5 + # dry 0.8 + # gain 0.35 +d9 + $ chop 8 + $ loopAt 2 + $ "break:20" + # gain (slow 16 $ range 0.3 0.55 saw) +d10 $ g + $ fix ( -- Trainwreck + (mask "") + . (|* gain (slow 16 $ range 0.36 0.7 cosine)) + ) (n "7") + $ n (stack [ + "2 . <~ 2> <~!4 2!4>*<1!8 2!8>", -- snarish part + "~ <~!7 3>", -- Whoosh hats + "[~ 7]*<4!3 8>", + "" + ]) # "auto" + # gain 0.5 diff --git a/live/midi/nova/ambient/contre_visite.tidal b/live/midi/nova/ambient/contre_visite.tidal new file mode 100644 index 0000000..8596242 --- /dev/null +++ b/live/midi/nova/ambient/contre_visite.tidal @@ -0,0 +1,107 @@ +-- TODO: Add some spaceship fx +-- TODO: Reconsider if enough rythmic variations what about a DROP? + +once $ "dr" + +do +-- TRIGGER INTRO +resetCycles +once $ "90s_synatm:8" # gain 0.64 # panbus 41 (range 0.2 0.5 saw) # room 0.4 # sz 0.94 +let g = (whenmod 64 32 (# djfbus 1 (slow 32 $ range 0.5 0.18 cosine))) +let gF = 1.01 +let f = id +let f = (# djfbus 1 (range 0.05 0.95 "^49")) +let maskLoops = (mask "" . mask "") +setcps (90/60/4) +d1 $ f + -- $ mask "" + $ maskLoops + $ someCyclesBy "<0!32 1!32>" (<| "k k(3,8,<0!3 <2 4>>)") + $ someCyclesBy "<1!32 0!32>" (<| " . ~ ~ ~ <~!3 k>") + $ "[reverbkick,808bd:6]" + # lpf 1000 + # midiG' "^78" 0 1.2 +d2 $ f + $ mask ",4)!4 t!28>" -- Intro / break/32 + $ midiOff "^75" maskLoops + $ midiOn "^43" (slice 4 (run 8)) + $ midiOn "^75" (ply "2 <2!3 4>") + $ mask "" -- Degrade mid-loop! + $ iter "1 <1!4 4 4 4 2>" + $ loopAt 2 + $ slice 8 (run 8) + $ "break:20" + # cut 2 + # speed (range 0.05 1.95 "^51") + # midiG' "^79" 0 1.3 +d3 $ f-- Sidekick, doubtful, yet hardworking hats + $ mask ",4)!4 t(2,8)!8 []!52>" -- Intro / break/32 + $ maskLoops + $ someCyclesBy "<0.6 1>" (stut "<2 3 4>" 0.5 "s") + $ sometimesBy (0.1 * "[0 <0 0.5> 0 <1!3 2>]!4") (# silence) + $ ply "<1!8 <2 <2 [2 2 4 2]!7> <2!4 4!4> <4!2 [4 4 8 4] [4 8 <8 4> 4]!3 4>>>" + $ "hh*4" + # "h2ogmhh" + # pan 0.6 + # room 0.2 + # midiG' ("^80" + 0.08 * (slow 2 perlin)) 0 0.9 +d4 $ f -- Atmospheric synth: aerial questions + $ "90s_synatm:8/4" + # cut 4 + # panbus 41 (range 0.2 0.5 saw) + # room 0.4 + # dry 1 + # midiG' "^81" 0 1 +d5 $ f -- Synth: ELECTRONIC ANSWERS + -- $ mask "" -- Intro + $ midiOn "^90" (ply 8) + $ midiOn "^58" (chop 8) + $ "90s_synatm:14/4" + # cut 5 + # room 0.65 + # dry 1 + # panbus 51 (range 0.8 0.5 saw) + # crushbus 52 (range 16 6.25 "^54") + # midiG' "^82" 0 0.8 +d6 -- High lead: Winds of truth + $ whenmod 8 6 (swing "<4 2>") + $ whenmod 32 8 (superimpose ( -- Echos of doubts + (arp "") + . (sometimesBy (range 0 "<0.25!3 <0.5 0.75>>" saw) (ply 2)) + . (# pan 0.4) + . (+| note "[12,19,<21 21 17 18>]") + . (# cut 61) + . (|* gain 0.8) + )) + $ note (scale "aeolian" "<0!3 [0@6 <4 -1>@2]> 2") + # "90s_synatm:18" + # pan 0.9 + # room 0.4 # sz 0.8 + # crushbus 62 (range 16 2.25 "^55") + # midiG' "^83" 0 0.58 + # dry 0.1 + # cut 6 +d10 $ f -- RANDOM FOREST NOISES + $ fix ( + struct "t t t t t*<1 2> [ ] t t" + . (# "future:1") + . (# midiG' "^13" 0 2) + ) ("n1") + $ fix ( + struct "t([3 <3!3 5>],8,<0!8 3!8>)" + . (# n "<3!3 [3 2]>") + . (# "amencutup") + . (# midiG "^15") + ) "n3" -- amen excerpt + $ fix ( + struct "" + . (# "snare:34") + . (# midiG' "^14" 0 1.2) + ) "n2" -- tchak reverb phantome + $ fix ( + (# "90s_megafx:39") -- FIXME: REMOVED! + . (struct "t*3 ~ . t*<1!3 2> t*<1 3>") + . (# midiG "^16") + ) "n4" -- FX1 + $ "[n1,n2,n3,n4]" + # gain 0.8 diff --git a/live/midi/nova/ambient/drone_aveugle.tidal b/live/midi/nova/ambient/drone_aveugle.tidal index 5370ee4..f3b280c 100644 --- a/live/midi/nova/ambient/drone_aveugle.tidal +++ b/live/midi/nova/ambient/drone_aveugle.tidal @@ -12,7 +12,7 @@ d2 $ g $ fix (|* gain 0.58) ("sn") $ fix (|* gain 0.8) ("snare") $ "~!7 <~!3 sn:27> . [glitch:5,snare:28]" - # midiG' "^79" 0 1 + # midiG' "^79" 0 1.4 d3 $ g $ midiOn "^44" (fast "4!3 <8 [<4 8> <4!3 8>]>") $ "hh(3,8)" diff --git a/live/midi/nova/breaks/nova_bossa.tidal b/live/midi/nova/breaks/nova_bossa.tidal index 6aeffac..33a1dd8 100644 --- a/live/midi/nova/breaks/nova_bossa.tidal +++ b/live/midi/nova/breaks/nova_bossa.tidal @@ -23,7 +23,7 @@ let m = mBreak setcps (60/60/4) d1 $ g1 $ m -- $ "k(<3!3 5>,8)" - $ midiOn "^41" (fast 2) -- TODO: Comment to Cooldown :') + $ midiOn "^41" (fast 2) -- Cooldown :') $ "k . <~ [k . ,8)>]>" # "[808bd:3,cpu2]" -- $ fast 2 $ "k k k k]>" # "[909,jazz]" -- TECHNOOOO # midiG' "^78" 0 1.4 diff --git a/live/midi/nova/breaks/solar.tidal b/live/midi/nova/breaks/solar.tidal index 57e57bb..c6b4a06 100644 --- a/live/midi/nova/breaks/solar.tidal +++ b/live/midi/nova/breaks/solar.tidal @@ -36,6 +36,7 @@ d2 $ g1 $ m -- BREAK $ slice 8 (run 8) $ "break:11" # hpf 500 + # speed (range "0" 2 "^32") # octerbus 20 (range 0 0.5 "^52") # octersubbus 21 (range 0 1.2 "^52") # octersubsubbus 22 (range 0 1.2 "^52") diff --git a/live/midi/nova/computer_riddim.tidal b/live/midi/nova/computer_riddim.tidal deleted file mode 100644 index 1088e0e..0000000 --- a/live/midi/nova/computer_riddim.tidal +++ /dev/null @@ -1,128 +0,0 @@ --- Computer Riddim!# --- Following instructions in http://studio.dubroom.org/tutorials-computerdub15.htm --- Skipped: Chap 18 (Why?) --- Skipped: Chap 21 (Too complex, rather live synth) --- TODO: Chap 22 - From reggae to dub - -do --- region Nova Utils -let gFactor = 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 gDJF = (# djfbus 1 (range 0.05 0.95 "^49")) --- endregion Nova Utils --- let gDelayD = (# delay (range 0 5 "^13")) --- let gDelayFB = (# delayfb (range 0 0.9 "^14")) -let gRoom = ((|+ room (range 0 0.5 "^29")) . (# dry 0.99)) -let gSize = (|+ size (min 0 (range "-0.5" 0.5 "^29"))) --- let gDelay = (gDelayD . gDelayFB . (# delayt 0.25) . (# orbit 2)) -let g = (gDJF . gRoom) -- TODO djf2 separate instruments -let chords = "<[a5,c5,e5] [e4,g4,b4]>" -let gDelay = id -let gDelayD = id -setcps (140/60/4) -- keep it between 110-190 BPM. You won't be sorry you did. --- resetCycles -d1 - $ g -- Kick - $ superimpose ((# "kick:5") - . (# crush (range 6 2.5 "^50")) - . (|* gain (range 0 1 "^50"))) - $ midiOn "^73" (<| "~ ~ k ~") -- 1D - $ midiOn "^74" (<| "k*2") -- 2D - $ midiOn "^75" (<| "k ~ ~ <~!3 k>. k ~ <~ k> ")-- RubADub+adjustements - $ midiOn "^41" (<| "k k k k]>") -- 4F - $ midiOff "^41" (<| "k . k <~ [<~ k> ]>")-- RubADub - $ "[jazz,tech:5]" - # room 0.05 - # midiG' "^78" 0 1.05 -d2 - $ g -- Snare - $ (|- lpf 1000) - $ midiOn "^43" (|<| "s*4") - $ "~ <~!7 s> ~ ~ . s" - # "[snare:50,snare:4]" - # orbit 1 - # gM' 0.2 1.3 "^79" -d3 $ g -- Hats - $ midiOn ("^76") (slice 8 (run 8) . (loopAt 1) . (>| "breaks165")) - $ every' 4 3 ( - sometimesBy "0 . 1 0!3" ((# "ho:2") . (|* gain 0.9)) - . sometimesBy "0 . 0 1 0 0" (|* gain 0) - ) - $ midiOn ("^44") (degradeBy (slow 4 $ range 0.9 0 saw) . (<|"h*16")) -- TODO Eclaircir - $ midiOff ("^44") (<| "h*[8 . 8 <8 16 32 4>]") - $ (|* gain "[1 0.9]*4") -- make sure that you reduce the velocity of the Hi Hat hit - $ s "gretsch:4" - -- # pan "^52" - # cut 3 - # orbit 1 - # pan 0.2 - # gM' 0.2 1.25 "^80" -d4 $ g -- Bassline - $ midiOn "^57" (>| note "[~ a4] [~ ] ") -- Naif - $ midiOff "^57" (>| note "<[~ a4@1.5 . a4 a4 e c] [e e . b4*<1 <2 4>>]>") -- simple+adjustements - $ note "0" # "bass1:3" - # cut 4 - # pan 0.7 - # lpq (range 0 0.33 "^33") - # release 0.95 - # orbit 1 - # crushbus 41 (range 16 3.5 "^53") - # midiG' "^81" 0.25 1 -d5 $ g $ gDelay -- Skank Piano - $ whenmod 4 3 (sometimesBy "0 1 . 0" ( - (# note "[d5,g4,b4]") . (|* gain 0.8) - )) - $ "<[~ p*<1 1 1 <1 2>> ~ p*<1 1 2 1>]>" - -- TODO FIX ALIGNMENT CONTRETEMPS DE LA REPETITION - -- $ "<[~ p p] [~ [p <~ p*<1 2>>] . ~ p]>" - # "superpiano" - # note chords - # velocity 0.6 - # sustain 0.34 - # release 0.8 - # room 0.13 # sz 0.4 - # pan 0.4 - # midiG' ("^82" * (range 0.25 1.5 "^54")) 0 1 -d6 $ g $ gDelay-- Skank Hammond - $ ("0.125" ~>) - $ fast 2 - $ note (("[0 12 0 <~!6 12!2>]" |+ (slow 2 chords))) - # "superhammond" - # gM' 0 0.8 ("[0 0.25 0 0]" |+ "^82" * (range 0 0.9 "^34")) - # voice 4 - # octave 6 - # pan 0.74 - # sustain 0.25 -d7 - $ g $ gDelay -- Skank Guitar - $ note "[~ ]*2" - # "pluck:5" - # octave 5 - # gM' 0 1 ("^82" * ((range 0.25 1.5 "^18"))) -d8 -- Trompette lancinante - $ g $ gDelayD - $ degradeBy "^35" - $ midiOn "^59" (mask "") - $ superimpose ((|- note 12) . (# cut 81) . (|* gain 0.95)) - $ note (" bf d ~]> " + "0 <12 0>" - - 12) - # "brass" # n "2" - # gM' 0.2 1 "^83" - # attack 0.5 - # cut 8 -d9 -- CP - $ midiOn "^60" (fast 2) - $ (# lpf 2000) - $ g - $ whenmod 4 2 (superimpose ((# "clap") . (# lpf 4500) . (|* gain 0.8))) - $ fast 2 - $ "~ cp" - # gM' 0 1.1 "^84" - # room 0.2 - # dry 0.9 - # lpf 2000 - - -once $ "brass:4" # gain 0.6 # cut 1 diff --git a/live/midi/nova/dnb/break_the_loop.tidal b/live/midi/nova/dnb/break_the_loop.tidal new file mode 100644 index 0000000..4cb51e2 --- /dev/null +++ b/live/midi/nova/dnb/break_the_loop.tidal @@ -0,0 +1,83 @@ + +do +setcps (165/60/4) +let modIndex = pF "modIndex" +let gF2 = (# djfbus 2 (range 0.05 0.95 "^29")) +let gF = (# djfbus 1 (range 0.05 0.95 "^49")) +let gM = (midiOn "^42" (mask "t >")) +d1 + $ gF + $ midiOn "^42" (mask "t(1,4)") + -- $ mask "" + $ fix (|* gain 0.9) ("kick") + $ fix ((|* gain 0.75) . (# att 0.35) . (# rel 1) + ) ("reverbkick") + $ midiOn "^41" (<| "k k k]>") + $ midiOff "^41" (<| "k . ~ k ~ ~") + $ "jazz" + # midiG' "^78" 0 1.3 +d2 $ gF $ gM + $ fix ((|* gain 0.9)) ("snare:40") + $ "~ s ~ >>" # "[snare:31,snare:40]" + # midiG' "^79" 0 1.2 + # pan 0.46 + # room 0.74 # sz 0.2 # dry 1 +d3 $ gF2 $ gM + $ midiOn "^76" (scramble (8 - 4 * "^44")) + $ midiOn "^44" (slice 16 (run "8 . <8 8 <8 16> <16!3 [32 <32 16>]>>")) + $ midiOff "^44" (slice 8 ("0 1 2 3 . 4 5 6 <7!3 6>")) + $ loopAt 2 + $ "break:15" + # cut 2 + # pan "^16" + # speed (range 0 2 "^52") + # midiG' "^80" 0 1.2 +d4 -- BASSLINE BRULANTE + $ gF + $ midiOn "^57" ( + -- superimpose + ( + midiOn "^89" (ply "2 2 4 <2 4 <4 4 8 4> <2 4>>") + . (+| note (scale "aeolian" (arp "converge" $ + "[0 <2!4 1!2 2!2> 0 <0!3 4>]" + -- "<5@3 [5 4@2]> <<2 0> [2 0]>" + ))) + . (# cut 41) + . (|* gain 0.95) + )) + $ slow 2 -- 5/2 + $ note (scale "aeolian" + "<[<5@3 [5 4@2]> <<2 0> [2 0]>] <5 <0 [0 . 0 <0 7> 0]>>>" + ) + # "90s_synatm:9" + # pan "^17" + # room 0.5 # dry 0.2 # sz 0.8 + # crushbus 41 (range 10 1.9 "^53") + # midiG' "^81" 0 0.99 + # cut 4 +d5 $ gF2 $ gM + $ note ( + "<[c ~ c d ~ d ~]!0 [f ~ f g ~ ~]!8>" + - "<24!12 12!4>") + # "FMRhodes1" + # pan 0.7 + # modIndex (range 0 100 "^54") + # crushbus 41 (range 10 4.5 "^34") + # midiG' "^82" 0 1.2 +d6 $ gF2 + $ swingBy 0.125 8 + $ midiOn "^59" (superimpose ( + (>| note (scale "aeolian" "<7 [7@3 <5 9>]>")) + . (# cut 61) + . (# legato 1.2) + . (|+ pan 0.1) + )) + $ note (scale "aeolian" (arp "" + "<[2,7,2,<0!3 <7 14>>]!8 [1,5,2,7,<10!2 9 8 8 8 9 10>]!8>" + )) + # "90s_matrix:3" + # cut 6 # gain 0.4 + # squizbus 61 (range 0 4 "^55") + # room 0.2 # dry 1 # sz 0.8 + # pan 0.6 + # midiG' "^83" 0 1 diff --git a/live/midi/nova/dub.tidal b/live/midi/nova/dub.tidal index a7a839e..0b7312b 100644 --- a/live/midi/nova/dub.tidal +++ b/live/midi/nova/dub.tidal @@ -4,7 +4,7 @@ setcps (80/60/4) 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 gFilter = (# djf "^49") +let gFilter = (# djfbus 1 (range 0.05 0.95 "^49")) let gRVB = ((# room 0.125) . (# dry 0.99) . (# sz 0.8)) let gSize = (|* size (range 0 0.25 "^13")) let g = (gFilter . gSize . gRVB) diff --git a/live/midi/nova/dub/computer_riddim.tidal b/live/midi/nova/dub/computer_riddim.tidal new file mode 100644 index 0000000..1088e0e --- /dev/null +++ b/live/midi/nova/dub/computer_riddim.tidal @@ -0,0 +1,128 @@ +-- Computer Riddim!# +-- Following instructions in http://studio.dubroom.org/tutorials-computerdub15.htm +-- Skipped: Chap 18 (Why?) +-- Skipped: Chap 21 (Too complex, rather live synth) +-- TODO: Chap 22 - From reggae to dub + +do +-- region Nova Utils +let gFactor = 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 gDJF = (# djfbus 1 (range 0.05 0.95 "^49")) +-- endregion Nova Utils +-- let gDelayD = (# delay (range 0 5 "^13")) +-- let gDelayFB = (# delayfb (range 0 0.9 "^14")) +let gRoom = ((|+ room (range 0 0.5 "^29")) . (# dry 0.99)) +let gSize = (|+ size (min 0 (range "-0.5" 0.5 "^29"))) +-- let gDelay = (gDelayD . gDelayFB . (# delayt 0.25) . (# orbit 2)) +let g = (gDJF . gRoom) -- TODO djf2 separate instruments +let chords = "<[a5,c5,e5] [e4,g4,b4]>" +let gDelay = id +let gDelayD = id +setcps (140/60/4) -- keep it between 110-190 BPM. You won't be sorry you did. +-- resetCycles +d1 + $ g -- Kick + $ superimpose ((# "kick:5") + . (# crush (range 6 2.5 "^50")) + . (|* gain (range 0 1 "^50"))) + $ midiOn "^73" (<| "~ ~ k ~") -- 1D + $ midiOn "^74" (<| "k*2") -- 2D + $ midiOn "^75" (<| "k ~ ~ <~!3 k>. k ~ <~ k> ")-- RubADub+adjustements + $ midiOn "^41" (<| "k k k k]>") -- 4F + $ midiOff "^41" (<| "k . k <~ [<~ k> ]>")-- RubADub + $ "[jazz,tech:5]" + # room 0.05 + # midiG' "^78" 0 1.05 +d2 + $ g -- Snare + $ (|- lpf 1000) + $ midiOn "^43" (|<| "s*4") + $ "~ <~!7 s> ~ ~ . s" + # "[snare:50,snare:4]" + # orbit 1 + # gM' 0.2 1.3 "^79" +d3 $ g -- Hats + $ midiOn ("^76") (slice 8 (run 8) . (loopAt 1) . (>| "breaks165")) + $ every' 4 3 ( + sometimesBy "0 . 1 0!3" ((# "ho:2") . (|* gain 0.9)) + . sometimesBy "0 . 0 1 0 0" (|* gain 0) + ) + $ midiOn ("^44") (degradeBy (slow 4 $ range 0.9 0 saw) . (<|"h*16")) -- TODO Eclaircir + $ midiOff ("^44") (<| "h*[8 . 8 <8 16 32 4>]") + $ (|* gain "[1 0.9]*4") -- make sure that you reduce the velocity of the Hi Hat hit + $ s "gretsch:4" + -- # pan "^52" + # cut 3 + # orbit 1 + # pan 0.2 + # gM' 0.2 1.25 "^80" +d4 $ g -- Bassline + $ midiOn "^57" (>| note "[~ a4] [~ ] ") -- Naif + $ midiOff "^57" (>| note "<[~ a4@1.5 . a4 a4 e c] [e e . b4*<1 <2 4>>]>") -- simple+adjustements + $ note "0" # "bass1:3" + # cut 4 + # pan 0.7 + # lpq (range 0 0.33 "^33") + # release 0.95 + # orbit 1 + # crushbus 41 (range 16 3.5 "^53") + # midiG' "^81" 0.25 1 +d5 $ g $ gDelay -- Skank Piano + $ whenmod 4 3 (sometimesBy "0 1 . 0" ( + (# note "[d5,g4,b4]") . (|* gain 0.8) + )) + $ "<[~ p*<1 1 1 <1 2>> ~ p*<1 1 2 1>]>" + -- TODO FIX ALIGNMENT CONTRETEMPS DE LA REPETITION + -- $ "<[~ p p] [~ [p <~ p*<1 2>>] . ~ p]>" + # "superpiano" + # note chords + # velocity 0.6 + # sustain 0.34 + # release 0.8 + # room 0.13 # sz 0.4 + # pan 0.4 + # midiG' ("^82" * (range 0.25 1.5 "^54")) 0 1 +d6 $ g $ gDelay-- Skank Hammond + $ ("0.125" ~>) + $ fast 2 + $ note (("[0 12 0 <~!6 12!2>]" |+ (slow 2 chords))) + # "superhammond" + # gM' 0 0.8 ("[0 0.25 0 0]" |+ "^82" * (range 0 0.9 "^34")) + # voice 4 + # octave 6 + # pan 0.74 + # sustain 0.25 +d7 + $ g $ gDelay -- Skank Guitar + $ note "[~ ]*2" + # "pluck:5" + # octave 5 + # gM' 0 1 ("^82" * ((range 0.25 1.5 "^18"))) +d8 -- Trompette lancinante + $ g $ gDelayD + $ degradeBy "^35" + $ midiOn "^59" (mask "") + $ superimpose ((|- note 12) . (# cut 81) . (|* gain 0.95)) + $ note (" bf d ~]> " + "0 <12 0>" + - 12) + # "brass" # n "2" + # gM' 0.2 1 "^83" + # attack 0.5 + # cut 8 +d9 -- CP + $ midiOn "^60" (fast 2) + $ (# lpf 2000) + $ g + $ whenmod 4 2 (superimpose ((# "clap") . (# lpf 4500) . (|* gain 0.8))) + $ fast 2 + $ "~ cp" + # gM' 0 1.1 "^84" + # room 0.2 + # dry 0.9 + # lpf 2000 + + +once $ "brass:4" # gain 0.6 # cut 1 diff --git a/live/midi/nova/dub/simon_arrive.tidal b/live/midi/nova/dub/simon_arrive.tidal new file mode 100644 index 0000000..98e7373 --- /dev/null +++ b/live/midi/nova/dub/simon_arrive.tidal @@ -0,0 +1,35 @@ + +do +setcps (85/60/4) +d1 $ "reverbkick" + # lpf 400 + # gain 0.5 +d2 + $ "~ snare:20" + # hpf 5000 + # gain 0.8 +d4 + -- $ g2 + $ note ("c2@4 c2 . @2 >@2" + 12) + # "bassWarsaw" + # legato 2 + # lfobus 50 (fast 4 sine) + # midiG' "^81" 0 1 + # pan 0.2 + -- # crushbus 51 (range 16 3.5 "^54") + -- # octerbus 52 (range 0 "<0.4 0.5 0.9 1.2>" (fast "<4!3 8>" sine)) + -- # octersubbus 53 (range 0 8 ("^34" + 0.5 * (fast 16 cosine))) + # panbus 54 (range 0.6 0.8 saw) + # room 0.5 # sz 0.8 + # cut 5 +d5 + $ note "~ c5 ~ >" + # "superpiano" + # pan 0.7 + # velocity 0.7 + # gain 0.7 + +d10 + $ "90s_glassatm:0/4" + # cut 10 + # gain 0.4 diff --git a/live/midi/nova/dub/skunky.tidal b/live/midi/nova/dub/skunky.tidal index 4771aa8..ecfa8d8 100644 --- a/live/midi/nova/dub/skunky.tidal +++ b/live/midi/nova/dub/skunky.tidal @@ -9,11 +9,13 @@ let harmonic = pF "harmonic" let gate = pF "gate" d1 $ g1 - $ midiOn "^41" q(fast 2) -- TODO: Comment to Cooldown :') - $ superimpose ((|* gain 0.5) . (# "kick:5")) + $ midiOn "^41" (fast 2) -- TODO: Comment to Cooldown :') + $ fix ((|* gain 0.5) . (# "kick:5")) ("c") + $ fix ((|* gain 0.37) . (# "cpu2")) ("b") + $ fix ((|* gain 0.8) . (# "jazz")) ("a") $ midiOn "^42" (<| "k . k ") -- Jump? $ midiOn ("^43" - "^42") (<| "k k k ]!16 ~!3 k ~!3 k k!3 ~ k!3 ~> k]>") -- RUN! - $ "jazz" + $ "[a,b,c]" # legato 2 # lpf 4000 # room 0.85 @@ -22,9 +24,9 @@ d1 # midiG' "^78" 0 1.5 d2 $ g1 -- Snare cloc fantome $ whenmod 32 8 (fast 2) - -- $ fix ((# rel "<0.18!7 0.45>") . (|* gain "<0.7!7 0.5>")) ("glitch") - $ fix ((|* gain 0.8)) ("snare") - $ "~ sn" # "[808lc,cpu:8,tech:5,snare:5]" -- ,glitch:2 + $ fix ((# rel "<0.18!7 0.45>") . (|* gain "<0.7!7 0.5>")) ("glitch") + $ fix ((# begin 0.02) . (|* gain 0.84)) ("snare") + $ "~ sn" # "[808lc,cpu:8,tech:5,snare:5,glitch:2]" # room ("<0.25!3 0.5>" + (slow 4 $ range 0 0.25 perlin)) # dry 0.98 # sz 0.9 @@ -34,16 +36,16 @@ d3 $ g2 $ midiOff "^44" (slow "<2!3 <1 2>>") $ ply "2 <2!3 [2|4|8]*4>" $ "h h h h*<1 2>" - # "hh" + # "h2ogmhh" # n "1 <2 [2 1]>" # pan "<0.4 0.4 [0.4|0.6] <0.6 0.8>>" - # midiG' "^80" 0 (range 0 2 "^32") + # midiG' "^80" 0 (range 0 1.2 "^16") d7 $ g2 -- BREAKBEAT <3 $ loopAt 2 $ midiOn "^76" (mask "t(<3<5 8>>,8) t(<1 2>, 4) t?" . iter 4 . splice 8 (run 32) . (|> "breaks165")) $ midiOn "^44" (slice 8 (run 8)) $ midiOff "^44" (slice 8 (run 4)) $ "break" # n "<21!32 22!8>" - # midiG' "^80" 0 (range 0 2 "^16") + # midiG' "^80" 0 (range 0 1.4 "^32") # speed (range 0 2 "^52") d4 $ g2 $ note "[c3(<3!3 <1 5>>,8),[~!7 < b3 b3 ~ ~ ~ b3>]] " @@ -62,7 +64,7 @@ d5 $ g2 # "bassWarsaw" # legato 2 # lfobus 50 (fast 4 sine) - # midiG' "^82" 0 1.5 + # midiG' "^82" 0 1 # crushbus 51 (range 16 3.5 "^54") # octerbus 52 (range 0 "<0.4 0.5 0.9 1.2>" (fast "<4!3 8>" sine)) # octersubbus 53 (range 0 8 ("^34" + 0.5 * (fast 16 cosine))) @@ -76,7 +78,7 @@ d6 $ g2 -- Skank organ ) $ note ("~ 0*<2 2 1 2> ~ 0*<2!3 <1 2>>" + ", bf4]!2>*2" - + "[0,12]" + -- + "[0,12]" - 24 ) # "[<~!3 organTonewheel2>,organTonewheel3]" diff --git a/study/chords/lofi.tidal b/study/chords/lofi.tidal index 97a5b52..baf63ac 100644 --- a/study/chords/lofi.tidal +++ b/study/chords/lofi.tidal @@ -21,17 +21,17 @@ let modIndex = pF "modIndex" d1 -- $ slow 4 -- Helper: slow down $ note ( - midiOn "^43" (arp "up") -- Helper: arpegiate every other chord + -- 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]>" + "<[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]>>" + -- "<[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?) @@ -44,5 +44,5 @@ d1 # room 0.8 # dry 1 # sz 0.2 + -- # midiG' "^79" 0 1.2 # gain 0.7 - # midiG' "^79" 0 1.2 diff --git a/study/samples/90s.tidal b/study/samples/90s.tidal index fefcc9a..7597c58 100644 --- a/study/samples/90s.tidal +++ b/study/samples/90s.tidal @@ -38,7 +38,6 @@ once -- 6: Resolu bass - -- CELTIC TECHNO do setcps (120/60/4) @@ -47,21 +46,21 @@ d1 $ g $ mask "" $ "k*4" - # "jazz" # gain 0.8 + # "jazz" # gain 0.65 d3 $ g $ mask "" $ fast "<1!7 2 1!4 2!4>" $ "hh*[8 <8 [8 <[4 <8 4>]!3 16>]>]" - # gain 0.65 + # gain 0.75 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 + # gain 0.67 d10 -- fx $ "~ <~!7 90s_megafx:335>" - # gain 0.3 + # gain 0.5 # room 0.8 # cut 10 -- libgit2 0.27.0