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
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);
@ -200,17 +180,18 @@ timeLine = Routine {
// 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;
@ -270,19 +256,20 @@ timeLine = Routine {
~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);
~darkHenon1.set(\gate, 0, \fadeTime, 60);
wait(20);
wait(50);
~henonS1.set(\gate, 0, \fadeTime, 60);
wait(60);
"--- end of the TIMELINE ---".postln