From 25b14202ccb206519133463f9d9674876222a18a Mon Sep 17 00:00:00 2001 From: Paul-Louis NECH Date: Sun, 18 Oct 2020 23:58:18 +0200 Subject: [PATCH] live: Midi= --- live/chill/dub/riddim_du_dim.tidal | 2 +- live/fusion/cuba_space_program.tidal | 6 +++--- live/midi/_init.scd | 35 +++++++++++++++++++++++++++++++++++ live/midi/ams_companion.tidal | 36 ++++++++++++++++++++++++++++++++++++ live/midi/frerot.tidal | 28 ++++++++++++++++++++++++++++ live/midi/hello_world.tidal | 33 +++++++++++++++++++++++++++++++++ live/midi/jazz.tidal | 141 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ live/midi/toyota.tidal | 38 ++++++++++++++++++++++++++++++++++++++ live/techno/funk/FFF/pray.tidal | 10 ++++++---- 9 files changed, 321 insertions(+), 8 deletions(-) create mode 100644 live/midi/_init.scd create mode 100644 live/midi/ams_companion.tidal create mode 100644 live/midi/frerot.tidal create mode 100644 live/midi/hello_world.tidal create mode 100644 live/midi/jazz.tidal create mode 100644 live/midi/toyota.tidal diff --git a/live/chill/dub/riddim_du_dim.tidal b/live/chill/dub/riddim_du_dim.tidal index 7708f0a..f37d83b 100644 --- a/live/chill/dub/riddim_du_dim.tidal +++ b/live/chill/dub/riddim_du_dim.tidal @@ -2,7 +2,7 @@ do -- resetCycles -setcps (120/60/4) +setcps (8/60/4) let melody = "0 <0 <2 -2>>" d1 --Kick : un low et un high pour donner du relief $ whenmod 32 16 (superimpose ( diff --git a/live/fusion/cuba_space_program.tidal b/live/fusion/cuba_space_program.tidal index eaeed4d..ddc2f10 100644 --- a/live/fusion/cuba_space_program.tidal +++ b/live/fusion/cuba_space_program.tidal @@ -6,7 +6,7 @@ solo 2 -- 0 4 8 20 28 36 40/0 do --- resetCycles +resetCycles setcps 0.5 d1 $ mask "" -- Orchestra/40 @@ -51,7 +51,7 @@ d5 d6 -- Guitar -- 0 4 20 28 36 40/0 $ mask "" - $ "fguitar:6/2" # cut 6 # gain 0.45 + $ "fguitar:6/2" # cut 6 # gain 0.35 d9 -- Montée Shepard! $ mask "" -- Orchestra/40 $ slow 2 @@ -67,7 +67,7 @@ d9 -- Montée Shepard! $ sometimesBy "1 0" (# gain (range 0 0.5 saw)) $ sometimesBy "0 1" (# gain (range 1 0.5 isaw)) $ "s" - # gain 0.75 + # gain 0.9 once $ "bev" # gain 0.6 # cut 21 diff --git a/live/midi/_init.scd b/live/midi/_init.scd new file mode 100644 index 0000000..d8d9447 --- /dev/null +++ b/live/midi/_init.scd @@ -0,0 +1,35 @@ +// Evaluate the block below to start the mapping MIDI -> OSC. +( +var on, off, cc; +var osc; + +osc = NetAddr.new("127.0.0.1", 6010); + +MIDIClient.init; +MIDIIn.connectAll; + +on = MIDIFunc.noteOn({ |val, num, chan, src| + osc.sendMsg("/ctrl", num.asString, val/127); +}); + +off = MIDIFunc.noteOff({ |val, num, chan, src| + osc.sendMsg("/ctrl", num.asString, 0); +}); + +cc = MIDIFunc.cc({ |val, num, chan, src| + osc.sendMsg("/ctrl", num.asString, val/127); +}); + +if (~stopMidiToOsc != nil, { + ~stopMidiToOsc.value; +}); + +~stopMidiToOsc = { + on.free; + off.free; + cc.free; +}; +) + +// Evaluate the line below to stop it. +// ~stopMidiToOsc.value; diff --git a/live/midi/ams_companion.tidal b/live/midi/ams_companion.tidal new file mode 100644 index 0000000..fb93caf --- /dev/null +++ b/live/midi/ams_companion.tidal @@ -0,0 +1,36 @@ +do +setcps (165/60/4) +d1 + $ (# djf (slow 32 $ sine)) + $ superimpose (const + $ fast (slow 16 $ "<1 2 4 2 1>") + $ "jazz" + # gain 0.65 + # room 0.4 + ) + $ splice 8 ("0 1 2 3*<1!3 2>") + $ "breaks165" + # cut 1 + # gain 0.8 +d2 + $ jux rev + $ ply 4 + $ "drum:8*<1 1 4 1>" + # room 0.2 + # gain 0.6 + + +d2 $ fast 1 $ "sn:20" + # gain 0.8 + # delay 0.5 + +d1 $ n (stack [ + "0*4", + "~ 2" + ]) # "cpu2" + # gain 1.3 + + # gain 1.2 +d2 $ "h . h ~ <~ h> " + # "hh" +d3 $ slice 8 ("1 2 3 ~") "amencutup" # gain 1.1 diff --git a/live/midi/frerot.tidal b/live/midi/frerot.tidal new file mode 100644 index 0000000..d7c5fcf --- /dev/null +++ b/live/midi/frerot.tidal @@ -0,0 +1,28 @@ +do + setcps (120/60/4) + d1 + $ whenmod 16 8 (slow 2) + $ "k*4" + # "reverbkick" # gain 0.8 + -- d1 $ "jazz" # gain 1.2 + d3 -- Drumroll + $ every 8 (jux rev) + $ fast "4" $ "drum:8" # gain 1 + d2 $ "~ snare" # gain 0.7 + + +do +setcps (125/60/4) +d1 $ whenmod 16 8 (# lpf 200) $ "reverbkick" # gain 0.75 +d2 + $ slice 8 ("0 1 2 3") + $ "breaks125:1" + # gain 0.9 + # djf (slow 16 sine) + # cut 1 +d4 + $ whenmod 16 10 (degradeBy "0 0.125 0.25 0.5 0.75 0.9 1 1") + $ fix (|* gain 0.65) (s "ho") + $ "h*<8!2 [16 8] 4>" # "hh ho:5" + # pan (slow 16 sine) + # room 0.1 diff --git a/live/midi/hello_world.tidal b/live/midi/hello_world.tidal new file mode 100644 index 0000000..d6c5358 --- /dev/null +++ b/live/midi/hello_world.tidal @@ -0,0 +1,33 @@ +setcps (100/60/4) + +do +d3 $ silence +d2 $ fast 4 $ "drum:8" + +# gain 0.5 + +d10 $ note (cF (0) "0") # "superpiano" +# velocity 0.5 + + +d1 $ sound "jazz*4" + -- # djf (cF default CC_Number) + -- # djf (cF 0.5 "14") + # djf ("^14") + # gain 0.6 + + # speed (cF 12 "0") + +d1 $ s "arpy*4" # gain (cF 1 "1") + +d1 $ sound "amencutup" + n (run (segment 1 $ range 1 16 $ cF 1 "14" )) + + +do + d1 $ "jazz*1" # gain 0.5 + d4 $ "hh*<16!3 8>" # pan (range 0.1 0.8 sine) # gain 0.6 + d2 $ often (ply 2) $ "~ snare" # gain 0.6 + +d3 $ note (cF (-12) "3") # sound "superpiano" # velocity 0.5 + +d1 $ sound "amencutup" + n (run (segment 1 $ range 1 16 $ cF 0 "32" )) diff --git a/live/midi/jazz.tidal b/live/midi/jazz.tidal new file mode 100644 index 0000000..ab0af4a --- /dev/null +++ b/live/midi/jazz.tidal @@ -0,0 +1,141 @@ +-- Metronome +do + setcps (120/60/4) + d1 $ "m*4" # "drum:8" # gain 0.75 + d2 $ "reverbkick" + # gain "<0.75 0.65!3>" + # hpf 1000 + +once $ note (scale "locrian" ("a5" + (run 8))) # "superpiano" # velocity 0.2 + + +-- setcps 0 +-- TODO record with SEQ 6: jazz impro All the things you are left hand +-- Noisy Snake Hats +do +-- setcps 0.55 +resetCycles +d1 + $ someCyclesBy (slow 16 $ "<0 0.25>") (off "e" id) + $ "[jazz,cpu]" + # gain (slow 16 $ range 0.8 0.4 isaw) + # lpf 2000 + # release 0.2 + # pan 0.45 + # dry 0.9 +d2 -- Snares / claps: accel 16/8, djf/64 + $ whenmod 16 8 (fast ("2 <4!8 <8!8 [4 . 8 [2|4]]!8>>")) + $ superimpose ((# "clap:2") . (|* gain 0.7)) + $ "~ snare" # n "[1,2]" + -- # gain (slow 32 $ range 0.8 0.5 isaw) + # pan 0.3 + # djf (slow 64 (cosine + perlin/4)) +d3 -- Hats snake-ish + $ (|+ pan (slow 10 $ range 0 0.25 saw)) + $ juxBy 0.2 (rev . (|* gain 0.85)) + $ fast 2 + -- $ sometimesBy "0 1" (off "e" id) + $ "h . h ~ ~ ~ <~!3 h?>" + # "808oh" + # n "<0 3>" + # gain (slow 32 $ range 0.6 0.4 (sine + isaw/4)) +d10 -- DELICI0US N0153 + $ whenmod 64 48 (juxBy 0.25 (# crush 5)) + $ whenmod 8 6 (rarely (loopAt 2)) + $ "~ ~ ~ " + # "psr" # n "<1!8 10!4 11!4 12!7 2>" -- 1 10 11 12 rare 2 + # lpf (slow 2 $ range 2000 1000 perlin) + # pan (slow 4 $ range 0.2 0.9 perlin) + # gain (slow 32 $ range 0.25 0.45 (saw + perlin)) + # cut 10 + + +-- Hip Beat +do +setcps (120/60/4) +d1 + $ whenmod 32 16 (# djf (slow 16 $ sine)) + $ "k . k(<3 <5 1>>,8)" + # "jazz" # gain 0.8 +d2 $ "~ snare:8" +d3 + $ whenmod 16 8 (jux rev) + $ fast "<4 4 8 4>" + $ "drum:8" # gain (slow 16 $ range 0.6 0.85 saw) + + +-- BREAKS + +-- CC1 General MIDI Acoustic Guitar +-- Accord parfait Si Ré Fa# Si +-- Impro Si Ré Mi Fa Fa# La Si +-- Metal march +do + setcps (70/60/4) + d1 + -- $ fast (slow 8 "<1 2 4 <8 [8 0]>>") + $ "[cpu,jazz]*8" + # room 0.8 # sz 0.8 + # dry 1.02 + # lpf 2000 + # gain 0.75 + d2 + -- $ mask "" + $ slice 4 ( + whenmod 32 24 (>| "<3 3 0 0> <2 1> <1 2> <0!3 3> ") + $ whenmod 32 16 (>| "4 0 4 0") + "<0 [~ 0]> 1 2 3*<1!3 <2 4>>" + ) + $ loopAt 4 + $ "break" + # gain (slow 42 $ range 0.35 0.7 perlin) + # cut 2 + d3 + $ whenmod 8 0 ( + sometimesBy "0!7 [0 1]" ( + (# "ho:5") + . (|* gain 0.6) + . (|+ room 0.2) + . (# note "<0 0 3 0 3 3 0 0 3 0 3 0 0 0 -1 0>") + -- . ("e" ~>) + ) + ) + $ swing (slow 16 "<1 4>") + $ fast (8 * "1 <1!3 [2 1]>") $ "h" + # "hh" + # gain (slow 16 $ range 0.4 0.8 saw) + # room 0.1 + # sz 0.5 + # pan 0.9 + # cut 3 + d4 $ "~!7 cp" # lpf 200 + d9 + $ ">,8)!16>" + # "glitch:2" + # crush (range 4 5 perlin) + # gain 0.57 + # room 0.5 + + +-- BreabBeat +do + setcps (80/60/4) + d1 + $ sometimesBy "0 0" (swing 2) + $ "k . <~!4 k(<1 2 3 5>,8)!4>" # "[jazz,bd]" + # lpf 1500 + d2 + $ jux (rev . (# cut 21)) + $ whenmod 8 4 (ply "<1 <2 [2|4]>>") + $ slice (slow 4 "<2 4>") ("0 <0 1>") + $ "fbreak80:5" # cut 2 # gain 1 + # lpf (slow 24 $ range 10000 200 sine) + d3 $ "~ ~ ~ cp/2" # djf (slow 16 cosine) + +-- TECHNO +do + setcps (120/60/4) + d1 $ "jazz*4" + d3 $ "hh*8" + d2 $ "~ cp" +111 diff --git a/live/midi/toyota.tidal b/live/midi/toyota.tidal new file mode 100644 index 0000000..f27d0c6 --- /dev/null +++ b/live/midi/toyota.tidal @@ -0,0 +1,38 @@ +-- Noisy Snake Hats + Snare +-- Illustration [Tom Delanoue](https://unsplash.com/photos/qpaF332Uqj0) +do +-- setcps 0.5625 +resetCycles +d1 + $ someCyclesBy (slow 16 $ "<0 0.25>") (off "e" id) + $ "[jazz,cpu]" + # gain (slow 16 $ range 0.8 0.4 isaw) + # lpf 2000 + # release 0.2 + # pan 0.45 + # dry 0.9 +d2 -- Snares / claps: accel 16/8, djf/64 + $ whenmod 16 8 (fast ("2 <4!8 <8!8 [4 . 8 [2|4]]!8>>")) + $ superimpose ((# "clap:2") . (|* gain 0.7)) + $ "~ snare" # n "[1,2]" + -- # gain (slow 32 $ range 0.8 0.5 isaw) + # pan 0.3 + # djf (slow 64 (cosine + perlin/4)) +d3 -- Hats snake-ish + $ (|+ pan (slow 10 $ range 0 0.25 saw)) + $ juxBy 0.2 (rev . (|* gain 0.85)) + $ fast 2 + -- $ sometimesBy "0 1" (off "e" id) + $ "h . h ~ ~ ~ <~!3 h?>" + # "808oh" + # n "<0 3>" + # gain (slow 32 $ range 0.6 0.4 (sine + isaw/4)) +d10 -- DELICI0US N0153 + $ whenmod 64 48 (juxBy 0.25 (# crush 5)) + $ whenmod 8 6 (rarely (loopAt 2)) + $ "~ ~ ~ " + # "psr" # n "<1!8 10!4 11!4 12!7 2>" -- 1 10 11 12 rare 2 + # lpf (slow 2 $ range 2000 1000 perlin) + # pan (slow 4 $ range 0.2 0.9 perlin) + # gain (slow 32 $ range 0.25 0.45 (saw + perlin)) + # cut 10 diff --git a/live/techno/funk/FFF/pray.tidal b/live/techno/funk/FFF/pray.tidal index a396d1f..5d82572 100644 --- a/live/techno/funk/FFF/pray.tidal +++ b/live/techno/funk/FFF/pray.tidal @@ -1,3 +1,5 @@ +setcps 0 + -- Pray the Funk: choeurs laudatifs -- Tags: Breakbeat, gospel, funk resetCycles @@ -16,8 +18,8 @@ do -- KICK $ whenmod 8 6 (# silence) -- $ mask "t(11,12)" . fast "<2!6 4 2>" -- Folie - $ "k . k(<3 5>,8)" -- L'intro TODO - -- $ "k([1|2|5],8) . k(<3 5>,8)" -- Le classique + -- $ "k . k(<3 5>,8)" -- L'intro TODO + $ "k([1|2|5],8) . k(<3 5>,8)" -- Le classique -- $ "k*<1!8 2!8> . k(<0 1 0 1 3 5 5 8>,8,<0!3 2>)" -- L'annonce # "[reverbkick,]" # lpf ("<5!3 <2 0.5>>" * 1000) @@ -26,8 +28,8 @@ do $ slice 8 ( -- "0 4" -- Intro -- "0 2 4 <4 <2 6>>" -- Intro - "0 1 2 <3!2 ~ 3> 4 5 6 7*<1 <2 4>>" -- Fulltime! - -- "0 <1 1(<3 5>,8,<0 4>)> 2 3(<3 5>,8)" -- Laggy + -- "0 1 2 <3!2 ~ 3> 4 5 6 7*<1 <2 4>>" -- Fulltime! + "0 <1 1(<3 5>,8,<0 4>)> 2 3(<3 5>,8)" -- Laggy -- "4*2 5 6(3,8) <[~ 7] 7?>" -- Laggy end -- (fast "<4 8>" $ run 2) -- Repeat! TODO Transition grace ) -- libgit2 0.27.0