diff --git a/lib/henonSynthDef.scd b/lib/henonSynthDef.scd index aab25bd..cf0b2ce 100644 --- a/lib/henonSynthDef.scd +++ b/lib/henonSynthDef.scd @@ -1,8 +1,8 @@ ( SynthDef(\henonSynth1, { - arg out=0, amp=0.5, gate=1, fadeTime=1; - var sig, freq, env; + arg out=0, amp=0.5, gate=1, fadeTime=1, lpff=200, hpff=200; + var sig, freq, env, lpfsig, hpfsig; freq = HenonN.ar( freq: 5000, @@ -17,6 +17,9 @@ SynthDef(\henonSynth1, { mul: 0.2); sig = sig.ring3(0.5); sig = sig.clip2(0.8); + lpfsig = LPF.ar(sig, lpff.max(50)); + hpfsig = HPF.ar(sig, hpff.max(50)); + sig = lpfsig + hpfsig; sig = LeakDC.ar(sig); env = EnvGen.kr( Env([0, 1, 0], [fadeTime, fadeTime], \sin, 1), diff --git a/rhizosphere.scd b/rhizosphere.scd index d273d95..1bde624 100644 --- a/rhizosphere.scd +++ b/rhizosphere.scd @@ -27,12 +27,14 @@ Server.default.waitForBoot { // execute it: this.executeFile(afile.fullPath); }); +s.meter; +s.plotTree; + }); s.meter; s.plotTree; -s.sync; // octoPan busses ////////////// @@ -157,12 +159,11 @@ s.sync; + + + ); -//( -//var timeLine; - - ////////////////////////////////////////////////////////////////////////////////// // P E R F O R M A N C E ///////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////// @@ -184,43 +185,77 @@ s.sync; ~panner4x.free; ) - +// fixed values ~panBus1x.value = 0; ~panBus1y.value = 0; -~panBus1r.value = 1; +~panBus1r.value = 10; + +~panner1y = SynthDef(\randomPan1y, { Out.kr(~panBus1y, LFNoise1.kr(2).range(0,1))}).play; +~panner1y = SynthDef(\oscPan1y, { Out.kr(~panBus1y, SinOsc.kr(2).range(1,0))}).play; +~panner1y.free + +~panner1x = SynthDef(\pulsePan1x, { Out.kr(~panBus1x, LFPulse.kr(0.3).range(0,1))}).play; +~panner1x.free +//s.sendMsg(\n_free, 1598) +// ~panBus2x.value = 0; ~panBus2y.value = 0.28; ~panBus2r.value = 1; +~panner2y = SynthDef(\randomPan2y, { Out.kr(~panBus2y, LFNoise1.kr(2).range(0,1))}).play; +~panner2y = SynthDef(\oscPan2y, { Out.kr(~panBus2y, SinOsc.kr(2).range(1,0))}).play; +~panner2y.free + +~panner2x = SynthDef(\pulsePan2x, { Out.kr(~panBus2x, LFPulse.kr(0.3).range(0,1))}).play; +~panner2x.free + +// + + ~panBus3x.value = 1; ~panBus3y.value = 0.28; ~panBus3r.value = 1; -~panner3y = SynthDef(\oscPanY3, { Out.kr(~panBus3y, SinOsc.kr(2).range(1,0.14))}).play; -~panner3y.free; +~panner3y = SynthDef(\randomPan3y, { Out.kr(~panBus3y, LFNoise1.kr(2).range(0,1))}).play; +~panner3y = SynthDef(\oscPan3y, { Out.kr(~panBus3y, SinOsc.kr(2).range(1,0))}).play; +~panner3y.free + +~panner3x = SynthDef(\pulsePan3x, { Out.kr(~panBus3x, LFPulse.kr(0.3).range(0,1))}).play; +~panner3x.free + +// + ~panBus4x.value = 1; ~panBus4y.value = 0.28; ~panBus4r.value = 1; -~panner3y = SynthDef(\oscPanY4, { Out.kr(~panBus4y, SinOsc.kr(2).range(1,0.14))}).play; -~panner3y.free; +~panner4y = SynthDef(\randomPan4y, { Out.kr(~panBus4y, LFNoise1.kr(2).range(0,1))}).play; +~panner4y = SynthDef(\oscPan4y, { Out.kr(~panBus4y, SinOsc.kr(2).range(1,0))}).play; +~panner4y.free + +~panner4x = SynthDef(\pulsePan4x, { Out.kr(~panBus4x, LFPulse.kr(0.3).range(0,1))}).play; +~panner4x.free + +// -// SYNTHS +// SYNTHS //////////////////////////////////////////////////////////////////////////////// // noise Cracle + ~noiseCr1 = Synth(\noiseCrackle, [\out, ~octoBus1, \fadeTime, 30, \lpfa, 1, \hpfa, 0 ]); ~noiseCr1.set(\rq, 0.98); ~noiseCr1.set(\lpfa, 1); ~noiseCr1.set(\hpfa, 0); ~noiseCr1.set(\gate, 0, \fadeTime, 1); +~noiseCr1.release(1) ~noiseCr1.free; ~noiseCr2 = Synth(\noiseCrackle, [\out, ~octoBus2, \fadeTime, 30, \lpfa, 1, \hpfa, 0 ]); @@ -245,7 +280,9 @@ s.sync; ~henonS1 = Synth(\henonSynth1, [\out, ~octoBus3, \amp, 0.4, \fadeTime, 4]); ~henonS1.set(\amp, 0.05); -~henonS1.set(\gate, 0, \fadeTime, 1); +~henonS1.set(\hpff, 200); +~henonS1.set(\lpff, 200); +~henonS1.release(1); ~henonS1.free; ~henonS2 = Synth(\henonSynth1, [\out, ~octoBus3, \amp, 0.4, \fadeTime, 4]); @@ -261,19 +298,19 @@ s.sync; ~darkHenon2.set(\gate, 0, \fadeTime, 3); ~darkHenon2.free; - -// +// SOIL ~soil1 = Synth(\granSoil, [\out, ~octoBus1, \sndbuf, ~forestSoilBuf, \dur, 0.0001 ,\fadeTime, 20, \amp, 0.8]); ~soil1durBus = Bus.control(s,1); -~soil1durBus.value = 0.0001; +~soil1durBus.value = 0.001; ~soil1.map(\dur, ~soil1durBus); ~soil1DurOsc = SynthDef( \soilDurOsc, {Out.kr(~soil1durBus, SinOsc.kr(0.012,1.5pi).range(0.0001, 0.05))} ).play; ~soil1DurOsc.free; ~soil1.set(\gate, 0, \fadeTime, 15); // use envelope to fade out +~soil1.release(15); ~soil1.free; // @@ -284,11 +321,7 @@ s.sync; ~soil2.map(\dur, ~soil2durBus); ~soil2DurOsc = SynthDef( \soilDurOsc, {Out.kr(~soil2durBus, SinOsc.kr(0.029,1.5pi).range(0.0001, 0.08))} ).play; ~soil2DurOsc.free; -~soil2.set(\gate, 0, \fadeTime, 15); // use envelope to fade out - - - "--- starting oscilating duration 2...".postln; - wait(120); +~soil2.release(15); // @@ -297,7 +330,7 @@ s.sync; ~soil3durBus.value = 0.0001; ~soil3.map(\dur, ~soil3durBus); -~soil3.set(\gate, 0, \fadeTime, 15); // use envelope to fade out +~soil3.release(15); // @@ -306,42 +339,144 @@ s.sync; ~soil4durBus.value = 0.01; ~soil4.map(\dur, ~soil4durBus); -~soil4.set(\fadeTime, 15, \gate, 0); // use envelope to fade out +~soil4.release(15); + + +// MARKOV NOISES + + +~latooWan1 = Synth(\latooWanderings, [\out, ~octoBus4, \fadeTime, 30, \amp, 0.3]); +~latooWan1.release(3); + +~markov1 = Synth(\markovS1, [ \out, ~octoBus1, \freq, 440, \tsize, 3, \amp, 0.3, \clip, 0.69, \fadeTime, 0.01 ]); +~markov1.release(0.01); + +~distbleeps = Synth(\latooTriggers, [\out, ~octoBus3, \trigA, 1.1, \fadeTime, 0.01, \amp, 0.9]); +~distbleeps.release(10); + +~markov7 = Synth(\markovS1, [ \out, ~octoBus2, \freq, 740, \tsize, 3, \amp, 0.2, \clip, 0.9, \fadeTime, 7 ]); +~markov7.release(0.01) + +~markov9 = Synth(\markovS1, [ \out, ~octoBus1, \freq, 1940, \tsize, 3, \amp, 0.2, \clip, 0.9, \fadeTime, 0.01 ]); +~markov9.release(0.01) + +( +~markov10 = Synth(\markovS1, [ \out, ~octoBus4, \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.01 ]); +~markov12 = Synth(\markovS1, [ \out, ~octoBus2, \freq, 3001, \tsize, 3, \amp, 0.2, \clip, 0.9, \fadeTime, 0.01 ]); +) + +( +var rel=0.1; +~markov10.release(rel); +~markov11.release(rel); +~markov12.release(rel); +) + + + + +// TRIG RINGS + +~lorenzTrig1 = Synth(\lorenzTrigRing, [\out, ~octoBus1, \freq, 1400, \amp, 0.5, \fadeTime, 0]); +~lorenzTrig1.release; // use set fadeTime - set \gate = 0? +~lorenzTrig1.release(10); // use set fadeTime - set \gate = 0? +~lorenzTrig1.set(\fadeTime, 10, \gate, 0); +~lorenzTrig1.free + +~stdTrig1 = Synth(\stndTrigRing, [\out, ~octoBus2, \freq,1900, \amp,0.5,\fadeTime, 10]); +~stdTrig1.release(10); +~stdTrig1.free + +~lorenzTrig2 = Synth(\lorenzTrigRing, [\out, ~octoBus3, \freq, 400, \amp, 0.3, \fadeTime, 10, \min, 5, \max, 20]); +~lorenzTrig2.release(10); + +~stdTrig2 = Synth(\stndTrigRing, [\freq, 70, \min, 0, \max, 2, \decay, 2, \ffreq, 200, \amp, 0.4, \out, ~octoBus4, \fadeTime, 20]) ; +~stdTrig2.release(30); + +~henoTrig1 = Synth(\henoTrigRing, [\out, ~octoBus2, \freq, 2700, \amp, 1, \min, 0.1, \max, 1, \fadeTime, 20]); +~henoTrig1.release(30); + +// 139Hz +~gbmanTrig1 = Synth(\gbmanTrigRing, [\out, ~octoBus1, \freq, 139, \decay, 2, \min, 0.2, \max, 1, \amp, 0.4, \fadeTime, 2]); +~gbmanTrig1.release(30); + +// 3300Hz +~latooTrig1 = Synth(\latooTrigRing, [\out, ~octoBus4, \freq, 3300, \decay, 3, \min, 0.2, \max, 1, \amp, 0.2, \fadeTime, 10 ]); +~latooTrig1.release(30); + +// 4300Hz +~latooTrig2 = Synth(\latooTrigRing, [\out, ~octoBus3, \freq, 4300, \decay, 0.2, \min, 1, \max, 10, \amp, 0.2, \fadeTime, 10 ]); +~latooTrig2.set(\out, ~octoBus4) +~latooTrig2.release(30) + +// 210Hz +~fhnTrig1 = Synth(\fhnTrigRing, [\out, ~octoBus2, \freq, 210, \amp, 0.5, \decay, 2, \min, 0.2, \max, 1, \amp, 0.4, \fadeTime, 10]); +~fhnTrig1.release(30); + +// 200Hz +~fhnTrig3 = Synth(\fhnTrigRing, [\out, ~octoBus2, \freq, 200, \amp, 0.5, \decay, 2, \min, 0.2, \max, 1, \amp, 0.4, \fadeTime, 10]); +~fhnTrig3.release(30); + +// 2110 +~fhnTrig2 = Synth(\fhnTrigRing, [\out, ~octoBus1, \freq, 2110, \amp, 0.5, \min, 2, \max, 20, \amp, 0.5, \fadeTime, 10]); +~fhnTrig2.set(\ffreq, 8000) +~fhnTrig2.release(10) +~fhnTrig2 = Node.basicNew(nodeID:1369) + + + +~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; +// this one will fade out by itself at some point + + +// back to SOIL - outro + henonS1? + +~soil1 = Synth(\granSoil, [\out, ~octoBus1, \sndbuf, ~forestSoilBuf, \dur, 0.0001 ,\fadeTime, 20, \amp, 0.8]); + +~soil1durBus = Bus.control(s,1); +~soil1durBus.value = 0.001; +~soil1.map(\dur, ~soil1durBus); + +~soil1DurOsc = SynthDef( \soilDurOsc, {Out.kr(~soil1durBus, SinOsc.kr(0.012,1.5pi).range(0.0001, 0.05))} ).play; +~soil1DurOsc.free; + +~soil1.set(\gate, 0, \fadeTime, 15); // use envelope to fade out +~soil1.release(15); +~soil1.free; // - "--- starting panner1y sin Oscilation ...".postln; - ~panner1y = SynthDef(\sinPanY1, { Out.kr(~panBus1y, SinOsc.kr(0.01).range(0.3,0.5))}).play; - ~panBus1x.value = 1; - ~panBus1r.value = 1; - wait(80); - - "--- starting soil2 ...".postln; - "--- starting panner2y sin Oscilation ...".postln; - ~panner2y = SynthDef(\sinPanY2, { Out.kr(~panBus2y, SinOsc.kr(0.015).range(0.3,0.5))}).play; - ~panBus2x.value = 0; - ~panBus2r.value = 1; - wait(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); +~soil2DurOsc = SynthDef( \soilDurOsc, {Out.kr(~soil2durBus, SinOsc.kr(0.029,1.5pi).range(0.0001, 0.08))} ).play; +~soil2DurOsc.free; +~soil2.release(15); - "--- return to static duration, abruptly...".postln; - ~panner1y.free; ~panner2y.free; - ~panBus1y.value = 0.1; - ~soil1.set(\dur, 0.0001); - wait(1); - ~soil2.set(\dur, 0.0001); - ~panBus2y.value = 0.9; +// - "--- fade soils...".postln; - wait(3); - wait(20); +~henonS1 = Synth(\henonSynth1, [\out, ~octoBus3, \amp, 0.4, \fadeTime, 4]); +~henonS1.set(\amp, 0.90); +~henonS1.set(\hpff, 1000); +~henonS1.set(\lpff, 50); +~henonS1.release(60); +~henonS1.free; - ~soil1DurOsc.free; - ~soil2DurOsc.free; +// +~henonS2 = Synth(\henonSynth1, [\out, ~octoBus3, \amp, 0.4, \fadeTime, 4]); +~henonS2.set(\amp, 0.05); +~henonS2.set(\hpff, 200); +~henonS2.set(\lpff, 200); +~henonS2.release(40) +~henonS2.free; +// helper for nodes without object +~lorenzTrig1 = Node.basicNew(s, 1354) +s.sendMsg(\n_free, 1590) @@ -350,307 +485,6 @@ s.sync; - - - - - - - - - - -///// TIMELINE - obsolete - to be converted to LIVE TOOLS: -( -timeLine = Routine { - "--- starting main routine ...".postln; - - - /// SOIL ////////////////////////////////// - // forestSoil granulation - "\n--- PART 1 ---".postln; - "--- starting forestSoil granulation ...".postln; - - - - - // trigRingz ////////////////////////////////////////////////////////////////////////////////////////////////////// - - "\n--- PART 2 ---".postln; - "--- starting lorenzTrig1 ...".postln; - ~lorenzTrig1 = Synth(\lorenzTrigRing, [\out, ~octoBus1, \freq, 1400, \amp, 0.5, \fadeTime, 5]); - ~panBus1y.value = 0.1; // set a fixed value to a bus - ~panBus1x.value = 1; - ~panBus1r.value = 0.1; - wait(50); - - "--- starting stdTrig1 ...".postln; - ~stdTrig1 = Synth(\stndTrigRing, [\out, ~octoBus2, \freq,1900, \amp,0.5,\fadeTime, 10]); - ~panBus2y.value = 1; // set a fixed value to a bus - ~panBus2x.value = 1; - ~panBus2r.value = 0.1; - wait(40); - - "--- starting lorenzTrig2 ...".postln; - ~lorenzTrig2 = Synth(\lorenzTrigRing, [\out, ~octoBus3, \freq, 400, \amp, 0.3, \fadeTime, 10, \min, 5, \max, 20]); - ~panBus3y.value = 0.14; // set a fixed value to a bus - ~panBus3x.value = 1; - ~panBus3r.value = 0.1; - 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]) ; - ~panBus4y.value = 0.9; // set a fixed value to a bus - ~panBus4x.value = 0; - ~panBus4r.value = 1; - wait(20); - - "--- starting henoTrig1 ...".postln; - ~henoTrig1 = Synth(\henoTrigRing, [\out, ~octoBus2, \freq, 2700, \amp, 1, \min, 0.1, \max, 1, \fadeTime, 20]); - ~panBus2y.value = 1; // set a fixed value to a bus - ~panBus2x.value = 1; - ~panBus2r.value = 1; - wait(10); - - "--- starting henoTrig1 ...".postln; - ~gbmanTrig1 = Synth(\gbmanTrigRing, [\out, ~octoBus1, \freq, 139, \decay, 2, \min, 0.2, \max, 1, \amp, 0.4, \fadeTime, 2]); - ~panBus1y.value = 0; // set a fixed value to a bus - ~panBus1x.value = 1; - ~panBus3x.value = 0; - ~panBus1r.value = 50; - 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(10); - - "--- starting latooTrig2 ...".postln; - ~latooTrig2 = Synth(\latooTrigRing, [\out, ~octoBus3, \freq, 4300, \decay, 0.2, \min, 1, \max, 10, \amp, 0.2, \fadeTime, 10 ]); - wait(10); - - "--- starting fhnTrig1 ...".postln; - ~fhnTrig1 = Synth(\fhnTrigRing, [\out, ~octoBus2, \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, ~octoBus2, \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, ~octoBus1, \freq, 2110, \amp, 0.5, \min, 2, \max, 20, \amp, 0.5, \fadeTime, 10]); - 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; - // this one will fade out by itself at some point - wait(20); - ~panBus1y.value = 0.1; // set a fixed value to a bus - ~panBus1x.value = 0.1; - wait(10); - ~panBus1y.value = 0.2; // set a fixed value to a bus - ~panBus1x.value = 0.2; - wait(10); - ~panBus1y.value = 0.3; // set a fixed value to a bus - ~panBus1x.value = 0.3; - wait(10); - ~panBus1y.value = 0.4; // set a fixed value to a bus - ~panBus1x.value = 0.4; - wait(10); - ~panBus1y.value = 0.5; // set a fixed value to a bus - ~panBus1x.value = 0.5; - - - wait(20); - - "--- fading out ~stdTrig1, stdTrig2, lorenzTrig2, henoTrig1...".postln; - ~stdTrig1.set(\fadeTime, 5, \gate, 0); - ~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; - ~gbmanTrig1.set(\fadeTime, 15, \gate, 0); - ~latooTrig1.set(\fadeTime, 1, \gate, 0); - ~latooTrig2.set(\fadeTime, 10, \gate, 0); - ~fhnTrig1.set(\fadeTime, 1, \gate, 0); - wait(20); - - "--- fading out lorenzTrgi1 ...".postln; - ~lorenzTrig1.set(\fadeTime, 30, \gate, 0); - wait(80); - - "--- fading out fhnTrig2 ...".postln; - ~fhnTrig2.set(\fadeTime, 20, \gate, 0); - - "--- latooWanderings ...".postln; - ~latooWan1 = Synth(\latooWanderings, [\out, ~octoBus4, \fadeTime, 30, \amp, 0.3]); - ~panBus4y.value = 0.4; // set a fixed value to a bus - ~panBus4x.value = 0; - ~panBus4r.value = 10; - wait(30); - - ~panner4y = SynthDef(\randomPanY4, { Out.kr(~panBus4y, LFNoise1.kr(0.9).range(0,1))}).play; - // 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 ]); - ~panBus1y.value = 0; - ~panBus1x.value = 1; - ~panBus1r.value = 1; - wait(60); - - "--- 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.9]); - ~panBus3y.value = 1; // set a fixed value to a bus - ~panBus3x.value = 0; - ~panBus3r.value = 2; - wait(30); - - "--- markov7 ...".postln; - ~panBus2y.value = 1; // set a fixed value to a bus - ~panBus2x.value = 1; - ~panBus2r.value = 2; - ~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); - ~distbleeps.set(\gate, 0, \fadeTime, 0.01); - - "--- markov9 ...".postln; - ~panner1y = SynthDef(\randomPanY1, { Out.kr(~panBus1y, LFTri.kr(7).range(0,1))}).play; - ~panBus1x.value = 1; - ~panBus1r.value = 1; - ~markov9 = Synth(\markovS1, [ \out, ~octoBus1, \freq, 1940, \tsize, 3, \amp, 0.2, \clip, 0.9, \fadeTime, 0.01 ]); - wait(30); - - "--- fade: markov9 ...".postln; - ~markov9.set(\gate, 0, \fadeTime, 0.01); - wait(5); - - "--- markov10,11,12 ...".postln; - ~paner2y.free; ~panner3y.free; ~panner4y.free; ~panner2x.free; ~panner3x.free; ~panner4x.free; - ~panner2y = SynthDef(\randomPanY2, { Out.kr(~panBus2y, LFNoise1.kr(2).range(0,1))}).play; - ~panner3y = SynthDef(\randomPanY3, { Out.kr(~panBus3y, LFNoise1.kr(1).range(0,1))}).play; - ~panner4y = SynthDef(\randomPanY4, { Out.kr(~panBus4y, LFNoise1.kr(1).range(0,1))}).play; - ~panner2x = SynthDef(\randomPanX2, { Out.kr(~panBus2x, LFPulse.kr(0.3).range(0,1))}).play; - ~panner3x = SynthDef(\randomPanX3, { Out.kr(~panBus3x, LFPulse.kr(0.44).range(0,1))}).play; - ~panner4x = SynthDef(\randomPanX4, { Out.kr(~panBus4x, LFPulse.kr(0.22).range(0,1))}).play; - - ~markov10 = Synth(\markovS1, [ \out, ~octoBus4, - \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.01 ]); - ~markov12 = Synth(\markovS1, [ \out, ~octoBus2, - \freq, 3001, \tsize, 3, \amp, 0.2, \clip, 0.9, \fadeTime, 0.01 ]); - wait(60); - - "--- fade markov10,11,12 ...".postln; - ~panner2y.free; ~panner3y.free; ~panner4y.free; ~panner2x.free; ~panner3x.free; ~panner4x.free; - ~panBus2y.value = 1; - ~panBus2r.value = 0.1; - ~panBus3y.value = 1; - ~panBus3r.value = 0.1; - ~panBus4y.value = 1; - ~panBus4r.value = 0.1; - ~markov10.set(\gate, 0, \fadeTime, 50); - ~markov11.set(\gate, 0, \fadeTime, 50); - ~markov12.set(\gate, 0, \fadeTime, 50); - - - - "\n--- PART 4 --- ".postln; - "--- noiseCrackle ...".postln; - ~panner1y.free; - ~panBus1y.value = 0; - ~panner1y = SynthDef(\randomPanY1, { Out.kr(~panBus1y, LFNoise1.kr(0.1).range(0,1))}).play; - ~panBus1x.value = 0; - ~panBus1r.value = 0.5; - ~noiseCr1 = Synth(\noiseCrackle, [\out, ~octoBus1, \fadeTime, 30 ]); - wait(40); - - "--- darkHenon ...".postln; - ~panBus4x.value = 1; - //~panBus4y.value = 1; - ~panBus4r.value = 2; - ~panner4y.free; - ~panner4y = SynthDef(\sinPanY4, { Out.kr(~panBus4y, SinOsc.kr(0.05).range(0,1))}).play; - - ~panBus4r.value = 0.1; - ~darkHenon1 = Synth(\henonLsynth2, [\out, ~octoBus4, \fadeTime, 0]); - wait(40); - - - ( - - ~darkHenon1 = Synth(\henonLsynth2, [\out, ~octoBus4, \fadeTime, 0]); - ~henonS1 = Synth(\henonSynth1, [\out, ~octoBus3, \amp, 0.4, \fadeTime, 0]); - - - ) - - - - - - - - "--- henonS1 ...".postln; - ~henonS1 = Synth(\henonSynth1, [\out, ~octoBus3, \amp, 0.4, \fadeTime, 40]); - "--- noiseCrackle fade ...".postln; - ~noiseCr1.set(\fadeTime, 90, \gate,0); - ~noiseCr1.set(\fadeTime, 9, \gate,0); - ~panBus3x.value = 0; - ~panBus3y.value = 1; - ~panner3y.free; - ~panner3y = SynthDef(\sinPanY3, { Out.kr(~panBus3y, SinOsc.kr(0.08).range(0,1))}).play; - ~panBus3r.value = 2; - wait(120); - - "--- final fade henonS1, darkHenon ...".postln; - ~darkHenon1.set(\gate, 0, \fadeTime, 6); - wait(30); - - ~henonS1.set(\gate, 0, \fadeTime, 1); - wait(60); - - ~panner1y.free; - ~panner3y.free; - ~panner4y.free; - - "--- end of the TIMELINE ---".postln - -}; - -//timeLine.play; - -); - - - - -// testing stuff! /////////////////////////////////////////////////////////////////////////////////////// - -~hpfHenon = Synth(\henonLsynth1, [\out, ~octoBus3, \hpfreqmin, 100]); -~hpfHenon = Synth(\henonLsynth1, [\out, ~octoBus1, \hpfreqmin, 100]); -~hpfHenon.set(\hpfreqmin, 1000) -~hpfHenon.free; - -~bassLatoo = Synth(\latooThroBass, [\out, ~octoBus1, \amp, 0.2]); -~bassLatoo.free; - -~henonSquare = Synth(\henonSquare, [\out, ~octoBus1, \amp, 0.2]); -~henonSquare.set(\gate,0); - -// recording - - - //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -