diff --git a/backlog.md b/backlog.md index 88ea94b..14c330c 100644 --- a/backlog.md +++ b/backlog.md @@ -1,8 +1,14 @@ # Work in progress ## Worksheet -- Jazz noise: basis for jazzy drums / hip instru?o +- Jazz noise: basis for jazzy drums / hip instru +- TODO Foret noire: techno sorciere-forestiere! -- TODO Foret noire: techno sorciere-forestiere ! +## 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 ## Lessons @@ -15,9 +21,11 @@ ## Prod <!-- region TODO: Record! --> -- [DNB] Sensation octobre Nass guitar <!-- endregion --> + +- BAILAR: Marcia danse pour moi! + - Crapeau HipPo: Clav sur rythme hip-hop manuel - Break britafuninnique: boucle hip hop breatbeat piano attend un lead - Marche vertige: vertige vibration attend drum militaire diff --git a/blocks/instruments.tidal b/blocks/instruments.tidal index 0af5a27..f85a0c6 100644 --- a/blocks/instruments.tidal +++ b/blocks/instruments.tidal @@ -18,3 +18,19 @@ $ note ("5 6 8 ~ 8 [6 5] 6 ~" once $ note (-18) # "sax" -- # gain 0.47 # cut 1 + +-- LASER BRUITISTE +d1 $ plyWith 8 (|* crush 1.4) $ n "0 2" # sound "cpu2" + +-- Orgue 8-bit +d1 + $ off 0.5 ((|+ note 12) . (|* gain 0.7)) + $ slow 2 + $ stut 8 0.85 (1/"<64!16 128!16>") + $ swingBy "q" 4 + $ scramble 4 $ every 4 rev $ note (scale "lydian" (run 8)) + # "supersquare" # gain 0.5 + # voice (slow 4 sine) + # octave (slow 4 "<3 4 5 5>") + # legato 1 + # gain 0.4 diff --git a/blocks/melody.tidal b/blocks/melody.tidal index 46d30f7..507c72e 100644 --- a/blocks/melody.tidal +++ b/blocks/melody.tidal @@ -28,7 +28,7 @@ $ note (scale "aeolian" ( )) d1 -- continuous laser -$ s "bd" >| speed (segment 50 $ range 40 5 (saw)) +$ slow 4 $ "bd" >| speed (segment (slow 24 "<32 64 128>") $ range 40 5 sine) d1 -- continuous structured xylophone $ sound "bd" >| speed (struct "t ~ t ~ ~ t t" $ range 5 20 saw) diff --git a/live/bdmania.tidal b/live/bdmania.tidal index f6d3e52..43f000b 100644 --- a/live/bdmania.tidal +++ b/live/bdmania.tidal @@ -1,5 +1,5 @@ -once $ s "bd" + once $ s "bd" d1 -- kick -- $ euclid "<4 6>" 4 @@ -30,6 +30,7 @@ $ every' 4 3 (off 0.125 id) $ every 8 (# gain 0) $ every' 8 7 (# gain 1.2) $ rev $ iter 4 $ loopAt 4 $ chop 16 $ "bd" +# gain 2.5 d5 -- cordes guitare pincée $ someCycles (fast 2 . degrade) diff --git a/live/chill/dub/riddim_du_dim.tidal b/live/chill/dub/riddim_du_dim.tidal index f37d83b..7708f0a 100644 --- a/live/chill/dub/riddim_du_dim.tidal +++ b/live/chill/dub/riddim_du_dim.tidal @@ -2,7 +2,7 @@ do -- resetCycles -setcps (8/60/4) +setcps (120/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/dnb/automne_electrique.tidal b/live/dnb/automne_electrique.tidal index fbe15a1..8a22b7c 100644 --- a/live/dnb/automne_electrique.tidal +++ b/live/dnb/automne_electrique.tidal @@ -7,7 +7,7 @@ -- 3 Guitar | .........................xxxxxxxxxxxxxxFFFFFFFxxxxxxxxxxxxxxxx........... -- 4 Bass | bbbbbbbbbbbbbbbbbxxxxxxxxxxxxx.......................xxxxxxxxxxxxxxbbbbbbbbb do -resetCycles +-- resetCycles setcps (160/4/60) d1 -- Poum tchak $ mask "<f!8 f!23 [f t] t!32 f!8 f!23 [f t] t!32>" -- Orchestration @@ -34,9 +34,9 @@ d3 $ "fguitar" # n ("<8!4 10!4 8 10 10 8>") # cut 3 - # gain 0.9 - # room 0.3 - # size 0.4 + # gain 1.1 + # room 0.8 + # size 0.9 # dry 1 # pan 0.35 d4 -- BASSLINE ELECTRIQUE diff --git a/live/fusion/dimitri.tidal b/live/fusion/dimitri.tidal new file mode 100644 index 0000000..8a2c56e --- /dev/null +++ b/live/fusion/dimitri.tidal @@ -0,0 +1,77 @@ +do +setcps (120/60/4) +d1 + $ superimpose (const $ "jazz" + ) + $ loopAt 4 $ "dusty" + # gain 0.8 + # cut 1 +d2 $ fast "<4!3 8>" $ "dr" # gain 0.5 +d3 + $ sometimesBy "0.75 0.5 0.25 0.1" (ply 2) + $ fast "<1!3 2>" + $ "~ ~ ~ [sn:1,snare:2]" + -- # gain 0.8 + +-- TECHNO-CLAP +do +d1 + $ "k . <~!4 k!4 k(<3 5>,8)!4>" + # "jazz" # gain 1.8 +d2 + $ fix ( + (stut 2 0.9 "<q e s>") . + (|* gain 2) + ) ("hh") + $ "c*2 c*<4 [2 4]>" + # "cpu:3!7 [cpu2:2,hh]" + # lpf (fast 4 $ range 2000 10000 rand) + # gain (slow 16 $ range 0.8 2 sine) + + +-- Samedi après-midi venteux +do +setcps (130/60/4) +let glob = (degradeBy ("0 1 1 [1 0]" * 0.95) . (# djf 0.3)) +d1 + $ glob + $ "bd*<4!16 2 2 1 2>" # gain 1.5 +d2 -- continuous laser + $ glob + $ whenmod 32 0 (|* gain (slow 16 $ range 1 0.5 isaw)) + $ jux rev + $ slow 2 + $ "bd" >| speed (segment (slow 24 "<32 64 128>") $ range 40 5 sine) +d3 + -- $ glob + $ jux rev + $ iter 4 + $ whenmod 64 32 (# squiz 2) + $ "bd*<[8 <8 8 2> 4 8]!3 [16!3 8]>" + # gain 2.5 + # hpf 5000 +d4 + $ glob + $ superimpose ( + swing 2 . arp "<updown!3 downup>" + . (|+ note 12) + ) + $ "supersaw" + # note ("<c3'maj c3'maj c3'min g3'maj>") + # voice 0.1 + # gain (slow 8 $ range 0.55 1 sine) +d5 + $ glob + $ arp "up" + $ "supergong" + # note ("<c3'maj c3'maj c3'min g3'maj>") + # octave "<7 7 8 9>" + # gain 1.2 +d6 -- bourrasque + $ glob + $ every 16 (jux rev) -- echo + -- $ every 8 (# gain 0.9) + $ s "space:3" + # speed 0.25 + # gain 1.25 + # pan 1 diff --git a/live/midi/_init.scd b/live/midi/_init.scd index d8d9447..d1fb16b 100644 --- a/live/midi/_init.scd +++ b/live/midi/_init.scd @@ -8,12 +8,18 @@ osc = NetAddr.new("127.0.0.1", 6010); MIDIClient.init; MIDIIn.connectAll; +// Initial: sends velocity on note's channel +// on = MIDIFunc.noteOn({ |val, num, chan, src| +// osc.sendMsg("/ctrl", num.asString, val/127); +// }); + on = MIDIFunc.noteOn({ |val, num, chan, src| - osc.sendMsg("/ctrl", num.asString, val/127); + // it will be passed the arguments val, num, chan, and src, corresponding to the message value (e.g. velocity, control value, etc.) + osc.sendMsg("/ctrl", "note", (num - 60)); }); off = MIDIFunc.noteOff({ |val, num, chan, src| - osc.sendMsg("/ctrl", num.asString, 0); + osc.sendMsg("/ctrl", "note", 0); }); cc = MIDIFunc.cc({ |val, num, chan, src| diff --git a/live/midi/jazz.tidal b/live/midi/beats.tidal similarity index 67% rename from live/midi/jazz.tidal rename to live/midi/beats.tidal index ab0af4a..b69db49 100644 --- a/live/midi/jazz.tidal +++ b/live/midi/beats.tidal @@ -6,118 +6,34 @@ do # 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 +-- TECHNO 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 ~ <h!3 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)) - $ "~ ~ ~ <n!3 [~ n] n [~ n] n [~ n]>" - # "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 + setcps (120/60/4) + d1 $ "jazz*4" + d3 $ "hh*8" + d2 $ "~ cp" --- Hip Beat +-- Techno hh(13/16) PIANO prog+MIDI"note" degrade1 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" +d1 $ "jazz*4" +d4 $ "hh(13,16)" +d2 + $ (1 ~>) + $ degradeBy (1 - (cF 0 "1")) + $ note "<0 5 7>" + # "superpiano" + # velocity 0.7 # legato 4 d3 - $ whenmod 16 8 (jux rev) - $ fast "<4 4 8 4>" - $ "drum:8" # gain (slow 16 $ range 0.6 0.85 saw) - + $ degradeBy (1 - (cF 0 "1")) + $ euclid "<8!2 16!2>" 16 $ note (cF (0) "note") + # "superpiano" + # velocity 0.7 # legato 4 -- 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 "<f!4 t!28>" - $ 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 - $ "<g!16 g(<3 3 5 <8 [8 4]>>,8)!16>" - # "glitch:2" - # crush (range 4 5 perlin) - # gain 0.57 - # room 0.5 - - --- BreabBeat +-- BreakBeat do setcps (80/60/4) d1 @@ -132,10 +48,62 @@ do # lpf (slow 24 $ range 10000 200 sine) d3 $ "~ ~ ~ cp/2" # djf (slow 16 cosine) --- TECHNO + + -- setcps 0 + -- TODO record with SEQ 6: jazz impro All the things you are left hand + -- Noisy Snake Hats + do + -- setcps 0.55 + -- resetCycles + let dg = (degradeBy $ (1 - (range 0.25 1 "^1"))) + d1 + $ dg + $ 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 + $ dg + $ 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 + $ dg + $ (|+ 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 ~ <h!3 h?> ~ ~ <~!3 h?>" + # "808oh" + # n "<0 3>" + # gain (slow 32 $ range 0.6 0.4 (sine + isaw/4)) + d10 -- DELICI0US N0153 + $ dg + $ whenmod 64 48 (juxBy 0.25 (# crush 5)) + $ whenmod 8 6 (rarely (loopAt 2)) + $ "~ ~ ~ <n!3 [~ n] n [~ n] n [~ n]>" + # "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 rebond k k([3|5],8) do - setcps (120/60/4) - d1 $ "jazz*4" - d3 $ "hh*8" - d2 $ "~ cp" -111 +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) diff --git a/live/midi/break_metal.tidal b/live/midi/break_metal.tidal new file mode 100644 index 0000000..7682b60 --- /dev/null +++ b/live/midi/break_metal.tidal @@ -0,0 +1,49 @@ +-- 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 "<f!4 t!28>" + $ 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 + $ "<g!16 g(<3 3 5 <8 [8 4]>>,8)!16>" + # "glitch:2" + # crush (range 4 5 perlin) + # gain 0.57 + # room 0.5 diff --git a/live/midi/bruit_hiver.tidal b/live/midi/bruit_hiver.tidal new file mode 100644 index 0000000..3a8bc99 --- /dev/null +++ b/live/midi/bruit_hiver.tidal @@ -0,0 +1,32 @@ +-- BruitHiver: Les sons du grand froid +do +setcps (120/60/4) +resetCycles +d1 + $ mask "<f!8 t!120>" + $ whenmod 32 16 (# djf (slow 16 $ sine)) + $ "k . k(<3 <5 1>>,8)" + # "[jazz,bd]" + # gain 0.85 + # lpf 6000 +d2 + $ mask "<f!12 t!20 f!4 t!28>" + $ whenmod 64 32 (# squiz (slow 32 $ range 1 1.09 sine)) + $ "~ snare:8 . ~" + # gain 0.8 +d3 + $ mask "<f!3 t!125>" + $ whenmod 16 8 (jux rev) + $ fast "<4 4 8 [4 . <8 16> 16]>" + $ "drum" # n "[0,2]" + # gain (slow 16 $ range 0.6 0.85 saw) + # hpf 5000 +d10 + $ "[cosmicg:2]" + # begin 0.05 + # note ("f4" + "[0|12|24]") + # lpf (slow 64 $ range 2000 8000 sine) + # gain (slow 4 $ range 0.4 0.75 perlin) + # cut 10 + +once $ "cosmicg:7" # gain 0.5 # cut 42 diff --git a/live/midi/dusty_cypres.tidal b/live/midi/dusty_cypres.tidal new file mode 100644 index 0000000..ff7d5b8 --- /dev/null +++ b/live/midi/dusty_cypres.tidal @@ -0,0 +1,28 @@ +do +setcps (90/60/4) +resetCycles +let glob = (degradeBy $ "<0 1> 0.95!15" * (1 - (cF 0 "1"))) +d1 -- Beat + $ mask "<f!4 t!12>" + $ "k . <~!8 k!8> ~ ~ k*<1!4 [1|2]!4>" + # "reverbkick" + # lpf 2000 + # legato 1.5 + # gain (fast 8 $ 0.9 + (perlin/10)) +d2 -- Break + $ glob + $ loopAt 4 + $ slice 8 (iter 4 $ run 8) + $ "dusty" # n "<3!3 4>" + # pan 0.6 + # cut 2 + # gain (slow 16 $ range 0.6 1 sine) +d3 -- CYPRESS + $ glob + $ loopAt 4 + $ slice 4 "[0|2] 1 [0|2]*<1!3 [4 2]> 1*<1!7 2>" + $ "dusty:0" + # gain (slow 16 $ range 1 0.6 sine) + # lpf 2000 + # pan 0.35 + # cut 3 diff --git a/live/midi/dusty_marcia.tidal b/live/midi/dusty_marcia.tidal new file mode 100644 index 0000000..494c9c5 --- /dev/null +++ b/live/midi/dusty_marcia.tidal @@ -0,0 +1,22 @@ +do +setcps (90/60/4) +d1 $ s "jazz" + +d2 $ "dusty/2" # gain 0.7 # cut 2 + +once $ "dusty:1" + +-- BRASS /1 +once $ "dusty:1" + + +-- Sandbox + +d4 -- Trumps + -- $ mask (slow 16 "<f t [f!3 t] [t!3 f]>") + $ "[~ dusty:2]/4" + # cut 4 + # end 0.9 + # gain 0.65 + +once $ "dusty:2" diff --git a/live/midi/hello_world.tidal b/live/midi/hello_world.tidal index d6c5358..e8e0089 100644 --- a/live/midi/hello_world.tidal +++ b/live/midi/hello_world.tidal @@ -6,15 +6,16 @@ d2 $ fast 4 $ "drum:8" # gain 0.5 -d10 $ note (cF (0) "0") # "superpiano" -# velocity 0.5 +-- TODO CLEANUP BELOW +d10 $ fast 8 $ note ((cF (0) "1") * 26) # "superpiano" +# velocity 0.7 d1 $ sound "jazz*4" -- # djf (cF default CC_Number) -- # djf (cF 0.5 "14") - # djf ("^14") - # gain 0.6 + # djf ("^1") + -- # gain 0.6 # speed (cF 12 "0") diff --git a/live/midi/jazz_tech_piano.tidal b/live/midi/jazz_tech_piano.tidal new file mode 100644 index 0000000..5168177 --- /dev/null +++ b/live/midi/jazz_tech_piano.tidal @@ -0,0 +1,31 @@ + + +-- Parov : Psychedelic jazz +-- Piano: Si do re mi +do + setcps 0.46 + d1 $ s "tech:5*4" # note (-4) + d2 $ s "[~ hh ~ <hh [hh ~ hh]>]*2" + # gain 0.9 + d4 + $ superimpose ( + const + $ fix (# silence) (note "0") -- MUTE DEFAULT + $ "t([<12!4 3!4> <6!3 <8 16>>],16)" + >| (segment 16 $ note "^note") + # "superpiano" + # (velocity (range 0.4 0.7 "^1")) + # (crush (range 32 5 "^1")) + ) + $ s "superpiano" + # note "<-20 [-19,-15] [-20,-16] ~>" + # velocity "<0.7 0.5 0.6>" + # sustain 3 + # gain 0.9 + + d4 + $ superimpose (>| note ("^note" + "0 0")) + $ s "superpiano" + # velocity "<0.7 0.5 0.6>" + # sustain 3 + # gain 0.9 diff --git a/live/techno/bailar.tidal b/live/techno/bailar.tidal new file mode 100644 index 0000000..369d72e --- /dev/null +++ b/live/techno/bailar.tidal @@ -0,0 +1,43 @@ +do +let gGlob = 1 +setcps (126/60/4) +resetCycles +d1 -- Kick etouffable + $ mask "<f!8 t!56 f!16 t!48>" -- Pont! + $ fast "<4!16 1!4 2!4 4!8 1!4 8 1!3 4 1 1 2 4 4!8>" + $ "[jazz,techno]" + # djf (slow 64 $ sine) + # gain (gGlob * 0.8) +d2 -- Drums reguliers + $ mask "<t!64 f!8 t!56>" -- Pont! + $ sometimesBy "0 0 0.25 0" (ply 2) + $ fast "<4!12 8!6 16 [8 4]>" + $ "drum:2" + # djf (slow 64 $ sine) + # gain (gGlob * 1) +d3 -- Tambours marche + $ mask "<t!64 f!12 t!52>" -- Pont! + $ "cpu:2*<4!3 <8 [8 16] [8 16 8] [16 8 16] [16!3 8]>>" + # room 0.125 # sz 0.1 + # djf (slow 64 $ cosine) + # pan (slow 8 $ range 0.3 0.7 sine) + # gain (gGlob * (slow 32 $ range 0.45 0.85 sine)) +d4 -- Rita Orchestra + $ mask "<t!24 f!3 t f!4>" + $ juxBy 0.8 (# cut 41) + $ degradeBy (slow 128 $ range 0 0.65 saw) + $ sometimesBy "<1!32 0!32>" (chop "<16!8 8!8 4!8 2!8>") + $ "rita/<4!8 8!8>" + # cut 4 + # room 0.2 # sz 0.8 + # pan 0.7 + # gain (gGlob * (slow 96 $ range 0.25 0.45 sine)) +d5 -- Wahwah + $ mask "<f!16 t!48 t!4 f!12 t!48>" -- Pont! + $ whenmod 8 6 (juxBy 0.8 (rev . chop 4)) + $ iter 2 + $ striate 4 + $ "rita:2" + # gain (gGlob * (slow 4 "<1 0.9 0.8 0.7>") * 0.58) + # pan 0.3 + # cut 5 diff --git a/live/techno/funk/naufrage.tidal b/live/techno/funk/naufrage.tidal index 530d50a..73b4d7f 100644 --- a/live/techno/funk/naufrage.tidal +++ b/live/techno/funk/naufrage.tidal @@ -73,6 +73,8 @@ do scale "major" "<0 2 4 12>" + (run 4) ) # gain 0.7 +once "fpiano" + once $ s "fguitar:36" # gain 0.75 # cut 42 diff --git a/live/techno/vertige_experienciel.tidal b/live/techno/vertige_experienciel.tidal index c08a558..480b705 100644 --- a/live/techno/vertige_experienciel.tidal +++ b/live/techno/vertige_experienciel.tidal @@ -27,7 +27,7 @@ do (slow 16 $ "<20 30 40 50 40 30 20 10>") saw ) - # gain 0.35 + # gain 0.65 |- note "[<12 ~>,24,<-12 -12?>]" d8 -- Lead forks! -- $ fast 2 diff --git a/main_fairbanks.scd b/main_fairbanks.scd new file mode 100644 index 0000000..8bb33c6 --- /dev/null +++ b/main_fairbanks.scd @@ -0,0 +1,69 @@ +( +// ---------------------------- // +// --- RUN THIS WHOLE BLOCK --- // +// ---------------------------- // + +// configure the sound server: here you could add hardware specific options +// see http://doc.sccode.org/Classes/ServerOptions.html +//s.options.outDevice = "Soundflower (64ch)"; +//s.options.inDevice = "Soundflower (64ch)"; +s.options.numBuffers = 1024 * 16; // increase this if you need to load more samples +s.options.memSize = 8192 * 16; // increase this if you get "alloc failed" messages +s.options.maxNodes = 1024 * 32; // increase this if you are getting drop outs and the message "too many nodes" +s.options.numOutputBusChannels = 8; // set this to your hardware output channel size, if necessary +s.options.numInputBusChannels = 2; // set this to your hardware output channel size, if necessary +// boot the server and start SuperDirt +s.waitForBoot { + ~dirt = SuperDirt(2, s); // two output channels, increase if you want to pan across more channels + ~dirt.loadSoundFiles; // load samples (path containing a wildcard can be passed in) + // for example: ~dirt.loadSoundFiles("/Users/myUserName/Dirt/samples/*"); + s.sync; // wait for samples to be read + ~dirt.start(57120, [0,2,4,6,8,10,12,14]); // start listening on port 57120, create four busses each sending audio to channel 0 + ( + SynthDef(\plucklead, { + |out, sustain = 1, freq = 440, speed = 1, begin=0, end=1, pan, accelerate, offset| + var line = Line.ar(begin, end, sustain, doneAction:2); + var env = Env([0, 1, 0.333, 0],[5, 70, 1000]); + var envGen = IEnvGen.ar(env, line*env.times.sum*abs(speed)); + var speedFreq = freq*abs(speed); + var pulseLfo = SinOsc.ar(Rand(-1,1)); + var sound = RLPF.ar(Pulse.ar([speedFreq*Rand(0.99,1.01)*2,speedFreq*Rand(0.99,1.01)*2],pulseLfo)*0.5+Saw.ar(speedFreq), (20000*(envGen**2.8))+DC.ar(10), 0.5); + Out.ar(out, DirtPan.ar(sound, ~dirt.numChannels, pan, envGen)); + }).add; + ); + ~modBus.free; + ~carBus.free; + ~dirt.orbits[0].outBus = 0; + ~dirt.orbits[1].outBus = 0; + // --- // + ~modBus = Bus.audio(s, numChannels:2); // assuming stereo, expand if needed + ~carBus = Bus.audio(s, numChannels:2); + ~dirt.orbits[0].outBus = ~modBus; // play into that bus. + ~dirt.orbits[1].outBus = ~carBus; + ( + Ndef(\x, { + var modBus = In.ar(~modBus, 2); + var carBus = In.ar(~carBus, 2); + var out = modBus+carBus; + //carBus = FreeVerb.ar(carBus, 0.9, 0.8, 0.8); + carBus = carBus+((-7).dbamp*Compander.ar(FreeVerb.ar(carBus, 0.9), carBus, -30.dbamp, 1, 0.01, 0.01, 0.07)); + carBus = Compander.ar(carBus,carBus,-20.dbamp,1,0.5,0.01,0.35)*(-5).dbamp; + out = Compander.ar(carBus, modBus, -30.dbamp, 1, 0.01, 0.01, 0.07)+modBus; + out = Compander.ar(out, out, -15.dbamp, 1, 0.2)*4; + Out.ar(0, out); + }); + ); + ( + MIDIClient.init; + MIDIIn.connectAll; + ~tidalSocket = NetAddr("localhost", 6010); + ~notes=[]; + //MIDIFunc.cc( {|val, num, chan, src| ~tidalSocket.sendMsg('/ctrl', num, val/127.0);}, nil, nil, nil); + MIDIFunc.noteOn({|veloc, num, chan, src| ~notes=~notes.add(num); ~tidalSocket.sendMsg('/ctrl', "notes", format("%", ~notes)); }); + MIDIFunc.noteOff({|veloc, num, chan, src| ~notes=~notes.takeThese({|x| x==num}); ~tidalSocket.sendMsg('/ctrl', "notes", format("%", ~notes)); }); + ); +}; +); + +// check me out for the current notes being played +~notes.postln; diff --git a/output/Falaise.jpg b/output/Falaise.jpg new file mode 100644 index 0000000..b4f5388 Binary files /dev/null and b/output/Falaise.jpg differ diff --git a/output/Falaise2 b/output/Falaise2 new file mode 100644 index 0000000..955a673 Binary files /dev/null and b/output/Falaise2 differ diff --git a/output/FalaiseNoise.jpg b/output/FalaiseNoise.jpg new file mode 100644 index 0000000..41bf3a1 Binary files /dev/null and b/output/FalaiseNoise.jpg differ diff --git a/output/FalaiseSable.jpg b/output/FalaiseSable.jpg new file mode 100644 index 0000000..44408de Binary files /dev/null and b/output/FalaiseSable.jpg differ