From fd79c3e0588a9aeb502b56ee6f26ba9e99fd3c21 Mon Sep 17 00:00:00 2001 From: Paul-Louis NECH Date: Wed, 13 Oct 2021 23:20:33 +0200 Subject: [PATCH] update: from horizons to final pixels --- live/dub/racine_clave.tidal | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ live/hip/chaude_civ.tidal | 10 +++++----- live/hip/instru/pixels_roses.tidal | 35 +++++++++++++++++++---------------- live/midi/nova/breaks/solar.tidal | 7 ++++--- live/midi/nova/lofi/soleil_de_sete.tidal | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ live/midi/nova/wave/horizons.tidal | 181 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 355 insertions(+), 24 deletions(-) create mode 100644 live/dub/racine_clave.tidal create mode 100644 live/midi/nova/lofi/soleil_de_sete.tidal create mode 100644 live/midi/nova/wave/horizons.tidal diff --git a/live/dub/racine_clave.tidal b/live/dub/racine_clave.tidal new file mode 100644 index 0000000..4cc9329 --- /dev/null +++ b/live/dub/racine_clave.tidal @@ -0,0 +1,60 @@ +-- Racine clave +-- TODO: Etoffer la clave, structures, masks, breaks, drop + +do +setcps (110/60/4) +d1 + -- $ "k*2" + $ superimpose (<| "~!15 <~!3 k>") + $ ( -- Kick rhythm + "k . k ]>" -- RubADub + |+| "k*[4 <8!3 16>]" -- Run + -- |+ "~!15 k" + ) + # "[cpu2,jazz]" + # gain 0.6 + # lpf 4500 +d2 + $ someCyclesBy "" (fast 2) + $ "d ~ ~ d d ~ d <~!3 d>" + # "h2ogmhh:3" + # gain 0.57 + # pan 0.8 +d3 + $ n ("~ <3!3 [~!6 4 3]>") + # "h2ogmsn" + # pan 0.8 + # gain 0.6 +d4 $ "h2ogmhh:10(<1 3 [1 3] <5 [8 <[8|16] 5>]>>,8)" + # cut 4 + # pan 0.35 + # gain 0.5 +d5 -- Bass + $ superimpose ( + whenmod 16 4 (stut 4 "<0.9!3 1.05>" "") + . (# lpf 4000) + . (# cut 51) + . (# legato 0.125) + ) + $ note "[~!3 <~!3 c> . >]" -- Naive bassline + # "bass1:3" + # att 0 + # rel 2 + # crushbus 5 (slow 32 $ range 10 8.5 saw) + # cut 5 + # lpf 5000 + # gain 0.6 + # room 0.2 + # sz 0.8 +d6 -- Baseline saxes + $ n ("<0 1 0 1 1 0 1 0 1 1 1 0 0 0 0 1>") + # "rootsSaxes" + # cut 6 + # pan (slow 16 $ range 0.65 0.35 saw) + # gain 0.45 +d7 -- Baseline trumpets + $ n ("<0 1 0 1 1 0 1 0 1 1 1 0 0 0 0 1>") + # "rootsTrump" + # pan (slow 16 $ range 0.35 0.65 saw) + # cut 7 + # gain 0.34 diff --git a/live/hip/chaude_civ.tidal b/live/hip/chaude_civ.tidal index 6722971..e6e5307 100644 --- a/live/hip/chaude_civ.tidal +++ b/live/hip/chaude_civ.tidal @@ -11,13 +11,13 @@ d1 -- Kick base chaloupé ? $ " ~ > ~ k [k|k*2] k" # "reverbkick" # room 0.1 # sz 0.1 - # gain (slow 32 $ range 0.5 0.7 saw) + # gain (slow 32 $ range 0.75 1.1 saw) d2 -- Breakbeat # FIXME WHICH fbreak WAS IT? :sweat: $ mask "" $ slice "<8!12 4 4 2 [4 . 8 4]>" ("<0!3 4>" + "0 1 2 3") $ loopAt 2 $ "fbonus:9" - # gain 0.7 + # gain 0.9 # cut 2 d3 -- Drumroll metal $ fast "<4 4 8 4 4 [4 . ~ 8] 8 <[16 8] 16>>" @@ -55,7 +55,7 @@ d6 -- A Yatta, a Jutta! $ fast "<2!4 1!4> <2!4 4!4 2!4 4 4 [8 4!3] [4!3 8] 2!4 8!4 4!8 2!4>" $ "diphone" # n (slow 38 $ "<0 .. 38>") - # gain (slow 128 $ range 0.3 0.85 (saw + (perlin /2))) + # gain (slow 128 $ range 0.53 1.15 (saw + (perlin /2))) # pan 0.5 # cut 6 d7 -- Synth second bass @@ -64,7 +64,7 @@ d7 -- Synth second bass $ "0 0*<1!3 4> 0*2" # note (" c4'maj >") # "bassWarsaw" - # gain 0.65 + # gain 0.8 # pan 0.3 d8 $ often ("q" ~>) @@ -73,4 +73,4 @@ d8 # cut 8 # legato 2 # pan 0.2 - # gain 0.5 + # gain 0.65 diff --git a/live/hip/instru/pixels_roses.tidal b/live/hip/instru/pixels_roses.tidal index d55c59c..948fcad 100644 --- a/live/hip/instru/pixels_roses.tidal +++ b/live/hip/instru/pixels_roses.tidal @@ -1,8 +1,10 @@ -do +-- Pixels roses: le combat est inévitable resetCycles + +do setcps (60/60/4) let modIndex = pF "modIndex" -let gF1 = (someCyclesBy "" (# djfbus 1 (slow 4 $ range 0.5 0.02 saw))) -- Intro DJF +let gF1 = (someCyclesBy "" (# djfbus 1 (slow 6 $ range 0.5 0.1 saw))) -- Intro DJF let gF2 = (whenmod 64 48 (# djf (slow 16 $ range 0.5 0.2 saw))) -- Parts DJF let gF = gF1 . gF2 -- Global filter let gM1 = (whenmod 16 8 (whenmod 8 7 (mask "t(<3 [3 4]>,4)"))) @@ -45,9 +47,8 @@ d4 -- Main theme choir (|* gain (slow 32 $ range 0.64 0.9 saw)) . (mask "t t t t ") ) - -- $ sometimesBy (slow 16 $ range 0 0.33 saw) -- Echo - $ always -- Echo - (juxBy 0.2 ( + $ always ( -- Echo + juxBy 0.2 ( (# rel (range 0.4 1 perlin)) . (|+ pan 0.1) ) @@ -60,10 +61,10 @@ d4 -- Main theme choir # sz 0.76 # dry 2.2 # rel (0.45 + 0.2 * perlin) - # gain (slow 16 $ range 0.7 0.8 saw) + # gain ((slow 16 $ range 0.85 1.1 saw) + 0.1 * perlin) d5 -- Support bassline $ gF - $ mask "" -- Orchestration + $ mask "" -- Orchestration $ whenmod 64 48 ( -- Crushed outro (# crushbus 50 (slow 16 $ range 10 2.5 saw)) . (|* gain (slow 16 $ range 1 0.8 saw)) @@ -74,11 +75,11 @@ d5 -- Support bassline # "bassWarsaw" # pan 0.25 # room 0.8 - # gain 0.7 + # gain 0.67 d6 -- RHODE ELECTRIC ARPS bassline - $ gF $ gM + $ gF $ mask ">,4)!8>" -- Outro - $ mask "" -- Orchestration + $ mask "" -- Orchestration $ whenmod 64 20 (superimpose ( whenmod 8 4 (mask "t f . t(<1 3 5 7>,8)") -- . degradeBy (slow 32 $ "0 1!14 0" * (range 0.9 0.05 saw)) @@ -91,20 +92,22 @@ d6 -- RHODE ELECTRIC ARPS bassline ) # "FMRhodes1" # modIndex (slow 16 $ range 1 15 perlin) - # room 0.4 + # room 1.05 # sz (0.28 + 0.2 * perlin) - # gain (slow 16 $ range 0.67 0.89 cosine) - # pan 0.8 + # gain (slow 16 $ range 0.7 0.8 cosine) + # pan (0.75 + 0.1 * perlin) d8 -- Breakbeat for ya $ gF $ gM - $ mask "" -- Orchestration - $ degradeBy (slow 32 $ range 0.05 0.9 sine) + $ mask ",8)!8 t!7 f t!8 t(1,4,<0!3 1>)!4 t!3 f t!16 t(8,16)!16 t!16 t(5,16)!16>" -- Orchestration + -- $ degradeBy (slow 32 $ range 0.05 0.9 sine) $ loopAt 2 $ slice 16 ((sometimes (ply "2 <4 <8 [8|16]>>")) $ run "<16!6 8 <8 16>>") $ "break" # cut 8 # pan 0.7 - # gain 0.57 + # gain (0.8 + * "<0.5!4 0.75!4 1!120>" -- intro + ) d9 -- Bones NOISE $ gF $ whenmod 128 8 (gM) $ slice 4 (run "<1 <1 2> 4 4> <2 2 4 <4 8>>") diff --git a/live/midi/nova/breaks/solar.tidal b/live/midi/nova/breaks/solar.tidal index 61ecff1..1185f38 100644 --- a/live/midi/nova/breaks/solar.tidal +++ b/live/midi/nova/breaks/solar.tidal @@ -17,7 +17,7 @@ d1 $ g1 $ m -- $ midiOff "^42" (<| "k . ~ k*<1!3 2 2 2 1 2> <~ ~ k >") -- $ "[jazz,super808]" $ "[reverbkick]" - # midiG' "^78" 0 1.4 + # midiG' "^78" 0 1.3 d3 $ g1 $ m -- Snare $ mask "" -- $ fast "<1!4 2!10 4 [4 8]>" @@ -37,8 +37,9 @@ d2 $ g1 $ m -- BREAK # octersubbus 21 (range 0 1.82 "^52") # midiG' "^80" 0 1.2 # cut 2 -d4 $ g1 $ m -- Drumroll! - $ "drum:2*[8!3 <<8 [8 [8|16]]>!6 [8 4]!2>]" +d4 $ g1 $ m -- Drum/hh roll! + $ sometimesBy 0.2 (fast "1 <1 2>") + $ "d*[8!3 <<8 [8 [8|16]]>!6 [8 4]!2>]" # "[drum:2,db:2,db:7?]" # room "^53" # dry 0.99 # midiG' "^81" 0 1.4 diff --git a/live/midi/nova/lofi/soleil_de_sete.tidal b/live/midi/nova/lofi/soleil_de_sete.tidal new file mode 100644 index 0000000..19cc0bb --- /dev/null +++ b/live/midi/nova/lofi/soleil_de_sete.tidal @@ -0,0 +1,86 @@ +resetCycles + +-- Soleil de Sete - LoFi avec accompagnement + +once $ "dr" # gain 0.9 + +-- TODO: + +d1 $ "bd dr" + +do +setcps (90/60/4) +let modIndex = pF "modIndex" +let chords = "<[a,c,e,g6,b6,d6] [d,fs,a6,c6] [f,a,c6,e6] [c,e,g6,b6]>" +let chordsMin = "< [f] [c]>" -- TODO confirm/finish/validate +-- let gFilter = whenmod 32 24 (# djfbus 2 (slow 8 (range 0.5 0.05 saw))) +-- let gFilter2 = whenmod 32 24 (# djfbus 3 (slow 8 (range 0.45 0.75 saw))) +let gDJF2 = (# djfbus 2 (range 0.05 0.95 "^29")) +let gDJF1 = (# djfbus 1 (range 0.05 0.95 "^49")) +let g = gDJF1 -- . gFilter +let g2 = gDJF2 -- . gFilter2 +d1 $ g + $ midiOn ("^44" - "^76") (ply 2) + $ midiOn "^76" (striate 4) + -- $ mask "" -- First break + -- $ mask "" -- Post-filter break + -- $ mask "" -- Intro mask + $ "k*<1!8 2!24> . k*[<<3 1> 3!6 4> <8 3 8 <8 [8 4]>>]" + # "[bd:2,kick:5]" + # midiG' "^78" 0 1.45 + # legato 2 + # att 0.1 + # rel 0.8 +d2 $ g -- Aerian snare + -- $ mask "" -- First break + -- $ mask "" -- Snare mask + $ n "~ <~!3 [~!3 <10 10?>]>. 9" + # "sn" + # midiG' "^79" 0 1.6 + # pan 0.6 + # lpf 1500 +d3 $ g2 + $ mask "" + $ "d*[<<4!4 [8 <4 8>]!4> 16!4> <16!3 8 16 16 8 8 16 16 8 16 16 8 16 16>]" + # "drum:2" + # pan 0.35 + # dry 1.1 # room 0.5 # sz 0.8 + # midiG' "^80" 0 (slow 8 $ range 0.9 1.3 saw) +d5 $ g -- BREAKBEAT BUDDY + -- $ mask "" -- Post-filter break + -- $ mask "" + $ whenmod 16 8 ( + sometimesBy "0 0.2 . 0.75!3 0" + (ply "2 . [2|4]")) + $ chop 16 + $ loopAt 2 + $ "fbreak100" + # pan 0.65 + # midiG' "^83" 0 1.6 +d4 $ g -- Bassline + $ midiOn "^89" (chop 8) + $ midiOff "^57" (mask "") + -- $ whenmod 64 48 (# crush (8 - (slow 16 $ range "-1.5" 2.5 perlin))) + $ note ("[0,<~!8 0(<1 <3 5>>,8)!8>] [0,12]" + |+ chordsMin + - 24 + ) + # "bassWarsaw" + # pan 0.3 + # hpf (range 0 500 perlin) + # crushbus 41 (range 10 3.6 "^53") + # midiG' "^81" 0 (slow 16 $ range 1.1 1.2 sine) + # room 0.4 +d6 $ g2-- Rhodes chords + $ whenmod 4 3 (rarely (off "h" (arp "up" . mask "f f t? t"))) + $ superimpose ((|* gain "0 0.79") . (|+ note 12)) -- Depth + $ whenmod 16 12 (someCyclesBy "0 1" rev) + $ note (chords + - 24 + ) + # "FMRhodes1" + # modIndex (range 0 10 "^54") + # midiG' "^82" 0 (slow 32 $ range 1.2 1.6 saw) + # sz 0.9 + # pan 0.75 + # room 0.4 diff --git a/live/midi/nova/wave/horizons.tidal b/live/midi/nova/wave/horizons.tidal new file mode 100644 index 0000000..ca33ab6 --- /dev/null +++ b/live/midi/nova/wave/horizons.tidal @@ -0,0 +1,181 @@ +-- Horizons: Pour conjurer les vertiges... + +resetCycles + +do +setcps (100/60/4) +let gDJF2 = (# djfbus 2 (range 0.05 0.95 "^29")) +let gDJF1 = (# djfbus 1 (range 0.05 0.95 "^49")) +let g = gDJF1 -- . gFilter +let g2 = gDJF2 -- . gFilter2 +d1 $ g + $ midiOn "^42" (<| "k k k k]>" ) + $ midiOff "^42" (<| "k <~!4 k!4>") + $ "[909,bd:2]" + # lpf 2500 + # midiG' "^78" 0 1.3 +d2 $ g $ "~ s ~ [s <~!3 s*2>]" # "[,snare:5]" + # midiG' "^79" 0 1.8 +d3 $ g + $ whenmod 4 3 (fast "2 <4 <2 1>>") + $ "~ h ~ h ~ h ~ " + # n "[0,3]" + # "h2ogmhh" + # legato (slow 8 $ range 0.5 0.25 saw) + # midiG' "^80" 0 1.25 +-- re sib do sol +d4 $ g + $ struct "t . t(3,8)" + $ note ("d3 bf2 c3 ") + # "bassWarsaw" + # crushbus 41 (range 5 3.6 "^53") + # midiG' "^81" 0 1.45 + # lpf 4000 + # room 0.4 # sz 0.8 +d5 $ g + $ whenmod 64 32 ( + (# room (slow 16 $ range 0 0.8 saw)) + . (# legato (slow 16 $ range 1 "s" saw)) + ) + $ degradeBy ("0 0.15!15 0" * "^54") + $ note ( + "d3*[1|2] bf2*<1 <0 2>> c3 " + + (fast 4 $ arp "up" "") + + "[0,7,12]" + ) + # "supersaw" + # midiG' "^82" 0 1.2 + # voice 0.04 + # pan 0.8 +d6 + $ g + $ struct "t*[4 <4 8 4 [8 16]>]" + $ note ( + arp "up" "c'majPent'3" + + " >" + + 12 + ) + # "laserbeam" + # room 0.4 # sz 0.8 + # crushbus 41 (range 16 3.6 "^55") + # midiG' "^83" 0.2 1.45 +d7 + $ g + $ mask "" + $ note ("d3 . c3 " + "[0,<~!3 7>,<~ 12>]") + # "phazer" + # room (slow 8 $ range 0 0.6 saw) + # sz (slow 8 $ range 0 0.6 saw) + # midiG' "^84" 0 0.8 +d11 $ g + $ degradeBy (1 - "^18") + $ whenmod 64 32 ( -- C'est une aventure ! + (every' 8 3 ((>| n "4") . (# begin 0))) + . (>| n "<7!3 8*<1 2>>") -- Deux genres d'aventures + . (# begin "<0 0.17 0 [0 0.5]>") -- Avance dans l'aventure + ) + $ every' 16 15 (>| n "10 . 4 4") -- On est heureux... POURQUOI? + $ every' 16 10 (>| n "4 3") -- Pourquoi -- On va vous le dire + $ every' 16 7 (# n 5) -- Parce qu'il faut - voir loin + $ "h" + # n "<1!3 <2 3>>" + # "horizons" + # lesliebus 110 "^20" + # lsize (range 0 2.5 "^19") + # lrate 6.7 + # midiG' 1.2 0 1 + # cut 11 + + +once $ "horizons:7" +# gain 2 +# cut 30 + +once $ "phazer" + + +resetCycles + +-- Soleil de Sete - LoFi avec accompagnement + +once $ "dr" # gain 0.9 + +-- TODO: + +d1 $ "bd dr" + +do +setcps (90/60/4) +let modIndex = pF "modIndex" +let chords = "<[a,c,e,g6,b6,d6] [d,fs,a6,c6] [f,a,c6,e6] [c,e,g6,b6]>" +let chordsMin = "< [f] [c]>" -- TODO confirm/finish/validate +-- let gFilter = whenmod 32 24 (# djfbus 2 (slow 8 (range 0.5 0.05 saw))) +-- let gFilter2 = whenmod 32 24 (# djfbus 3 (slow 8 (range 0.45 0.75 saw))) +let gDJF2 = (# djfbus 2 (range 0.05 0.95 "^29")) +let gDJF1 = (# djfbus 1 (range 0.05 0.95 "^49")) +let g = gDJF1 -- . gFilter +let g2 = gDJF2 -- . gFilter2 +d1 $ g + $ midiOn ("^44" - "^76") (ply 2) + $ midiOn "^76" (striate 4) + -- $ mask "" -- First break + -- $ mask "" -- Post-filter break + -- $ mask "" -- Intro mask + $ "k*<1!8 2!24> . k*[<<3 1> 3!6 4> <8 3 8 <8 [8 4]>>]" + # "[bd:2,kick:5]" + # legato 2 + # att 0.1 + # rel 0.8 +d2 $ g -- Aerian snare + -- $ mask "" -- First break + -- $ mask "" -- Snare mask + $ n "~ <~!3 [~!3 <10 10?>]>. 9" + # "sn" + # midiG' "^79" 0 1.6 + # pan 0.6 + # lpf 1500 +d3 $ g2 + $ mask "" + $ "d*[<<4!4 [8 <4 8>]!4> 16!4> <16!3 8 16 16 8 8 16 16 8 16 16 8 16 16>]" + # "drum:2" + # pan 0.35 + # dry 1.1 # room 0.5 # sz 0.8 + # midiG' "^80" 0 (slow 8 $ range 0.9 1.3 saw) +d5 $ g -- BREAKBEAT BUDDY + -- $ mask "" -- Post-filter break + -- $ mask "" + $ whenmod 16 8 ( + sometimesBy "0 0.2 . 0.75!3 0" + (ply "2 . [2|4]")) + $ chop 16 + $ loopAt 2 + $ "fbreak100" + # pan 0.65 + # midiG' "^83" 0 1.6 +d4 $ g -- Bassline + $ midiOn "^89" (chop 8) + $ midiOff "^57" (mask "") + -- $ whenmod 64 48 (# crush (8 - (slow 16 $ range "-1.5" 2.5 perlin))) + $ note ("[0,<~!8 0(<1 <3 5>>,8)!8>] [0,12]" + |+ chordsMin + - 24 + ) + # "bassWarsaw" + # pan 0.3 + # hpf (range 0 500 perlin) + # crushbus 41 (range 10 3.6 "^53") + # midiG' "^81" 0 (slow 16 $ range 1.1 1.2 sine) + # room 0.4 +d6 $ g2-- Rhodes chords + $ whenmod 4 3 (rarely (off "h" (arp "up" . mask "f f t? t"))) + $ superimpose ((|* gain "0 0.79") . (|+ note 12)) -- Depth + $ whenmod 16 12 (someCyclesBy "0 1" rev) + $ note (chords + - 24 + ) + # "FMRhodes1" + # modIndex (range 0 10 "^54") + # midiG' "^82" 0 (slow 32 $ range 1.2 1.6 saw) + # sz 0.9 + # pan 0.75 + # room 0.4 -- libgit2 0.27.0