|
|
|
@ -3,26 +3,17 @@ |
|
|
|
|
This program is free software distributed under |
|
|
|
|
GNU General Public Licence. See COPYING for more info. |
|
|
|
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|
|
|
|
*/ |
|
|
|
|
// RHIZOSPHERE - STEKLENIK 2020 - CONA ////////////////////////////////////////////// |
|
|
|
|
|
|
|
|
|
postln(" |
|
|
|
|
|
|
|
|
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -"); |
|
|
|
|
/* |
|
|
|
|
>>> Hello. Starting RHIZOSPHERE <<<<< |
|
|
|
|
|
|
|
|
|
██████╗ ██╗ ██╗██╗███████╗ ██████╗ ███████╗██████╗ ██╗ ██╗███████╗██████╗ ███████╗ |
|
|
|
|
██╔══██╗██║ ██║██║╚══███╔╝██╔═══██╗██╔════╝██╔══██╗██║ ██║██╔════╝██╔══██╗██╔════╝ |
|
|
|
|
██████╔╝███████║██║ ███╔╝ ██║ ██║███████╗██████╔╝███████║█████╗ ██████╔╝█████╗ |
|
|
|
|
██╔══██╗██╔══██║██║ ███╔╝ ██║ ██║╚════██║██╔═══╝ ██╔══██║██╔══╝ ██╔══██╗██╔══╝ |
|
|
|
|
██║ ██║██║ ██║██║███████╗╚██████╔╝███████║██║ ██║ ██║███████╗██║ ██║███████╗ |
|
|
|
|
╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚══════╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚══════╝ |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"); |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
Server.default.waitForBoot { |
|
|
|
|
|
|
|
|
|
// library path |
|
|
|
@ -36,10 +27,6 @@ Server.default.waitForBoot { |
|
|
|
|
// execute it: |
|
|
|
|
this.executeFile(afile.fullPath); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
// important for patterns |
|
|
|
|
s.latency = 0.05; // default server's is 0.2 |
|
|
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
s.meter; s.plotTree; |
|
|
|
@ -97,11 +84,11 @@ s.meter; s.plotTree; |
|
|
|
|
">>> loaded all busses".postln; |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
( |
|
|
|
|
( /////////////////////////////////////////////////////////////////////////////// |
|
|
|
|
var timeLine; |
|
|
|
|
|
|
|
|
|
"--- freeing old octoPanners ...".postln; |
|
|
|
|
~octoPanner1.free; ~octoPanner2.free; ~octoPanner3.free; ~octoPanner4.free; |
|
|
|
|
"\n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>".postln; |
|
|
|
|
"--- R H I Z O S P H E R E -----".postln; |
|
|
|
|
">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n".postln; |
|
|
|
|
|
|
|
|
|
"--- loading octoPanners ...".postln; |
|
|
|
|
~octoPanner1 = Synth("octoPanner", [\inBus, ~octoBus1, \outBus, ~revBus], addAction: \addToTail); |
|
|
|
@ -128,20 +115,12 @@ var timeLine; |
|
|
|
|
~reverb = Synth("reverBusser", [\inBus, ~revBus, \outBus, 0], addAction: \addToTail); |
|
|
|
|
|
|
|
|
|
// some default oscilations of pan and reverb |
|
|
|
|
|
|
|
|
|
~panner1y.free; |
|
|
|
|
~panner2y.free; |
|
|
|
|
~panner3y.free; |
|
|
|
|
~panner4y.free; |
|
|
|
|
|
|
|
|
|
//~panner1y = SynthDef(\pannerOsc, {Out.kr(~panBus1y, SinOsc.kr(0.1).range(0.1,0.2))}).play; |
|
|
|
|
~panner1y = SynthDef(\randomPanY1, { Out.kr(~panBus1y, LFNoise1.kr(1).range(0,0.28))}).play; |
|
|
|
|
~panner2y = SynthDef(\randomPanY2, { Out.kr(~panBus2y, LFNoise1.kr(1).range(0,0.28))}).play; |
|
|
|
|
~panner3y = SynthDef(\randomPanY3, { Out.kr(~panBus3y, LFNoise1.kr(1).range(0,0.28))}).play; |
|
|
|
|
~panner4y = SynthDef(\randomPanY4, { Out.kr(~panBus4y, LFNoise1.kr(1).range(0,0.28))}).play; |
|
|
|
|
// convert to SynthDef + Synth for common oscilations? |
|
|
|
|
|
|
|
|
|
~reverb1wetBus.free; ~wetOsc.free; // clean up |
|
|
|
|
~reverb1wetBus.free; // ~wetOsc.free; // clean up |
|
|
|
|
~reverb1wetBus = Bus.control(s, 1); // create control bus |
|
|
|
|
~reverb.map(\verb1wet, ~reverb1wetBus); // map an argument to control bus |
|
|
|
|
~wetOsc = SynthDef(\randomVerb1, {Out.kr(~reverb1wetBus, LFNoise2.kr(1).range(0, 0.8)) }).play; |
|
|
|
@ -150,38 +129,39 @@ var timeLine; |
|
|
|
|
// ~reverb.set(\verb1wet, 0); |
|
|
|
|
// ~reverb.set(\verb1wet, 1); |
|
|
|
|
// ~reverb.set(\verb2wet, 1); |
|
|
|
|
//); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//( |
|
|
|
|
timeLine = Routine { |
|
|
|
|
"--- starting main routine ...".postln; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// SOIL ////////////////////////////////// |
|
|
|
|
// forestSoil granulation |
|
|
|
|
"\n--- PART 1 ---".postln; |
|
|
|
|
"--- starting forestSoil granulation ...".postln; |
|
|
|
|
|
|
|
|
|
~soil1 = Synth(\granSoil, [\out, ~octoBus1, \sndbuf, ~forestSoilBuf, \dur, 0.0001 ,\fadeTime, 20]); |
|
|
|
|
~soil1 = Synth(\granSoil, [\out, ~octoBus1, \sndbuf, ~forestSoilBuf, \dur, 0.0001 ,\fadeTime, 20, \amp, 0.8]); |
|
|
|
|
~soil1durBus = Bus.control(s,1); |
|
|
|
|
~soil1durBus.value = 0.0001; |
|
|
|
|
~soil1.map(\dur, ~soil1durBus); |
|
|
|
|
wait(80); |
|
|
|
|
|
|
|
|
|
"--- starting soil2 ...".postln; |
|
|
|
|
~soil2 = Synth(\granSoil, [\out, ~octoBus2, \sndbuf, ~forestSoilBuf, \dur, 0.0001 ,\fadeTime, 20]); |
|
|
|
|
~soil2 = Synth(\granSoil, [\out, ~octoBus2, \sndbuf, ~forestSoilBuf, \dur, 0.0001 ,\fadeTime, 20, \amp, 0.8]); |
|
|
|
|
~soil2durBus = Bus.control(s,1); |
|
|
|
|
~soil2durBus.value = 0.0001; |
|
|
|
|
~soil2.map(\dur, ~soil2durBus); |
|
|
|
|
wait(20); |
|
|
|
|
|
|
|
|
|
"--- starting oscilating duration ...".postln; |
|
|
|
|
~soil1DurOsc = SynthDef( \soilDurOsc, {Out.kr(~soil1durBus, SinOsc.kr(0.01,1.5pi).range(0.0001, 0.1))} ).play; |
|
|
|
|
~soil1DurOsc = SynthDef( \soilDurOsc, {Out.kr(~soil1durBus, SinOsc.kr(0.012,1.5pi).range(0.0001, 0.05))} ).play; |
|
|
|
|
wait(20); |
|
|
|
|
|
|
|
|
|
// ~soil1DurOsc.free; |
|
|
|
|
"--- starting oscilating duration 2...".postln; |
|
|
|
|
~soil2DurOsc = SynthDef( \soilDurOsc, {Out.kr(~soil2durBus, SinOsc.kr(0.01,1.5pi).range(0.0001, 0.2))} ).play; |
|
|
|
|
~soil2DurOsc = SynthDef( \soilDurOsc, {Out.kr(~soil2durBus, SinOsc.kr(0.029,1.5pi).range(0.0001, 0.08))} ).play; |
|
|
|
|
wait(120); |
|
|
|
|
|
|
|
|
|
"--- return to static duration...".postln; |
|
|
|
|
"--- return to static duration, abruptly...".postln; |
|
|
|
|
~soil1.set(\dur, 0.0001); |
|
|
|
|
wait(1); |
|
|
|
|
~soil2.set(\dur, 0.0001); |
|
|
|
@ -197,20 +177,21 @@ timeLine = Routine { |
|
|
|
|
|
|
|
|
|
~soil1DurOsc.free; |
|
|
|
|
~soil2DurOsc.free; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// trigRingz ////////////////////////////////////////////////////////////////////////////////////////////////////// |
|
|
|
|
|
|
|
|
|
"\n--- PART 2 ---".postln; |
|
|
|
|
"--- starting lorenzTrig1 ...".postln; |
|
|
|
|
~lorenzTrig1 = Synth(\lorenzTrigRing, [\out, ~octoBus1, \freq, 1400, \amp, 0.5, \fadeTime, 5]); |
|
|
|
|
wait(30); |
|
|
|
|
wait(50); |
|
|
|
|
|
|
|
|
|
"--- starting stdTrig1 ...".postln; |
|
|
|
|
~stdTrig1 = Synth(\stndTrigRing, [\out, ~octoBus2, \freq,1900, \amp,0.5,\fadeTime, 10]); |
|
|
|
|
wait(20); |
|
|
|
|
wait(40); |
|
|
|
|
|
|
|
|
|
"--- starting lorenzTrig2 ...".postln; |
|
|
|
|
~lorenzTrig2 = Synth(\lorenzTrigRing, [\out, ~octoBus3, \freq, 400, \amp, 0.3, \fadeTime, 10, \min, 5, \max, 20]); |
|
|
|
|
wait(20); |
|
|
|
|
wait(30); |
|
|
|
|
|
|
|
|
|
"--- starting stdTrig2 ...".postln; |
|
|
|
|
~stdTrig2 = Synth(\stndTrigRing, [\freq, 70, \min, 0, \max, 2, \decay, 2, \ffreq, 200, \amp, 0.4, \out, ~octoBus4, \fadeTime, 20]) ; |
|
|
|
@ -218,27 +199,31 @@ timeLine = Routine { |
|
|
|
|
|
|
|
|
|
"--- starting henoTrig1 ...".postln; |
|
|
|
|
~henoTrig1 = Synth(\henoTrigRing, [\out, ~octoBus2, \freq, 2700, \amp, 1, \min, 0.1, \max, 1, \fadeTime, 20]); |
|
|
|
|
wait(20); |
|
|
|
|
wait(10); |
|
|
|
|
|
|
|
|
|
"--- starting henoTrig1 ...".postln; |
|
|
|
|
~gbmanTrig1 = Synth(\gbmanTrigRing, [\out, ~octoBus1, \freq, 90, \decay, 2, \min, 0.2, \max, 1, \amp, 0.4, \fadeTime, 2]); |
|
|
|
|
wait(20); |
|
|
|
|
~gbmanTrig1 = Synth(\gbmanTrigRing, [\out, ~octoBus1, \freq, 139, \decay, 2, \min, 0.2, \max, 1, \amp, 0.4, \fadeTime, 2]); |
|
|
|
|
wait(10); |
|
|
|
|
|
|
|
|
|
"--- starting latooTrig1 ...".postln; |
|
|
|
|
~latooTrig1 = Synth(\latooTrigRing, [\out, ~octoBus4, \freq, 3300, \decay, 3, \min, 0.2, \max, 1, \amp, 0.2, \fadeTime, 10 ]); |
|
|
|
|
wait(20); |
|
|
|
|
wait(10); |
|
|
|
|
|
|
|
|
|
"--- starting latooTrig2 ...".postln; |
|
|
|
|
~latooTrig2 = Synth(\latooTrigRing, [\out, ~octoBus3, \freq, 4300, \decay, 0.2, \min, 1, \max, 10, \amp, 0.2, \fadeTime, 10 ]); |
|
|
|
|
wait(20); |
|
|
|
|
wait(10); |
|
|
|
|
|
|
|
|
|
"--- starting fhnTrig1 ...".postln; |
|
|
|
|
~fhnTrig1 = Synth(\fhnTrigRing, [\out, ~octoBus1, \freq, 110, \amp, 0.5, \decay, 2, \min, 0.2, \max, 1, \amp, 0.4, \fadeTime, 10]); |
|
|
|
|
~fhnTrig1 = Synth(\fhnTrigRing, [\out, ~octoBus1, \freq, 210, \amp, 0.5, \decay, 2, \min, 0.2, \max, 1, \amp, 0.4, \fadeTime, 10]); |
|
|
|
|
wait(20); |
|
|
|
|
|
|
|
|
|
"--- starting fhnTrig3 ...".postln; |
|
|
|
|
~fhnTrig3 = Synth(\fhnTrigRing, [\out, ~octoBus1, \freq, 200, \amp, 0.5, \decay, 2, \min, 0.2, \max, 1, \amp, 0.4, \fadeTime, 10]); |
|
|
|
|
wait(20); |
|
|
|
|
|
|
|
|
|
"--- starting fhnTrig2 ...".postln; |
|
|
|
|
~fhnTrig2 = Synth(\fhnTrigRing, [\out, ~octoBus2, \freq, 2110, \amp, 0.5, \min, 2, \max, 20, \amp, 0.5, \fadeTime, 10]); |
|
|
|
|
wait(40); |
|
|
|
|
wait(20); |
|
|
|
|
|
|
|
|
|
"--- starting ~fmgrainer ...".postln; |
|
|
|
|
~fmgrainer = Routine { 200.do({ x = Synth(\fm_grainer, [ "modfreq", rrand(10,1000), "carfreq", rrand(40,100), \out, ~octoBus1 ]); 1.wait; }); "--- fmgrains done generating new ones ...".postln; }.play; |
|
|
|
@ -250,6 +235,7 @@ timeLine = Routine { |
|
|
|
|
~stdTrig2.set(\fadeTime, 8, \gate, 0); |
|
|
|
|
~lorenzTrig2.set(\fadeTime, 12, \gate, 0); |
|
|
|
|
~henoTrig1.set(\fadeTime, 15, \gate, 0); |
|
|
|
|
~fhnTrig3.set(\fadeTime, 1, \gate, 0); |
|
|
|
|
wait(30); |
|
|
|
|
|
|
|
|
|
"--- fading out ...".postln; |
|
|
|
@ -269,20 +255,21 @@ timeLine = Routine { |
|
|
|
|
"--- latooWanderings ...".postln; |
|
|
|
|
~latooWan1 = Synth(\latooWanderings, [\out, ~octoBus4, \fadeTime, 30, \amp, 0.3]); |
|
|
|
|
wait(60); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"\n--- PART 3 ---".postln; |
|
|
|
|
"--- markov1 ...".postln; |
|
|
|
|
~markov1 = Synth(\markovS1, [ \out, ~octoBus1, \freq, 440, \tsize, 3, \amp, 0.3, \clip, 0.69, \fadeTime, 0.01 ]); |
|
|
|
|
wait(60); |
|
|
|
|
|
|
|
|
|
"--- markov fade, latooWan fade, distbleeps ...".postln; |
|
|
|
|
"--- cut markov1 & latooWan, start distbleeps ...".postln; |
|
|
|
|
~markov1.set(\gate, 0, \fadeTime, 0.01); |
|
|
|
|
~latooWan1.set(\gate, 0, \fadeTime, 0.01); |
|
|
|
|
~distbleeps = Synth(\latooTriggers, [\out, ~octoBus3, \trigA, 1.1, \fadeTime, 0.01, \amp, 0.7]); |
|
|
|
|
wait(60); |
|
|
|
|
~distbleeps = Synth(\latooTriggers, [\out, ~octoBus3, \trigA, 1.1, \fadeTime, 0.01, \amp, 0.9]); |
|
|
|
|
wait(30); |
|
|
|
|
|
|
|
|
|
"--- markov7 ...".postln; |
|
|
|
|
~markov7 = Synth(\markovS1, [ \out, ~octoBus2, \freq, 740, \tsize, 3, \amp, 0.1, \clip, 0.9, \fadeTime, 7 ]); |
|
|
|
|
wait(60); |
|
|
|
|
~markov7 = Synth(\markovS1, [ \out, ~octoBus2, \freq, 740, \tsize, 3, \amp, 0.2, \clip, 0.9, \fadeTime, 7 ]); |
|
|
|
|
wait(20); |
|
|
|
|
|
|
|
|
|
"--- fade: markov7, distbleeps ...".postln; |
|
|
|
|
~markov7.set(\gate, 0, \fadeTime, 0.01); |
|
|
|
@ -298,58 +285,39 @@ timeLine = Routine { |
|
|
|
|
|
|
|
|
|
"--- markov10,11,12 ...".postln; |
|
|
|
|
~markov10 = Synth(\markovS1, [ \out, ~octoBus4, |
|
|
|
|
\freq, 501, \tsize, 3, \amp, 0.2, \clip, 0.9, \fadeTime, 0.1 ]); |
|
|
|
|
\freq, 501, \tsize, 3, \amp, 0.2, \clip, 0.9, \fadeTime, 0.01 ]); |
|
|
|
|
~markov11 = Synth(\markovS1, [ \out, ~octoBus3, |
|
|
|
|
\freq, 1101, \tsize, 3, \amp, 0.2, \clip, 0.9, \fadeTime, 0.1 ]); |
|
|
|
|
\freq, 1101, \tsize, 3, \amp, 0.2, \clip, 0.9, \fadeTime, 0.01 ]); |
|
|
|
|
~markov12 = Synth(\markovS1, [ \out, ~octoBus2, |
|
|
|
|
\freq, 3001, \tsize, 3, \amp, 0.2, \clip, 0.9, \fadeTime, 0.1 ]); |
|
|
|
|
\freq, 3001, \tsize, 3, \amp, 0.2, \clip, 0.9, \fadeTime, 0.01 ]); |
|
|
|
|
wait(60); |
|
|
|
|
|
|
|
|
|
"--- noiseCrackle ...".postln; |
|
|
|
|
~noiseCr1 = Synth(\noiseCrackle, [\out, ~octoBus1, \fadeTime, 40 ]); |
|
|
|
|
"--- fade markov10,11,12 ...".postln; |
|
|
|
|
~markov10.set(\gate, 0, \fadeTime, 50); |
|
|
|
|
~markov11.set(\gate, 0, \fadeTime, 50); |
|
|
|
|
~markov12.set(\gate, 0, \fadeTime, 50); |
|
|
|
|
|
|
|
|
|
"\n--- PART 4 --- ".postln; |
|
|
|
|
"--- noiseCrackle ...".postln; |
|
|
|
|
~noiseCr1 = Synth(\noiseCrackle, [\out, ~octoBus1, \fadeTime, 30 ]); |
|
|
|
|
wait(40); |
|
|
|
|
|
|
|
|
|
"--- noiseCrackle lpfa hpfa ...".postln; |
|
|
|
|
~noiseCr1.set(\lpfa,1,\hpfa,0); |
|
|
|
|
wait(10); |
|
|
|
|
|
|
|
|
|
"--- noiseCrackle lpfa hpfa ...".postln; |
|
|
|
|
~noiseCr1.set(\lpfa,0,\hpfa,1); |
|
|
|
|
wait(5); |
|
|
|
|
|
|
|
|
|
"--- noiseCrackle lpfa hpfa ...".postln; |
|
|
|
|
~noiseCr1.set(\lpfa,1,\hpfa,1); |
|
|
|
|
wait(10); |
|
|
|
|
|
|
|
|
|
"--- darkHenon ...".postln; |
|
|
|
|
~darkHenon1 = Synth(\henonLsynth2, [\out, ~octoBus4, \fadeTime, 60]); |
|
|
|
|
wait(20); |
|
|
|
|
|
|
|
|
|
"--- noiseCrackle amp 0.5 ...".postln; |
|
|
|
|
~noiseCr1.set(\amp, 0.5); |
|
|
|
|
~darkHenon1 = Synth(\henonLsynth2, [\out, ~octoBus4, \fadeTime, 30]); |
|
|
|
|
wait(40); |
|
|
|
|
|
|
|
|
|
"--- noiseCrackle amp 0.2 ...".postln; |
|
|
|
|
~noiseCr1.set(\amp, 0.2); |
|
|
|
|
wait(30); |
|
|
|
|
|
|
|
|
|
"--- noiseCrackle fade ...".postln; |
|
|
|
|
~noiseCr1.set(\fadeTime, 30, \gate,0); |
|
|
|
|
wait(60); |
|
|
|
|
|
|
|
|
|
"--- henonS1 ...".postln; |
|
|
|
|
~henonS1 = Synth(\henonSynth1, [\out, ~octoBus3, \amp, 0.2, \fadeTime, 40]); |
|
|
|
|
wait(120); |
|
|
|
|
~henonS1 = Synth(\henonSynth1, [\out, ~octoBus3, \amp, 0.4, \fadeTime, 40]); |
|
|
|
|
"--- noiseCrackle fade ...".postln; |
|
|
|
|
~noiseCr1.set(\fadeTime, 90, \gate,0); |
|
|
|
|
wait(90); |
|
|
|
|
|
|
|
|
|
"--- final fade henonS1, darkHenon ...".postln; |
|
|
|
|
~henonS1.set(\gate, 0, \fadeTime, 50); |
|
|
|
|
~darkHenon1.set(\gate, 0, \fadeTime, 40); |
|
|
|
|
|
|
|
|
|
wait(50); |
|
|
|
|
~darkHenon1.set(\gate, 0, \fadeTime, 60); |
|
|
|
|
wait(20); |
|
|
|
|
|
|
|
|
|
~henonS1.set(\gate, 0, \fadeTime, 60); |
|
|
|
|
wait(60); |
|
|
|
|
|
|
|
|
|
"--- end of the TIMELINE ---".postln |
|
|
|
|
|
|
|
|
|