1
0
Fork 0

final stereo version all corrected. perhaps.

8-channel
Luka Prinčič 2020-03-28 11:52:40 +01:00
parent 7a07d18deb
commit 043add3f52
1 changed files with 56 additions and 88 deletions

View File

@ -3,26 +3,17 @@
This program is free software distributed under This program is free software distributed under
GNU General Public Licence. See COPYING for more info. GNU General Public Licence. See COPYING for more info.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*/
// RHIZOSPHERE - STEKLENIK 2020 - CONA ////////////////////////////////////////////// // RHIZOSPHERE - STEKLENIK 2020 - CONA //////////////////////////////////////////////
postln("
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -");
/*
>>> Hello. Starting RHIZOSPHERE <<<<<
██████╗ ██╗ ██╗██╗███████╗ ██████╗ ███████╗██████╗ ██╗ ██╗███████╗██████╗ ███████╗ ██████╗ ██╗ ██╗██╗███████╗ ██████╗ ███████╗██████╗ ██╗ ██╗███████╗██████╗ ███████╗
██╔══██╗██║ ██║██║╚══███╔╝██╔═══██╗██╔════╝██╔══██╗██║ ██║██╔════╝██╔══██╗██╔════╝ ██╔══██╗██║ ██║██║╚══███╔╝██╔═══██╗██╔════╝██╔══██╗██║ ██║██╔════╝██╔══██╗██╔════╝
██████╔╝███████║██║ ███╔╝ ██║ ██║███████╗██████╔╝███████║█████╗ ██████╔╝█████╗ ██████╔╝███████║██║ ███╔╝ ██║ ██║███████╗██████╔╝███████║█████╗ ██████╔╝█████╗
██╔══██╗██╔══██║██║ ███╔╝ ██║ ██║╚════██║██╔═══╝ ██╔══██║██╔══╝ ██╔══██╗██╔══╝ ██╔══██╗██╔══██║██║ ███╔╝ ██║ ██║╚════██║██╔═══╝ ██╔══██║██╔══╝ ██╔══██╗██╔══╝
██║ ██║██║ ██║██║███████╗╚██████╔╝███████║██║ ██║ ██║███████╗██║ ██║███████╗ ██║ ██║██║ ██║██║███████╗╚██████╔╝███████║██║ ██║ ██║███████╗██║ ██║███████╗
╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚══════╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚══════╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚══════╝
");
*/ */
Server.default.waitForBoot { Server.default.waitForBoot {
// library path // library path
@ -36,10 +27,6 @@ Server.default.waitForBoot {
// execute it: // execute it:
this.executeFile(afile.fullPath); this.executeFile(afile.fullPath);
}); });
// important for patterns
s.latency = 0.05; // default server's is 0.2
}); });
s.meter; s.plotTree; s.meter; s.plotTree;
@ -97,11 +84,11 @@ s.meter; s.plotTree;
">>> loaded all busses".postln; ">>> loaded all busses".postln;
); );
( ( ///////////////////////////////////////////////////////////////////////////////
var timeLine; var timeLine;
"\n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>".postln;
"--- freeing old octoPanners ...".postln; "--- R H I Z O S P H E R E -----".postln;
~octoPanner1.free; ~octoPanner2.free; ~octoPanner3.free; ~octoPanner4.free; ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n".postln;
"--- loading octoPanners ...".postln; "--- loading octoPanners ...".postln;
~octoPanner1 = Synth("octoPanner", [\inBus, ~octoBus1, \outBus, ~revBus], addAction: \addToTail); ~octoPanner1 = Synth("octoPanner", [\inBus, ~octoBus1, \outBus, ~revBus], addAction: \addToTail);
@ -128,20 +115,12 @@ var timeLine;
~reverb = Synth("reverBusser", [\inBus, ~revBus, \outBus, 0], addAction: \addToTail); ~reverb = Synth("reverBusser", [\inBus, ~revBus, \outBus, 0], addAction: \addToTail);
// some default oscilations of pan and reverb // 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; ~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; ~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; ~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; ~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 ~reverb1wetBus = Bus.control(s, 1); // create control bus
~reverb.map(\verb1wet, ~reverb1wetBus); // map an argument to 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; ~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, 0);
// ~reverb.set(\verb1wet, 1); // ~reverb.set(\verb1wet, 1);
// ~reverb.set(\verb2wet, 1); // ~reverb.set(\verb2wet, 1);
//);
//(
timeLine = Routine { timeLine = Routine {
"--- starting main routine ...".postln; "--- starting main routine ...".postln;
/// SOIL ////////////////////////////////// /// SOIL //////////////////////////////////
// forestSoil granulation // forestSoil granulation
"\n--- PART 1 ---".postln;
"--- starting forestSoil granulation ...".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 = Bus.control(s,1);
~soil1durBus.value = 0.0001; ~soil1durBus.value = 0.0001;
~soil1.map(\dur, ~soil1durBus); ~soil1.map(\dur, ~soil1durBus);
wait(80); wait(80);
"--- starting soil2 ...".postln; "--- 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 = Bus.control(s,1);
~soil2durBus.value = 0.0001; ~soil2durBus.value = 0.0001;
~soil2.map(\dur, ~soil2durBus); ~soil2.map(\dur, ~soil2durBus);
wait(20); wait(20);
"--- starting oscilating duration ...".postln; "--- 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); wait(20);
// ~soil1DurOsc.free;
"--- starting oscilating duration 2...".postln; "--- 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); wait(120);
"--- return to static duration...".postln; "--- return to static duration, abruptly...".postln;
~soil1.set(\dur, 0.0001); ~soil1.set(\dur, 0.0001);
wait(1); wait(1);
~soil2.set(\dur, 0.0001); ~soil2.set(\dur, 0.0001);
@ -200,17 +180,18 @@ timeLine = Routine {
// trigRingz ////////////////////////////////////////////////////////////////////////////////////////////////////// // trigRingz //////////////////////////////////////////////////////////////////////////////////////////////////////
"\n--- PART 2 ---".postln;
"--- starting lorenzTrig1 ...".postln; "--- starting lorenzTrig1 ...".postln;
~lorenzTrig1 = Synth(\lorenzTrigRing, [\out, ~octoBus1, \freq, 1400, \amp, 0.5, \fadeTime, 5]); ~lorenzTrig1 = Synth(\lorenzTrigRing, [\out, ~octoBus1, \freq, 1400, \amp, 0.5, \fadeTime, 5]);
wait(30); wait(50);
"--- starting stdTrig1 ...".postln; "--- starting stdTrig1 ...".postln;
~stdTrig1 = Synth(\stndTrigRing, [\out, ~octoBus2, \freq,1900, \amp,0.5,\fadeTime, 10]); ~stdTrig1 = Synth(\stndTrigRing, [\out, ~octoBus2, \freq,1900, \amp,0.5,\fadeTime, 10]);
wait(20); wait(40);
"--- starting lorenzTrig2 ...".postln; "--- starting lorenzTrig2 ...".postln;
~lorenzTrig2 = Synth(\lorenzTrigRing, [\out, ~octoBus3, \freq, 400, \amp, 0.3, \fadeTime, 10, \min, 5, \max, 20]); ~lorenzTrig2 = Synth(\lorenzTrigRing, [\out, ~octoBus3, \freq, 400, \amp, 0.3, \fadeTime, 10, \min, 5, \max, 20]);
wait(20); wait(30);
"--- starting stdTrig2 ...".postln; "--- starting stdTrig2 ...".postln;
~stdTrig2 = Synth(\stndTrigRing, [\freq, 70, \min, 0, \max, 2, \decay, 2, \ffreq, 200, \amp, 0.4, \out, ~octoBus4, \fadeTime, 20]) ; ~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; "--- starting henoTrig1 ...".postln;
~henoTrig1 = Synth(\henoTrigRing, [\out, ~octoBus2, \freq, 2700, \amp, 1, \min, 0.1, \max, 1, \fadeTime, 20]); ~henoTrig1 = Synth(\henoTrigRing, [\out, ~octoBus2, \freq, 2700, \amp, 1, \min, 0.1, \max, 1, \fadeTime, 20]);
wait(20); wait(10);
"--- starting henoTrig1 ...".postln; "--- starting henoTrig1 ...".postln;
~gbmanTrig1 = Synth(\gbmanTrigRing, [\out, ~octoBus1, \freq, 90, \decay, 2, \min, 0.2, \max, 1, \amp, 0.4, \fadeTime, 2]); ~gbmanTrig1 = Synth(\gbmanTrigRing, [\out, ~octoBus1, \freq, 139, \decay, 2, \min, 0.2, \max, 1, \amp, 0.4, \fadeTime, 2]);
wait(20); wait(10);
"--- starting latooTrig1 ...".postln; "--- starting latooTrig1 ...".postln;
~latooTrig1 = Synth(\latooTrigRing, [\out, ~octoBus4, \freq, 3300, \decay, 3, \min, 0.2, \max, 1, \amp, 0.2, \fadeTime, 10 ]); ~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; "--- starting latooTrig2 ...".postln;
~latooTrig2 = Synth(\latooTrigRing, [\out, ~octoBus3, \freq, 4300, \decay, 0.2, \min, 1, \max, 10, \amp, 0.2, \fadeTime, 10 ]); ~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; "--- 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); wait(20);
"--- starting fhnTrig2 ...".postln; "--- starting fhnTrig2 ...".postln;
~fhnTrig2 = Synth(\fhnTrigRing, [\out, ~octoBus2, \freq, 2110, \amp, 0.5, \min, 2, \max, 20, \amp, 0.5, \fadeTime, 10]); ~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; "--- 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; ~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); ~stdTrig2.set(\fadeTime, 8, \gate, 0);
~lorenzTrig2.set(\fadeTime, 12, \gate, 0); ~lorenzTrig2.set(\fadeTime, 12, \gate, 0);
~henoTrig1.set(\fadeTime, 15, \gate, 0); ~henoTrig1.set(\fadeTime, 15, \gate, 0);
~fhnTrig3.set(\fadeTime, 1, \gate, 0);
wait(30); wait(30);
"--- fading out ...".postln; "--- fading out ...".postln;
@ -270,19 +256,20 @@ timeLine = Routine {
~latooWan1 = Synth(\latooWanderings, [\out, ~octoBus4, \fadeTime, 30, \amp, 0.3]); ~latooWan1 = Synth(\latooWanderings, [\out, ~octoBus4, \fadeTime, 30, \amp, 0.3]);
wait(60); wait(60);
"\n--- PART 3 ---".postln;
"--- markov1 ...".postln; "--- markov1 ...".postln;
~markov1 = Synth(\markovS1, [ \out, ~octoBus1, \freq, 440, \tsize, 3, \amp, 0.3, \clip, 0.69, \fadeTime, 0.01 ]); ~markov1 = Synth(\markovS1, [ \out, ~octoBus1, \freq, 440, \tsize, 3, \amp, 0.3, \clip, 0.69, \fadeTime, 0.01 ]);
wait(60); wait(60);
"--- markov fade, latooWan fade, distbleeps ...".postln; "--- cut markov1 & latooWan, start distbleeps ...".postln;
~markov1.set(\gate, 0, \fadeTime, 0.01); ~markov1.set(\gate, 0, \fadeTime, 0.01);
~latooWan1.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]); ~distbleeps = Synth(\latooTriggers, [\out, ~octoBus3, \trigA, 1.1, \fadeTime, 0.01, \amp, 0.9]);
wait(60); wait(30);
"--- markov7 ...".postln; "--- markov7 ...".postln;
~markov7 = Synth(\markovS1, [ \out, ~octoBus2, \freq, 740, \tsize, 3, \amp, 0.1, \clip, 0.9, \fadeTime, 7 ]); ~markov7 = Synth(\markovS1, [ \out, ~octoBus2, \freq, 740, \tsize, 3, \amp, 0.2, \clip, 0.9, \fadeTime, 7 ]);
wait(60); wait(20);
"--- fade: markov7, distbleeps ...".postln; "--- fade: markov7, distbleeps ...".postln;
~markov7.set(\gate, 0, \fadeTime, 0.01); ~markov7.set(\gate, 0, \fadeTime, 0.01);
@ -298,58 +285,39 @@ timeLine = Routine {
"--- markov10,11,12 ...".postln; "--- markov10,11,12 ...".postln;
~markov10 = Synth(\markovS1, [ \out, ~octoBus4, ~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, ~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, ~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); wait(60);
"--- noiseCrackle ...".postln;
~noiseCr1 = Synth(\noiseCrackle, [\out, ~octoBus1, \fadeTime, 40 ]);
"--- fade markov10,11,12 ...".postln; "--- fade markov10,11,12 ...".postln;
~markov10.set(\gate, 0, \fadeTime, 50); ~markov10.set(\gate, 0, \fadeTime, 50);
~markov11.set(\gate, 0, \fadeTime, 50); ~markov11.set(\gate, 0, \fadeTime, 50);
~markov12.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); 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; "--- darkHenon ...".postln;
~darkHenon1 = Synth(\henonLsynth2, [\out, ~octoBus4, \fadeTime, 60]); ~darkHenon1 = Synth(\henonLsynth2, [\out, ~octoBus4, \fadeTime, 30]);
wait(20);
"--- noiseCrackle amp 0.5 ...".postln;
~noiseCr1.set(\amp, 0.5);
wait(40); 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 ...".postln;
~henonS1 = Synth(\henonSynth1, [\out, ~octoBus3, \amp, 0.2, \fadeTime, 40]); ~henonS1 = Synth(\henonSynth1, [\out, ~octoBus3, \amp, 0.4, \fadeTime, 40]);
wait(120); "--- noiseCrackle fade ...".postln;
~noiseCr1.set(\fadeTime, 90, \gate,0);
wait(90);
"--- final fade henonS1, darkHenon ...".postln; "--- final fade henonS1, darkHenon ...".postln;
~henonS1.set(\gate, 0, \fadeTime, 50); ~darkHenon1.set(\gate, 0, \fadeTime, 60);
~darkHenon1.set(\gate, 0, \fadeTime, 40); wait(20);
wait(50); ~henonS1.set(\gate, 0, \fadeTime, 60);
wait(60);
"--- end of the TIMELINE ---".postln "--- end of the TIMELINE ---".postln