init new branch - 8-channel-live
parent
c491e0e147
commit
42d23d6b07
|
@ -17,7 +17,7 @@ add - This value will be added to the output. *********************/
|
|||
// TODO:
|
||||
// expand on more arguments?
|
||||
|
||||
arg out = 0, amp = 0.9, gate = 1, lpfa=1, hpfa=1, fadeTime=1;
|
||||
arg out = 0, amp = 0.9, gate = 1, lpfa=1, hpfa=1, fadeTime=1, rq=0.8;
|
||||
var sig, par, lpf, hpf, env;
|
||||
|
||||
par = LFNoise1.kr(0.09).range(1.9,2.02);
|
||||
|
@ -27,13 +27,13 @@ add - This value will be added to the output. *********************/
|
|||
lpf = RLPF.ar(
|
||||
in: sig,
|
||||
freq: Lag3.kr(LFNoise0.kr(0.08).exprange(50,10000),10),
|
||||
rq:0.8,
|
||||
rq: rq,
|
||||
mul: lpfa);
|
||||
|
||||
hpf = RHPF.ar(
|
||||
in: sig,
|
||||
freq: Lag3.kr(LFNoise0.kr(0.065).exprange(50,10000),10),
|
||||
rq: 0.8,
|
||||
rq: rq,
|
||||
mul: hpfa);
|
||||
hpf = DelayN.ar(in:hpf, delaytime:0.11);
|
||||
|
||||
|
|
289
rhizosphere.scd
289
rhizosphere.scd
|
@ -29,20 +29,20 @@ Server.default.waitForBoot {
|
|||
});
|
||||
});
|
||||
|
||||
<<<<<<< HEAD
|
||||
|
||||
s.meter;
|
||||
s.plotTree;
|
||||
=======
|
||||
|
||||
|
||||
|
||||
s.meter; s.plotTree;
|
||||
>>>>>>> 6aab46529682cae5a6bb3e59e378d8fcf94a3e50
|
||||
|
||||
s.sync;
|
||||
|
||||
|
||||
// octoPan busses //////////////
|
||||
(
|
||||
"\n\n\n=============================================================".postln;
|
||||
"\n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>".postln;
|
||||
"--- R H I Z O S P H E R E -----".postln;
|
||||
">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n".postln;
|
||||
|
||||
|
||||
// free busses and panners when re-trying things?
|
||||
~octoBus1.free; ~octoBus2.free; ~octoBus3.free; ~octoBus4.free;
|
||||
~panBus1x.free; ~panBus1y.free; ~panBus1r.free;
|
||||
|
@ -90,24 +90,8 @@ s.meter; s.plotTree;
|
|||
// 8chan reverb bus
|
||||
~revBus = Bus.audio(s,8);
|
||||
">>> loaded all busses".postln;
|
||||
);
|
||||
|
||||
|
||||
r = Recorder(s);
|
||||
r.recHeaderFormat = "wav";
|
||||
r.record(numChannels:8);
|
||||
r.stopRecording;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
( ///////////////////////////////////////////////////////////////////////////////
|
||||
var timeLine;
|
||||
"\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);
|
||||
~octoPanner1.map(\x, ~panBus1x);
|
||||
|
@ -129,21 +113,25 @@ var timeLine;
|
|||
~octoPanner4.map(\y, ~panBus4y);
|
||||
~octoPanner4.map(\radius, ~panBus4r);
|
||||
|
||||
|
||||
// 4 x stereo reverbs are fixed to outputs ([0,1][2,3][4,5][6,7]) not panners!
|
||||
~reverb = Synth("reverBusser", [\inBus, ~revBus, \outBus, 0], addAction: \addToTail);
|
||||
|
||||
|
||||
// some default oscilations of pan and reverb
|
||||
">>> cleaning up panner_x and panner_y control synths...".postln;
|
||||
~panner1y.free; ~panner2y.free; ~panner3y.free; ~panner4y.free;
|
||||
~panner1x.free; ~panner2x.free; ~panner3x.free; ~panner4x.free;
|
||||
|
||||
|
||||
|
||||
// REVERBS
|
||||
">>> cleaning up reverb busses and wet oscilators...".postln;
|
||||
~reverb1wetBus.free; // ~wetOsc.free; // clean up
|
||||
~reverb2wetBus.free; // ~wetOsc.free; // clean up
|
||||
~reverb3wetBus.free; // ~wetOsc.free; // clean up
|
||||
~reverb4wetBus.free; // ~wetOsc.free; // clean up
|
||||
~wetOsc1.free; ~wetOsc2.free; ~wetOsc3.free; ~wetOsc4.free;
|
||||
|
||||
">>> setting up reverb control buses and param oscilators...".postln;
|
||||
~reverb1wetBus = Bus.control(s, 1); // create control bus
|
||||
~reverb.map(\verb1wet, ~reverb1wetBus); // map an argument to control bus
|
||||
~reverb2wetBus = Bus.control(s, 1); // create control bus
|
||||
|
@ -153,7 +141,6 @@ var timeLine;
|
|||
~reverb4wetBus = Bus.control(s, 1); // create control bus
|
||||
~reverb.map(\verb4wet, ~reverb4wetBus); // map an argument to control bus
|
||||
|
||||
~wetOsc1.free; ~wetOsc2.free; ~wetOsc3.free; ~wetOsc4.free;
|
||||
~wetOsc1 = SynthDef(\randomVerb1, {Out.kr(~reverb1wetBus, LFNoise2.kr(1).range(0, 0.8)) }).play;
|
||||
~wetOsc2 = SynthDef(\randomVerb2, {Out.kr(~reverb2wetBus, LFNoise2.kr(1).range(0, 0.8)) }).play;
|
||||
~wetOsc3 = SynthDef(\randomVerb3, {Out.kr(~reverb3wetBus, LFNoise2.kr(1).range(0, 0.8)) }).play;
|
||||
|
@ -163,24 +150,166 @@ var timeLine;
|
|||
// ~reverb.set(\verb1wet, 0);
|
||||
// ~reverb.set(\verb1wet, 1);
|
||||
// ~reverb.set(\verb2wet, 1);
|
||||
//);
|
||||
|
||||
">>> finished loading all busses and control synths for panning etc ...".postln;
|
||||
"".postln;
|
||||
|
||||
|
||||
|
||||
|
||||
);
|
||||
|
||||
//(
|
||||
//var timeLine;
|
||||
|
||||
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, \amp, 0.8]);
|
||||
~soil1durBus = Bus.control(s,1);
|
||||
~soil1durBus.value = 0.0001;
|
||||
~soil1.map(\dur, ~soil1durBus);
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
// P E R F O R M A N C E /////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// PANNERS
|
||||
|
||||
// x=0:y=[ 0.00 / 0.28 / 0.57 / 0.85 ]
|
||||
// x=1:y=[ 1.00 / 0.71 / 0.43 / 0.14 ]
|
||||
|
||||
( // free all control synths for panning
|
||||
~panner1y.free;
|
||||
~panner2y.free;
|
||||
~panner3y.free;
|
||||
~panner4y.free;
|
||||
|
||||
~panner1x.free;
|
||||
~panner2x.free;
|
||||
~panner3x.free;
|
||||
~panner4x.free;
|
||||
)
|
||||
|
||||
|
||||
|
||||
~panBus1x.value = 0;
|
||||
~panBus1y.value = 0;
|
||||
~panBus1r.value = 1;
|
||||
|
||||
~panBus2x.value = 0;
|
||||
~panBus2y.value = 0.28;
|
||||
~panBus2r.value = 1;
|
||||
|
||||
~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;
|
||||
|
||||
~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;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// 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.free;
|
||||
|
||||
~noiseCr2 = Synth(\noiseCrackle, [\out, ~octoBus2, \fadeTime, 30, \lpfa, 1, \hpfa, 0 ]);
|
||||
~noiseCr2.set(\gate, 0, \fadeTime, 1);
|
||||
~noiseCr2.free;
|
||||
|
||||
~noiseCr3 = Synth(\noiseCrackle, [\out, ~octoBus3, \fadeTime, 30, \lpfa, 0, \hpfa, 1 ]);
|
||||
~noiseCr3.set(\gate, 0, \fadeTime, 1);
|
||||
~noiseCr3.free;
|
||||
|
||||
~noiseCr4 = Synth(\noiseCrackle, [\out, ~octoBus4, \fadeTime, 30, \lpfa, 0, \hpfa, 1 ]);
|
||||
~noiseCr4.set(\gate, 0, \fadeTime, 1);
|
||||
~noiseCr4.free;
|
||||
|
||||
( // free them all at once
|
||||
~noiseCr1.free;
|
||||
~noiseCr2.free;
|
||||
~noiseCr3.free;
|
||||
~noiseCr4.free;
|
||||
)
|
||||
|
||||
|
||||
~henonS1 = Synth(\henonSynth1, [\out, ~octoBus3, \amp, 0.4, \fadeTime, 4]);
|
||||
~henonS1.set(\amp, 0.05);
|
||||
~henonS1.set(\gate, 0, \fadeTime, 1);
|
||||
~henonS1.free;
|
||||
|
||||
~henonS2 = Synth(\henonSynth1, [\out, ~octoBus3, \amp, 0.4, \fadeTime, 4]);
|
||||
~henonS2.set(\amp, 0.05);
|
||||
~henonS2.set(\gate, 0, \fadeTime, 1);
|
||||
~henonS2.free;
|
||||
|
||||
~darkHenon1 = Synth(\henonLsynth2, [\out, ~octoBus4, \fadeTime, 10]);
|
||||
~darkHenon1.set(\gate, 0, \fadeTime, 3);
|
||||
~darkHenon1.free;
|
||||
|
||||
~darkHenon2 = Synth(\henonLsynth2, [\out, ~octoBus4, \fadeTime, 10]);
|
||||
~darkHenon2.set(\gate, 0, \fadeTime, 3);
|
||||
~darkHenon2.free;
|
||||
|
||||
|
||||
//
|
||||
|
||||
~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);
|
||||
|
||||
~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.free;
|
||||
|
||||
//
|
||||
|
||||
~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.set(\gate, 0, \fadeTime, 15); // use envelope to fade out
|
||||
|
||||
|
||||
"--- starting oscilating duration 2...".postln;
|
||||
wait(120);
|
||||
|
||||
//
|
||||
|
||||
~soil3 = Synth(\granSoil, [\out, ~octoBus2, \sndbuf, ~forestSoilBuf, \dur, 0.0001 ,\fadeTime, 20, \amp, 0.8]);
|
||||
~soil3durBus = Bus.control(s,1);
|
||||
~soil3durBus.value = 0.0001;
|
||||
~soil3.map(\dur, ~soil3durBus);
|
||||
|
||||
~soil3.set(\gate, 0, \fadeTime, 15); // use envelope to fade out
|
||||
|
||||
//
|
||||
|
||||
~soil4 = Synth(\granSoil, [\out, ~octoBus2, \sndbuf, ~forestSoilBuf, \dur, 0.0001 ,\fadeTime, 20, \amp, 0.8]);
|
||||
~soil4durBus = Bus.control(s,1);
|
||||
~soil4durBus.value = 0.01;
|
||||
~soil4.map(\dur, ~soil4durBus);
|
||||
|
||||
~soil4.set(\fadeTime, 15, \gate, 0); // use envelope to fade out
|
||||
|
||||
//
|
||||
|
||||
"--- starting panner1y sin Oscilation ...".postln;
|
||||
~panner1y = SynthDef(\sinPanY1, { Out.kr(~panBus1y, SinOsc.kr(0.01).range(0.3,0.5))}).play;
|
||||
~panBus1x.value = 1;
|
||||
|
@ -188,23 +317,12 @@ timeLine = Routine {
|
|||
wait(80);
|
||||
|
||||
"--- starting soil2 ...".postln;
|
||||
~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);
|
||||
"--- 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);
|
||||
|
||||
"--- starting oscilating duration ...".postln;
|
||||
~soil1DurOsc = SynthDef( \soilDurOsc, {Out.kr(~soil1durBus, SinOsc.kr(0.012,1.5pi).range(0.0001, 0.05))} ).play;
|
||||
wait(20);
|
||||
|
||||
"--- starting oscilating duration 2...".postln;
|
||||
~soil2DurOsc = SynthDef( \soilDurOsc, {Out.kr(~soil2durBus, SinOsc.kr(0.029,1.5pi).range(0.0001, 0.08))} ).play;
|
||||
wait(120);
|
||||
|
||||
"--- return to static duration, abruptly...".postln;
|
||||
~panner1y.free; ~panner2y.free;
|
||||
|
@ -215,23 +333,54 @@ timeLine = Routine {
|
|||
~panBus2y.value = 0.9;
|
||||
|
||||
"--- fade soils...".postln;
|
||||
~soil1.set(\gate, 0, \fadeTime, 15); // use envelope to fade out
|
||||
wait(3);
|
||||
~soil2.set(\gate, 0, \fadeTime, 15); // use envelope to fade out
|
||||
wait(20);
|
||||
|
||||
~soil1DurOsc.free;
|
||||
~soil2DurOsc.free;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
///// 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; // set a fixed value to a bus
|
||||
~panBus1x.value = 0;
|
||||
~panBus1y.value = 0.1; // set a fixed value to a bus
|
||||
~panBus1x.value = 1;
|
||||
~panBus1r.value = 0.1;
|
||||
wait(50);
|
||||
|
||||
|
@ -337,9 +486,9 @@ timeLine = Routine {
|
|||
|
||||
"--- latooWanderings ...".postln;
|
||||
~latooWan1 = Synth(\latooWanderings, [\out, ~octoBus4, \fadeTime, 30, \amp, 0.3]);
|
||||
~panBus4y.value = 0.9; // set a fixed value to a bus
|
||||
~panBus4y.value = 0.4; // set a fixed value to a bus
|
||||
~panBus4x.value = 0;
|
||||
~panBus4r.value = 1;
|
||||
~panBus4r.value = 10;
|
||||
wait(30);
|
||||
|
||||
~panner4y = SynthDef(\randomPanY4, { Out.kr(~panBus4y, LFNoise1.kr(0.9).range(0,1))}).play;
|
||||
|
@ -412,6 +561,8 @@ timeLine = Routine {
|
|||
~markov10.set(\gate, 0, \fadeTime, 50);
|
||||
~markov11.set(\gate, 0, \fadeTime, 50);
|
||||
~markov12.set(\gate, 0, \fadeTime, 50);
|
||||
|
||||
|
||||
|
||||
"\n--- PART 4 --- ".postln;
|
||||
"--- noiseCrackle ...".postln;
|
||||
|
@ -431,13 +582,29 @@ timeLine = Routine {
|
|||
~panner4y = SynthDef(\sinPanY4, { Out.kr(~panBus4y, SinOsc.kr(0.05).range(0,1))}).play;
|
||||
|
||||
~panBus4r.value = 0.1;
|
||||
~darkHenon1 = Synth(\henonLsynth2, [\out, ~octoBus4, \fadeTime, 30]);
|
||||
~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;
|
||||
|
@ -446,10 +613,10 @@ timeLine = Routine {
|
|||
wait(120);
|
||||
|
||||
"--- final fade henonS1, darkHenon ...".postln;
|
||||
~darkHenon1.set(\gate, 0, \fadeTime, 60);
|
||||
~darkHenon1.set(\gate, 0, \fadeTime, 6);
|
||||
wait(30);
|
||||
|
||||
~henonS1.set(\gate, 0, \fadeTime, 60);
|
||||
~henonS1.set(\gate, 0, \fadeTime, 1);
|
||||
wait(60);
|
||||
|
||||
~panner1y.free;
|
||||
|
@ -460,7 +627,7 @@ timeLine = Routine {
|
|||
|
||||
};
|
||||
|
||||
timeLine.play;
|
||||
//timeLine.play;
|
||||
|
||||
);
|
||||
|
||||
|
|
Loading…
Reference in New Issue