From 3940ff937743b755a9476396e4a3500c3cec34be Mon Sep 17 00:00:00 2001 From: PLN Date: Fri, 26 Mar 2021 22:52:02 +0100 Subject: [PATCH] live: Prepa stream --- backlog.md | 44 ++++++++++++++++++++++++++++++++++++-------- live/hip/chaude_civ.tidal | 4 ++-- live/hip/instru/minibreak.tidal | 1 - live/hip/trapped_in_space.tidal | 1 + live/midi/dusty_cypres.tidal | 5 +++-- live/midi/nova/breaks.tidal | 1 - live/midi/nova/breaks/break_90s.tidal | 65 ++++++++++++++++++++++++++++++++++++++--------------------------- live/midi/nova/breaks/slower.tidal | 130 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ live/midi/nova/dnb/meurice.tidal | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ live/midi/nova/lounge/invoque_ete.tidal | 45 ++++++++++++++++++++++----------------------- live/midi/nova/lounge/top_hats.tidal | 44 ++++++++++++++++++++++---------------------- live/midi/nova/party/funk_angel_frappe.tidal | 12 ++++++++---- live/midi/zelda/mashup.tidal | 41 +++++++++++++++++++++++++++++++++++++++++ live/mood/tired/afternoon.tidal | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++--------------- 14 files changed, 445 insertions(+), 105 deletions(-) create mode 100644 live/midi/nova/breaks/slower.tidal create mode 100644 live/midi/nova/dnb/meurice.tidal create mode 100644 live/midi/zelda/mashup.tidal diff --git a/backlog.md b/backlog.md index 7d3bd55..1299f44 100644 --- a/backlog.md +++ b/backlog.md @@ -2,18 +2,32 @@ -- Nina(s) with Raph -- Stupefaction with Raph -- Breakbass with Nass +-- Prepabass with Nass + # Work in progress ## Worksheet - Jazz noise: basis for jazzy drums / hip instru - TODO Foret noire: techno sorciere-forestiere! +- Trapped in space: glitchy late trap dark space beat + +## Matière +- Minibreak: many small breakbeats +- Beats.tidal: various background beats, hip/techno + ## MIDI -Beats.tidal: various background beats, hip/techno - Metal break! Guitar break en Si - Cyprès Poudreux - Break dusty cypress + guitars, too much cypress - BruitHiver: grand froid cosmic noise +- Break90s: break sec + organ, monosynth + impro dx7 + +-- Afternoon: Chill breakbeat evening sunset PWM +---- Excellent accompagnement deux mains: +-- Gauche si+mi/sol+re/la+fa/si+sol +-- Droite whatever autour ;) + --Dubmini: mini minor midi dub basis @@ -21,7 +35,7 @@ Beats.tidal: various background beats, hip/techno ### Nova - Funk angel frappe: techno dark frappe? - +- TopHats: technopunk+hhats+arps <3 ## ARDOUR - HarpsiDub: minidub + harpsichord @@ -43,8 +57,6 @@ Epilog! -- Tired Funk: Nice - - Solitude hivernale: cool melancolic hip - Break britafuninnique: boucle hip hop breatbeat piano attend un lead @@ -84,12 +96,9 @@ La voix de l'Ordre: Monotonal drone <> breakbeat ### Mood -- ToneDown: Techno numérico-mélancolique résolvable --- Afternoon: Chill breakbeat evening sunset ## Hip-hop -- Boom [minibeat] --- Re comme remede dans malade! - ## Copycat - 44 More @@ -103,7 +112,26 @@ La voix de l'Ordre: Monotonal drone <> breakbeat # Somewhat complete ## Prod -- Good morning Minneapolis: time to finish --- Chaude civ: Breakbeat bassline diphonique +-- Chaude civ: Breakbeat bassline diphonique yalta ## Record :) - Morning flowers: breakbeat bassline funky + MIDI Jazzy éventuel :) + +## LIVE Twitch +-- 20/03/21 Slower :) +-- TODO: Afternoon Breakbeat+pwm + +-- Invoque été ? + +### Live 27/03 +-- Intro TopHats +-- Afternoon? Pourquoi pas mais avec clavier - DX7? + +-- Intermission Flowers: Jazz Techno MIDI Impro +-- Break 90s? + +-- Avant final: Invoque l'été +--- Final Slower:) + +## LIVE XXX +-- DNB/Meurice diff --git a/live/hip/chaude_civ.tidal b/live/hip/chaude_civ.tidal index 6a167e5..c72d40a 100644 --- a/live/hip/chaude_civ.tidal +++ b/live/hip/chaude_civ.tidal @@ -38,7 +38,7 @@ d5 -- Guitare conclusive seconde partie # n (slow 16 $ "<12 14 13 15>") # room 0.2 # cut 5 - # gain 0.45 + # gain (slow 32 $ range 0.45 0.55 saw) d9 -- Invader fight: Tir variable, echec | touche | ambulance $ mask "" $ fix ((|* gain 0.9) . (# pan 1)) (n "9") @@ -53,7 +53,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.2 0.65 (saw + (perlin /2))) + # gain (slow 128 $ range 0.3 0.85 (saw + (perlin /2))) # pan 0.5 # cut 6 d7 -- Synth second bass diff --git a/live/hip/instru/minibreak.tidal b/live/hip/instru/minibreak.tidal index 2583937..009da64 100644 --- a/live/hip/instru/minibreak.tidal +++ b/live/hip/instru/minibreak.tidal @@ -45,7 +45,6 @@ d4 # release 0.9 # cut 4 - -- Mini2: minimaliste breakbeat do setcps (80/60/4) diff --git a/live/hip/trapped_in_space.tidal b/live/hip/trapped_in_space.tidal index ffd201f..4f861a4 100644 --- a/live/hip/trapped_in_space.tidal +++ b/live/hip/trapped_in_space.tidal @@ -1,3 +1,4 @@ +resetCycles -- TRAPPED IN SPACE: Glitchy trap beat do diff --git a/live/midi/dusty_cypres.tidal b/live/midi/dusty_cypres.tidal index ff7d5b8..3efe174 100644 --- a/live/midi/dusty_cypres.tidal +++ b/live/midi/dusty_cypres.tidal @@ -1,6 +1,7 @@ +resetCycles + do setcps (90/60/4) -resetCycles let glob = (degradeBy $ "<0 1> 0.95!15" * (1 - (cF 0 "1"))) d1 -- Beat $ mask "" @@ -8,7 +9,7 @@ d1 -- Beat # "reverbkick" # lpf 2000 # legato 1.5 - # gain (fast 8 $ 0.9 + (perlin/10)) + # gain (fast 8 $ 0.8 + (perlin/10)) d2 -- Break $ glob $ loopAt 4 diff --git a/live/midi/nova/breaks.tidal b/live/midi/nova/breaks.tidal index 137338e..8c09b6e 100644 --- a/live/midi/nova/breaks.tidal +++ b/live/midi/nova/breaks.tidal @@ -1,4 +1,3 @@ - d1 $ "dr*8" # gain "^80" do diff --git a/live/midi/nova/breaks/break_90s.tidal b/live/midi/nova/breaks/break_90s.tidal index 30d8a6f..00ee7c1 100644 --- a/live/midi/nova/breaks/break_90s.tidal +++ b/live/midi/nova/breaks/break_90s.tidal @@ -2,15 +2,16 @@ import Sound.Tidal.ParVagues.Control -- Accompagnement en ré au https://mmontag.github.io/dx7-synth-js/ + +-- Break90s∷ + + setcps (80/60/4) resetCycles do -let gG a = (gain (1 * "^77" * a)) -- gain Global let gF = (whenmod 16 12 (# djf (slow 4 $ range 0 0.5 sine))) let gDJF = (midiDJF "^49" 0 10000 0 10000) -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 g = (gF . gDJF) d1 $ g @@ -19,27 +20,27 @@ d1 . (# room 0) . (|* gain 0.9) ) - $ midiOn "^42" (mask "") $ whenmod 4 2 (off (-1/"<8 16>") ( degradeBy "0 1!7" . (|* gain 0.9)) ) - $ midiOff "^41" ( + $ midiOn "^42" (<| "k . ~ k ~ ~") + $ midiNo "^41" "^42" ( someCyclesBy "<0!8 1!8>" (<| "k . k(<5 <3 [3 <8 [8!3 4]>]>>,8)") . someCyclesBy "<1!8 0!8>" (<| "k . <~!4 k!4>" ) ) - $ "reverbkick" - # room 0.4 # sz 0.8 # dry 0.99 # orbit 1 - # midiG' "^78" 0 1.5 + $ "[jazz,808bd:2]" + # room 0.5 # sz 0.2 # dry 0.99 + # midiG' "^78" 0 1.4 d2 $ g - $ midiOn "^43" (slice 4 "0 1") + $ midiOn "^43" (slice 4 "0 1*<1 1 2 4>") $ midiOff "^43" ( slice 4 ( "0 1*[1|2] 2 3*<1 1 2 <2 4>>" -- Progressif -- "0 <~ 0 1 ~> <0 0 2 2> <~ 0 2 3>" -- Broken )) $ "fbreak80:2" - # midiG' "^79" 0 1.5 + # midiG' "^79" 0 1.65 # pan 0.6 # cut 2 d3 -- Bassline @@ -68,53 +69,63 @@ d3 -- Bassline # crush (range 10 4 "^53") # pan 0.2 # midiG' ("^81" + 0.125*"^53") 0 1.5 -d4 +d4 -- Skank organ $ g - $ superimpose (const - $ whenmod 8 4 (degrade) - $ segment 8 $ "fmono:9" - # midiG' "^55" 0.2 1.2 - # cut 42) - $ midiOn "^59" (superimpose ( + -- $ superimpose (const $ g + -- $ whenmod 8 4 (iter "1 4") + -- $ segment 8 $ "fmono:9" + -- # midiG' "^55" 0.2 1.2 + -- # cut 42) + $ midiOn "^59" (superimpose ( -- MAD ARPS degradeBy ("0 1!14 0" * (slow 16 $ (1-"^55"))) . struct "t*16" . (|+ note (12 + "[0|5]")) - . (|* gain (slow 16 $ range 0.9 0.5 sine)) + . (|* gain (slow 16 $ range 0.85 0.65 sine)) . (# cut 41) )) $ slice 8 ("<~ 3 ~ 2> 0 <~ 4 5 6> <0 1>") $ "forgan:9" # cut 5 # orbit 4 # room 0.7 # sz 0.8 - # midiG' "^83" 0.2 0.8 + # midiG' "^83" 0.2 1 d5 $ g $ midiOn "^58" (superimpose ( (0.5 ~>) + . degradeBy (1 - "^54") . fast "<1!8 2!8 4!8 1!4 2!4 4!8>" . (|+ note ("12")) . (|* gain 1.2) . (|+ pan 0.125) )) + $ degradeBy (1 - "1 ^54!3") $ sometimesBy 0.125 ("1/32" ~>) $ whenmod 16 4 (|+| note "<0!4 [0 a4]!4>") $ note "" # "superpiano" # velocity (0.35 + perlin/8) - # room 0.6 # sz 0.5 + # room 0.6 # sz 0.8 # pan 0.6 # orbit 5 # midiG' "^82" 0.3 1.5 -d8 $ g - $ someCyclesBy (slow 8 $ saw) (juxBy 0.3 rev) +d8 -- Tom roll + $ g + $ midiOn "^76" (fast 2) + $ midiOn "^44" (<| "~ h ~ h") + $ midiOff "^44" (<| "h(<4 5 8 [8 16]>,8)") + -- $ someCyclesBy (slow 8 $ saw) (juxBy 0.3 rev) $ whenmod 16 8 (ply "2 1") - $ "hh27:2(<4 5 8 [8 16]>,8)" + $ "hh27:2" # pan 0.8 # room 0.4 # orbit 8 # dry 0.9 # midiG' "^80" 0 1.5 -d9 +d9 -- Finger claps $ whenmod 16 12 ( fast 2 . (|* gain (slow 4 $ range 1 0.5 saw)) ) - $ midiOn "^60" (fast 2 ) -- TODO DNB - $ "~ clap" + -- $ midiOn "^60" (<|) + $ midiOff "^60" (<| "~ c") + $ "clap" + # speed (range 0.75 1.25 "^56") # release "<0.25!3 0.125 0.25!4 0.125!4>" - # midiG' "^84" 0 1.5 + # midiG' "^84" 0 1.7 + +once $ "dr" diff --git a/live/midi/nova/breaks/slower.tidal b/live/midi/nova/breaks/slower.tidal new file mode 100644 index 0000000..0a8af08 --- /dev/null +++ b/live/midi/nova/breaks/slower.tidal @@ -0,0 +1,130 @@ +import Sound.Tidal.ParVagues.Control + +setcps (80/60/4) + +do +let gF = (whenmod 16 12 (# djf (slow 4 $ range 0 0.5 sine))) +let gDJF = (midiDJF "^49" 0 10000 0 10000) +let gFreqL = (# lpq (range 0 0.25 "^29")) +let gFreqH = (# hpq (range 0 0.25 "^30")) +let gFreqs = (gFreqH . gFreqL) +-- region Params Rhodes +let modIndex = pF "modIndex" +-- endregion +let g = (gF . gDJF . gFreqs) +d1 $ g -- KICK + $ midiOn "^41" (<| "k k k*<1 <2 4>>") + $ midiOn "^42" (<| "k*4 . k k k k*<1 2>") -- Run + $ midiNo "^41" "^42" (<| "k*<1 1 2 1 2 2 2 1> . k(5,8)") + $ "[hh27:6,jazz]" + # midiG' "^78" 0 1.5 + # room 0.3 # sz 0.5 # dry 0.9 +d2 -- Breakbeat + $ g + $ midiOn "^43" (fast "[1|2|0.5]" . loopAt 1) + -- $ midiOn "^43" (fast 4 . often (scramble 2)) + -- $ sometimesBy "0 <0.5!3 0.95>" (ply "[2|4]") + $ slice 16 "~ <0 1 2 3>" $ "break" + # midiG' "^79" 0 1.8 +d3 $ g + $ midiOn "^44" (fast 2) + $ "d ~ ~ d d ~ d <~!3 d>" + # "snare:22" + # midiG' "^80" 0 1.8 + # speed (range 0.5 1.5 "^52") +d4 -- Bassline + $ g + $ midiOn "^57" (-- + Arps aigus! + superimpose ( + often (off "h" rev) + . (|+ note ( + "[0 <12 <12 24>>]" -- spread + + "0(5,8)" |+ "0 7" + + 12 + )) + . (|* gain (1 - (0.1 * "^53"))) + . (# crush (range 12 1.85 "^53")) + ) + ) + $ note ("<0 [0 . 0 [0 3] 5 ~]>") + # "bass1" + # crush (range 10 5 "^53") + # room 0.5 # sz 0.8 # orbit 4 + # pan 0.2 + # midiG' "^81" 0 1.3 +d5 -- fmono + $ g + $ (# lpf (range 10000 5000 "^54")) + $ slice 8 ( + "0 <1 1 0 0*2> 2 3*<1 <2 4>>" + + "<0 3>") + $ "fmono:40" + # cut 4 + # crush (range 12 1.85 "^54") + # midiG' ("^82" + 0.125 * "^54") 0 1 + # orbit 5 # room 0.3 # sz 0.8 # dry 1 +d9 -- Hats + $ g + $ fix ( + midiOff "^60" (slow 4) + . whenmod 8 6 (fast "<2 [2 4]>") + . (>| "hh*[<4 8 8 4> 8 8 16]") + . (# cut 91) + ) ("a") + $ fix ( + midiOff "^60" (fast 2 . (<| "~ c")) + . midiOn "^60" (every' 4 3 (fast 2) . (<| "c*[8 16]")) + . (# "hh27:2") + ) ("b") + $ "[a,b]" + # orbit 9 + # midiG' "^84" 0.2 1.5 +d6 -- Pwm steps + $ g + $ whenmod 32 16 (scramble 2) + $ note ( + "0*2 . ~ 0*2" + + "0 <0 12>" + + (arp "up" "") + + "-24" -- Base gamme + ) + # "superpwm" + # voice (range 0.01 2 "^55") + # pan 0.8 + # room 0.5 + # sz 0.4 + # midiG' "^83" 0 1.2 +d7 -- Arps FMRhodes1 + $ stut 4 "q" "[0.95|0.8]" + $ g + $ superimpose (arp "down" . + (|+ note ("c'maj'2" + "0 12" + 12))) + $ note "/2" + # "FMRhodes1" + # pan 0.3 + # modIndex (range 0 100 "^34") + # room 0.6 # sz 0.8 + # midiG' "^18" 0 1.2 +d10 -- Follow claps + $ g + $ "~ clap" + # midiG' "^56" 0.3 1.3 + # room 0.2 + + + +-- region Sandbox + +d3 + $ whenmod 4 2 (someCycles $ ply 2) + $ slice 4 "<0 1 0 1 2 3 2 3>" $ "break:1" # gain 0.85 + +d4 + $ note ( + scale "lydian" ("0 4 3 <4 1 5 3>" + "c'maj" + + "<0 0 1 1 2 2 3 3>") + - 12 + ) + # "FMRhodes1" # gain 0.9 + +once diff --git a/live/midi/nova/dnb/meurice.tidal b/live/midi/nova/dnb/meurice.tidal new file mode 100644 index 0000000..e8c45fb --- /dev/null +++ b/live/midi/nova/dnb/meurice.tidal @@ -0,0 +1,91 @@ +import Sound.Tidal.ParVagues.Control + +-- This is a test ;) +-- +do +setcps (160/60/4) +let gDJF = midiDJF "^49" 200 9800 0 4000 +let gFreqL = (# lpq (range 0 0.5 "^29")) +let gFreqH = (# hpq (range 0 0.5 "^30")) +let g32Bridge = whenmod 64 32 (|* gain (slow 16 $ range 0.85 1.1 saw)) +let g = (gDJF . gFreqL . gFreqH) +d1 + $ g + $ superimpose ( -- Undertone + (|+ note "<12!3 8 12!2 8 4>") + . (|* gain 0.9) + ) + $ (|* gain "1!7 0.95") + $ "b . ~ b ~ <~!3 b>" + # "[reverbkick,jazz,kick:5]" + # release 0.8 + # midiG' "^78" 0 1.2 +d2 + $ g + $ g32Bridge + $ whenmod 16 12 (struct "t*<4 4 8 16>") + $ whenmod 16 8 (fast 2) + $ "~ cp" + # "[snare:4,snare:22]" + # pan 0.55 + # note (range "-7" 7 "^51") + # room 0.8 # dry 0.99 # sz 0.2 + # midiG' "^79" 0 1.2 +d3 -- Running Hats + $ g + $ degradeBy ("1 0 0 1!13" - "^52") + $ midiOn "^44" (fast 2) + $ "h2ogmhh*8" + # n "[0|0|0|0|1|1|3|3]*8" + # midiG' "^80" 0 (1.3 + (slow 4 $ perlin/4)) + # room (slow 8 $ range 0.2 0.45 saw) + # sz (slow 8 $ range 0.8 0.2 saw) + # dry (slow 4 $ range 0 2 perlin) + # pan 0.6 + # cut 3 +d4 -- Resolute Bass + $ g + $ midiOn "^57" ( -- Glitch vary end + whenmod 32 8 (slice 8 + "<[0 1 <2!3 1*2> <3!3 1*2>]!4 0*4!2 [0 1 0 1] [0 1 0 [0 1 2 3]]>" + )) + $ loopAt 4 + $ chop 16 + $ "fbass:25" + # pan 0.15 + # room 0.25 # sz 0.1 + # crush (range 16 1.45 "^53") + # midiG' "^81" 0 1.6 + # cut 4 +d6 -- Guitar A + $ g + $ mask "" + $ ("0.175" ~>) -- Calage + $ whenmod 4 2 (slice 8 "0") + $ slice 5 4 + $ segment 16 + $ "fguitar:24" + -- # pan 0.8 + # crush (range 10 3.5 "^54") + # midiG' "^82" 0 (1.2 * (range 1.4 0.5 "^18")) + # cut 6 +d7 -- Guitar B + $ g + $ whenmod 4 3 (# silence) + $ segment "<0.5!2 1 <2 4 8 [8 16]>>" + $ "fguitar" # n "<25!3 [25 26] 25!2 27!2 27!8>" + # pan 0.65 + # crush (range 10 2 "^54") + # midiG' "^82" 0 (1.2 * (range 0.5 1.4 "^18")) + # leslie "^34" + # lsize (1 + (slow 8 perlin * 2)) + # lrate 6.7 + # cut 71 + + + +d6 $ "seawolf:0/4" + # cut 6 + # gain 0.75 + +once $ "dr" # gain 1 diff --git a/live/midi/nova/lounge/invoque_ete.tidal b/live/midi/nova/lounge/invoque_ete.tidal index e5c2775..a1cccdc 100644 --- a/live/midi/nova/lounge/invoque_ete.tidal +++ b/live/midi/nova/lounge/invoque_ete.tidal @@ -1,30 +1,32 @@ import Sound.Tidal.ParVagues.Control +resetCycles + do -let gF = 1.3 +let gF = 1.5 let gG a = (gain (gF * "^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 = (sometimesBy ch pat) -let novaOff ch pat = sometimesBy (1 - ch) (pat) let g = gDJF setcps (115/60/4) d1 $ g - $ novaOn "^41" (<| "k k k ") - $ novaOff "^41" (<| "k*2") - $ "[reverbkick,jazz,808bd:1]" + $ midiOn "^42" (slow 4) + $ midiOn "^41" (<| "k k k ") + $ midiOff "^41" (<| "k*2") + $ "[jazz,808bd:1]" # gM' 0 1.2 "^78" -d2 $ g - $ novaOn "^75" (fast 2) +d2 $ g -- Clave de l'été + $ midiOn "^75" (fast 2) $ (|* gain "0.75 1 1 1 0.75 1 1 1") $ "d ~ ~ d d ~ d <~!3 d>" # "snare:22" # gM' 0 1.4 "^79" # speed (range 0.5 1.5 "^51") d4 $ g - $ midiOn "^44" (slice 8 "0 <1 ~> 7 3*<1 2 4 4>") + $ midiOn "^44" (slice 16 ("0*<1 2> 1 2 3*<2 1>") . (>| "breaks125")) + $ midiOn "^76" (slice 8 "0 <1 ~> 7 3*<1 2 4 4>") $ sometimesBy "0 ^32!7" (shuffle 8) $ someCyclesBy "^52" (iter 4) -- $ slice 8 "0 1 <2!3 0> <3!3 1 4 5 6 7>" "0 1 <2!3 0> <3!3 1>" @@ -34,14 +36,16 @@ d4 $ g # cut 4 d5 $ g $ loopAt 2 - $ slice 8 (run "<4!4 8 8 [4 8 4] 8>") + $ slice 8 (run "<4!4 8 8 [4 8 4] [8 4 8]>") $ "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" # cut 4 d6 $ g + $ chop 16 $ someCyclesBy "^58" (superimpose ( degradeBy (slow 8 $ sine) . segment 8 . (# speed 1) @@ -54,6 +58,8 @@ d6 $ g $ loopAt 4 $ "fguitar" # n "<12!16 13!16>" # gM' 0 1 "^82" + # release (range 0.15 1 "^34") + # crush (range 8 1.4 "^54") # pan 0.75 # room 0.2 # dry 1 # cut 3 @@ -67,31 +73,24 @@ d7 $ g # gM' 0 1.3 "^83" # cut 7 d8 $ g - $ novaOn "^60" ( + $ midiOn "^60" ( superimpose ( struct "t(5,8)" - . arp "down" + . arp "[down,up]" . (|+ note 12) . (|* gain 1.1) . (|- pan 0.1) - ) - . superimpose ( - arp "up" - . (|+ note "[12,-12]") - . (|* gain 0.9) - . (|- pan 0.25) )) $ note "" - # crush (range 8 4 "^56") + # octave 4 # room 0.4 # "moogBass" - # gM' 0 1 "^84" - # pan (segment 16 $ "^36") + # midiG' "^84" 0 1.8 d9 $ g $ degradeBy (slow 16 $ range 0.8 0.2 saw) $ struct "t(3,8) [ ]" - $ novaOn "^59" (# speed (range 0.25 2 ("^55" + perlin))) - $ novaOff "^59" (# speed + $ midiOn "^59" (# speed (range 0.25 2 ("^55" + perlin))) + $ midiOff "^59" (# speed (segment 16 $ fast 2 $ range 0.25 1.2 (perlin + (slow 8 $ sine))) ) $ "hh:3" diff --git a/live/midi/nova/lounge/top_hats.tidal b/live/midi/nova/lounge/top_hats.tidal index 49e5864..ec7a719 100644 --- a/live/midi/nova/lounge/top_hats.tidal +++ b/live/midi/nova/lounge/top_hats.tidal @@ -35,6 +35,25 @@ d3 $ "hh27*8" # n "2 <2 <[2|9] [9 <9 ~> <~ 9> 2]>>" # gM' 0.5 1.75 "^80" +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 + # attack (range 0.5 1 "^17") + # crush (range 12 1.75 "^53") + # lpq (range 0 0.125 "^33") + # pan 0.9 + # room 0.3 + # sz 0.9 + # gM' 0.4 1.5 "^81" d4 $ g $ midiOn "^58" (superimpose ( -- ARPS <3 @@ -64,42 +83,23 @@ d5 $ g -- Choirs + arps . (# lpf 2000) ) $ "moogBass" - # note prog + # note (prog + "[0,24]") # octave 3 # gM' 0.3 1.5 "^56" # pan 0.2 # chorus 0.6 -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 - # attack (range 0.5 1 "^17") - # crush (range 12 3.5 "^53") - # lpq (range 0 0.5 "^33") - # pan 0.9 - # room 0.3 - # sz 0.9 - # gM' 0.4 1.5 "^81" d8 $ g $ midiOn "^91" (ply 2) $ midiOn "^59" ( (# lpf 2000) - . (# crush (range 16 5 "^55")) + . (# crush (range 16 4.5 "^55")) . (# lpq (slow 16 $ range 0 0.15 perlin)) ) $ midiOn "^91" (segment "4 <4 <8 [8 16]>>") $ note (prog + "0 12") # "moog" # cut 8 - # gM' 0 1.5 "^83" + # gM' 0 1.8 "^83" # release 100 d9 $ g $ midiOn "^60" (fast 2 . ply "1 <1 <2!3 1>>") diff --git a/live/midi/nova/party/funk_angel_frappe.tidal b/live/midi/nova/party/funk_angel_frappe.tidal index 9381372..08adc61 100644 --- a/live/midi/nova/party/funk_angel_frappe.tidal +++ b/live/midi/nova/party/funk_angel_frappe.tidal @@ -1,7 +1,8 @@ -- FUNKY ANGEL FRAPPE +-- Needs bass/more lead high? do -- region Nova Utils -let gFactor = 1.2 +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 @@ -22,10 +23,10 @@ d1 $ g # gM' 0 1.5 "^78" d2 $ g -- Clap $ novaOn "^92" (fast 2 . whenmod 4 3 (ply "1 2")) - $ novaOff "^80" (# silence) - $ "~ [clap,cp]" + $ novaOff "^60" (# silence) + $ "~ [clap,]" # lpf 2500 - # room 0.7 # dry 0.99 + # room 0 # dry 0.99 # gM' 0 1.3 "^84" d3 $ g -- Break 4/4 -- $ sometimes (off "e" id) @@ -64,6 +65,9 @@ d5 $ g -- Synth voices $ "fsynth:47" # gM' 0 1 "^82" # cut 5 + + + d7 $ g -- Fill drums $ (|* gain (slow 10 $ range 0.9 1.2 perlin)) -- $ loopAt 2 diff --git a/live/midi/zelda/mashup.tidal b/live/midi/zelda/mashup.tidal new file mode 100644 index 0000000..89606cc --- /dev/null +++ b/live/midi/zelda/mashup.tidal @@ -0,0 +1,41 @@ +setcps (120/60/4) + +once $ note ("a3 g3 f3 e3") #"arpy" + +-- Meeting the Heart Fairy +do +resetCycles +let prog = (" >") -- FIXME Pont Final + synchro arps below +-- let arps = "0 <-2 -2 -1 -2> <-3 -3 -2 -3> <-2 -2 -1 -2>" +let arps = ("<[0 <-2 -2 -1 -2> <-3 -3 -2 -3> <-2 -2 -1 -2>]>" - "<0 [0]>") +-- let arps = ("[0 -2 -3 -2]" + "<0 <0 0 1 0>!3>") -- FIXME FACTORIZE ABOVE +d1 + $ "odx" + # lpf 400 + # release "<0.9!3 2>" + # room 0.1 # dry 1.01 +d2 $ "~ amencutup:7" + # note (-4) + -- # hpf 1000 + # gain 0.7 +d4 + $ note prog + # "supersaw" + # voice 0.1 + # gain 0.5 + # cut 4 +d4 + $ struct "t <~ t> . t " + $ note ( + prog + arps + ) + -- # octave 4 + # "FMRhodes1" + -- # voice 0.4 + # gain 0.95 +d5 + -- $ swingBy "1/8" 4 + $sometimesBy "0 <0 0 1 1> <0 1> 0" (ply 2) + $ note (prog + arps + 24) + # "FMRhodes2" + # gain 0.8 diff --git a/live/mood/tired/afternoon.tidal b/live/mood/tired/afternoon.tidal index 2e1277d..5291a55 100644 --- a/live/mood/tired/afternoon.tidal +++ b/live/mood/tired/afternoon.tidal @@ -1,19 +1,35 @@ +import Sound.Tidal.ParVagues.Control + resetCycles do setcps (60/60/4) let mel = "] e3 b3>" let prog = ">" -d1 -- BEAT + Snares - $ fix ( - whenmod 4 3 (ply "2 4") - . fast "<1!4 2!10 4 [4 8]>" - . (# n "[3,11]") - . (# gain 0.6) - ) ("snare") - $ "[jazz,bd](<1!3 <3 5>>,8) snare" # gain 0.8 - # room 0.2 # sz 0.6 -d2 -- BREAK +let modIndex = pF "modIndex" +let gDJF = (midiDJF "^49" 0 10000 0 10000) +let gFreqL = (# lpq (range 0 0.25 "^29")) +let gFreqH = (# hpq (range 0 0.25 "^30")) +let gFreqs = (gFreqH . gFreqL) +let g = (gDJF . gFreqs) +d1 $ g -- BEAT + $ fast 2 + $ "k . ~ k ~ ~ " + # "[jazz,cpu2,hh27:6]" + # release "<0.7!3 1>" + # midiG' "^78" 0 1.8 +d3 $ g -- Snare contretemps rushé + $ whenmod 4 3 (ply "2 4") + $ midiOn "^43" (fast 2) + $ fast "<1!4 2!10 4 [4 8]>" + $ "~ snare" + # room 0.2 + # dry 1 + # speed (range 0.5 1.5 "^51") + # n "[11,25]" + # midiG' "^79" 0 1.5 +d2 $ g -- BREAK + $ degradeBy (range 0.1 0.99 "0 ^32!15") $ whenmod 32 16 (# djf (slow 32 (cosine + 0.5))) $ slice 8 ( fast "<8 [8 16] 8 [16 <8 4>]>" @@ -22,21 +38,41 @@ d2 -- BREAK ) $ loopAt 2 $ "break:3" - # gain 0.65 + # speed (range 0.5 1.5 "^52") + # midiG' "^80" 0 2 # cut 2 -d6 -- Nappes Rhodes +d6 $ g -- Nappes Rhodes $ note ( prog + "0 12" ) # "FMRhodes1" # pan 0.2 - # gain 1.1 -d7 -- Hello PWM + # modIndex (range 0 100 "^54") + # midiG' "^82" 0 1.8 +d7 -- Hello PWM! + $ midiOn "^57" (chop "<[8 <4 16>]!15 1>") + $ midiOn "^89" (superimpose $ segment 16) $ note (mel - 12) # "superpwm" # semitone "<7!3 5>" -- 2nd Oscillator quinte/quarte # accelerate "<0!7 <6 12>>" # rate "<1!5 2 4 <1 4>>" # resonance (slow 32 $ range 0.2 0.6 sine) - # gain (slow 32 $ range 0.65 0.85 saw) + # crush (range 10 3 "^53") + # midiG' "^81" 0 1.75 + +-- TODO MidiCloud +p "midiclock" $ midicmd "midiClock*48" # s "midi" + +-- Your MIDI device should then adjust its BPM to Tidal's cps. Then it's worth sending a 'stop' message like this: + +once $ midicmd "stop" # s "midi" + +-- and then finally a start message to start the MIDI clock at the right time. The following sends a start message every fourth cycle: + +p "midictl" $ midicmd "start/4" # s "midi" + +-- Once everything's started and in sync, it's probably best to stop sending the start messages to avoid glitching: + +p "midictl" $ silence -- libgit2 0.27.0