1
0
Fork 0

init new branch - 8-channel-live

8-channel-live
Luka Prinčič 2020-06-08 14:48:18 +02:00
parent c491e0e147
commit 42d23d6b07
2 changed files with 231 additions and 64 deletions

View File

@ -17,7 +17,7 @@ add - This value will be added to the output. *********************/
// TODO: // TODO:
// expand on more arguments? // 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; var sig, par, lpf, hpf, env;
par = LFNoise1.kr(0.09).range(1.9,2.02); 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( lpf = RLPF.ar(
in: sig, in: sig,
freq: Lag3.kr(LFNoise0.kr(0.08).exprange(50,10000),10), freq: Lag3.kr(LFNoise0.kr(0.08).exprange(50,10000),10),
rq:0.8, rq: rq,
mul: lpfa); mul: lpfa);
hpf = RHPF.ar( hpf = RHPF.ar(
in: sig, in: sig,
freq: Lag3.kr(LFNoise0.kr(0.065).exprange(50,10000),10), freq: Lag3.kr(LFNoise0.kr(0.065).exprange(50,10000),10),
rq: 0.8, rq: rq,
mul: hpfa); mul: hpfa);
hpf = DelayN.ar(in:hpf, delaytime:0.11); hpf = DelayN.ar(in:hpf, delaytime:0.11);

View File

@ -29,20 +29,20 @@ Server.default.waitForBoot {
}); });
}); });
<<<<<<< HEAD
s.meter; s.meter;
s.plotTree; s.plotTree;
======= s.sync;
s.meter; s.plotTree;
>>>>>>> 6aab46529682cae5a6bb3e59e378d8fcf94a3e50
// octoPan busses ////////////// // 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? // free busses and panners when re-trying things?
~octoBus1.free; ~octoBus2.free; ~octoBus3.free; ~octoBus4.free; ~octoBus1.free; ~octoBus2.free; ~octoBus3.free; ~octoBus4.free;
~panBus1x.free; ~panBus1y.free; ~panBus1r.free; ~panBus1x.free; ~panBus1y.free; ~panBus1r.free;
@ -90,24 +90,8 @@ s.meter; s.plotTree;
// 8chan reverb bus // 8chan reverb bus
~revBus = Bus.audio(s,8); ~revBus = Bus.audio(s,8);
">>> loaded all busses".postln; ">>> 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; "--- loading octoPanners ...".postln;
~octoPanner1 = Synth("octoPanner", [\inBus, ~octoBus1, \outBus, ~revBus], addAction: \addToTail); ~octoPanner1 = Synth("octoPanner", [\inBus, ~octoBus1, \outBus, ~revBus], addAction: \addToTail);
~octoPanner1.map(\x, ~panBus1x); ~octoPanner1.map(\x, ~panBus1x);
@ -129,21 +113,25 @@ var timeLine;
~octoPanner4.map(\y, ~panBus4y); ~octoPanner4.map(\y, ~panBus4y);
~octoPanner4.map(\radius, ~panBus4r); ~octoPanner4.map(\radius, ~panBus4r);
// 4 x stereo reverbs are fixed to outputs ([0,1][2,3][4,5][6,7]) not panners! // 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); ~reverb = Synth("reverBusser", [\inBus, ~revBus, \outBus, 0], addAction: \addToTail);
// some default oscilations of pan and reverb // 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; ~panner1y.free; ~panner2y.free; ~panner3y.free; ~panner4y.free;
~panner1x.free; ~panner2x.free; ~panner3x.free; ~panner4x.free; ~panner1x.free; ~panner2x.free; ~panner3x.free; ~panner4x.free;
// REVERBS
">>> cleaning up reverb busses and wet oscilators...".postln;
~reverb1wetBus.free; // ~wetOsc.free; // clean up ~reverb1wetBus.free; // ~wetOsc.free; // clean up
~reverb2wetBus.free; // ~wetOsc.free; // clean up ~reverb2wetBus.free; // ~wetOsc.free; // clean up
~reverb3wetBus.free; // ~wetOsc.free; // clean up ~reverb3wetBus.free; // ~wetOsc.free; // clean up
~reverb4wetBus.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 ~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
~reverb2wetBus = Bus.control(s, 1); // create control bus ~reverb2wetBus = Bus.control(s, 1); // create control bus
@ -153,7 +141,6 @@ var timeLine;
~reverb4wetBus = Bus.control(s, 1); // create control bus ~reverb4wetBus = Bus.control(s, 1); // create control bus
~reverb.map(\verb4wet, ~reverb4wetBus); // map an argument to 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; ~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; ~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; ~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, 0);
// ~reverb.set(\verb1wet, 1); // ~reverb.set(\verb1wet, 1);
// ~reverb.set(\verb2wet, 1); // ~reverb.set(\verb2wet, 1);
//);
">>> finished loading all busses and control synths for panning etc ...".postln;
"".postln;
);
//( //(
//var timeLine; //var timeLine;
timeLine = Routine {
"--- starting main routine ...".postln; //////////////////////////////////////////////////////////////////////////////////
// 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;
)
/// 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]); ~panBus1x.value = 0;
~soil1durBus = Bus.control(s,1); ~panBus1y.value = 0;
~soil1durBus.value = 0.0001; ~panBus1r.value = 1;
~soil1.map(\dur, ~soil1durBus);
~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; "--- starting panner1y sin Oscilation ...".postln;
~panner1y = SynthDef(\sinPanY1, { Out.kr(~panBus1y, SinOsc.kr(0.01).range(0.3,0.5))}).play; ~panner1y = SynthDef(\sinPanY1, { Out.kr(~panBus1y, SinOsc.kr(0.01).range(0.3,0.5))}).play;
~panBus1x.value = 1; ~panBus1x.value = 1;
@ -188,23 +317,12 @@ timeLine = Routine {
wait(80); wait(80);
"--- starting soil2 ...".postln; "--- 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; "--- starting panner2y sin Oscilation ...".postln;
~panner2y = SynthDef(\sinPanY2, { Out.kr(~panBus2y, SinOsc.kr(0.015).range(0.3,0.5))}).play; ~panner2y = SynthDef(\sinPanY2, { Out.kr(~panBus2y, SinOsc.kr(0.015).range(0.3,0.5))}).play;
~panBus2x.value = 0; ~panBus2x.value = 0;
~panBus2r.value = 1; ~panBus2r.value = 1;
wait(20); 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; "--- return to static duration, abruptly...".postln;
~panner1y.free; ~panner2y.free; ~panner1y.free; ~panner2y.free;
@ -215,9 +333,7 @@ timeLine = Routine {
~panBus2y.value = 0.9; ~panBus2y.value = 0.9;
"--- fade soils...".postln; "--- fade soils...".postln;
~soil1.set(\gate, 0, \fadeTime, 15); // use envelope to fade out
wait(3); wait(3);
~soil2.set(\gate, 0, \fadeTime, 15); // use envelope to fade out
wait(20); wait(20);
~soil1DurOsc.free; ~soil1DurOsc.free;
@ -225,13 +341,46 @@ timeLine = Routine {
///// 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 ////////////////////////////////////////////////////////////////////////////////////////////////////// // trigRingz //////////////////////////////////////////////////////////////////////////////////////////////////////
"\n--- PART 2 ---".postln; "\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]);
~panBus1y.value = 0; // set a fixed value to a bus ~panBus1y.value = 0.1; // set a fixed value to a bus
~panBus1x.value = 0; ~panBus1x.value = 1;
~panBus1r.value = 0.1; ~panBus1r.value = 0.1;
wait(50); wait(50);
@ -337,9 +486,9 @@ timeLine = Routine {
"--- latooWanderings ...".postln; "--- latooWanderings ...".postln;
~latooWan1 = Synth(\latooWanderings, [\out, ~octoBus4, \fadeTime, 30, \amp, 0.3]); ~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; ~panBus4x.value = 0;
~panBus4r.value = 1; ~panBus4r.value = 10;
wait(30); wait(30);
~panner4y = SynthDef(\randomPanY4, { Out.kr(~panBus4y, LFNoise1.kr(0.9).range(0,1))}).play; ~panner4y = SynthDef(\randomPanY4, { Out.kr(~panBus4y, LFNoise1.kr(0.9).range(0,1))}).play;
@ -413,6 +562,8 @@ timeLine = Routine {
~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; "\n--- PART 4 --- ".postln;
"--- noiseCrackle ...".postln; "--- noiseCrackle ...".postln;
~panner1y.free; ~panner1y.free;
@ -431,13 +582,29 @@ timeLine = Routine {
~panner4y = SynthDef(\sinPanY4, { Out.kr(~panBus4y, SinOsc.kr(0.05).range(0,1))}).play; ~panner4y = SynthDef(\sinPanY4, { Out.kr(~panBus4y, SinOsc.kr(0.05).range(0,1))}).play;
~panBus4r.value = 0.1; ~panBus4r.value = 0.1;
~darkHenon1 = Synth(\henonLsynth2, [\out, ~octoBus4, \fadeTime, 30]); ~darkHenon1 = Synth(\henonLsynth2, [\out, ~octoBus4, \fadeTime, 0]);
wait(40); wait(40);
(
~darkHenon1 = Synth(\henonLsynth2, [\out, ~octoBus4, \fadeTime, 0]);
~henonS1 = Synth(\henonSynth1, [\out, ~octoBus3, \amp, 0.4, \fadeTime, 0]);
)
"--- henonS1 ...".postln; "--- henonS1 ...".postln;
~henonS1 = Synth(\henonSynth1, [\out, ~octoBus3, \amp, 0.4, \fadeTime, 40]); ~henonS1 = Synth(\henonSynth1, [\out, ~octoBus3, \amp, 0.4, \fadeTime, 40]);
"--- noiseCrackle fade ...".postln; "--- noiseCrackle fade ...".postln;
~noiseCr1.set(\fadeTime, 90, \gate,0); ~noiseCr1.set(\fadeTime, 90, \gate,0);
~noiseCr1.set(\fadeTime, 9, \gate,0);
~panBus3x.value = 0; ~panBus3x.value = 0;
~panBus3y.value = 1; ~panBus3y.value = 1;
~panner3y.free; ~panner3y.free;
@ -446,10 +613,10 @@ timeLine = Routine {
wait(120); wait(120);
"--- final fade henonS1, darkHenon ...".postln; "--- final fade henonS1, darkHenon ...".postln;
~darkHenon1.set(\gate, 0, \fadeTime, 60); ~darkHenon1.set(\gate, 0, \fadeTime, 6);
wait(30); wait(30);
~henonS1.set(\gate, 0, \fadeTime, 60); ~henonS1.set(\gate, 0, \fadeTime, 1);
wait(60); wait(60);
~panner1y.free; ~panner1y.free;
@ -460,7 +627,7 @@ timeLine = Routine {
}; };
timeLine.play; //timeLine.play;
); );