corrections to timeline, cleaning up.
							parent
							
								
									328a57f434
								
							
						
					
					
						commit
						eab64baa29
					
				
							
								
								
									
										252
									
								
								rhizosphere.scd
								
								
								
								
							
							
						
						
									
										252
									
								
								rhizosphere.scd
								
								
								
								
							| 
						 | 
				
			
			@ -99,8 +99,6 @@ s.meter; s.plotTree;
 | 
			
		|||
(
 | 
			
		||||
var timeLine;
 | 
			
		||||
 | 
			
		||||
// CmdPeriod frees these, but not the busses, so only these need to be re-inst.
 | 
			
		||||
 | 
			
		||||
"--- freeing old octoPanners ...".postln;
 | 
			
		||||
~octoPanner1.free; ~octoPanner2.free; ~octoPanner3.free; ~octoPanner4.free;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -130,13 +128,11 @@ var timeLine;
 | 
			
		|||
 | 
			
		||||
// some default oscilations of pan and reverb
 | 
			
		||||
 | 
			
		||||
// 'set' values - disconnects mapping!
 | 
			
		||||
//~octoPanner1.set(\x, 0, \y, 0.28, \radius, 0.001); 
 | 
			
		||||
 | 
			
		||||
~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;
 | 
			
		||||
| 
						 | 
				
			
			@ -149,7 +145,6 @@ var timeLine;
 | 
			
		|||
~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.free;
 | 
			
		||||
// ~reverb.set(\verb1wet, 0);
 | 
			
		||||
// ~reverb.set(\verb1wet, 1);
 | 
			
		||||
| 
						 | 
				
			
			@ -347,152 +342,14 @@ timeLine = Routine {
 | 
			
		|||
 | 
			
		||||
	"--- henonS1 ...".postln;
 | 
			
		||||
	~henonS1 = Synth(\henonSynth1, [\out, ~octoBus3, \amp, 0.2, \fadeTime, 40]);
 | 
			
		||||
	wait(180); 
 | 
			
		||||
	wait(120); 
 | 
			
		||||
 | 
			
		||||
	"--- final fade henonS1, darkHenon ...".postln;
 | 
			
		||||
	~henonS1.set(\gate, 0, \fadeTime, 50);
 | 
			
		||||
	~darkHenon1.set(\gate, 0, \fadeTime, 40);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	//1.wait;
 | 
			
		||||
 | 
			
		||||
	/*
 | 
			
		||||
~panBus1y.value = 0.2; // set a fixed value to a bus
 | 
			
		||||
~panBus1x.value = 0;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	~darkHenon1 = Synth(\henonLsynth2, [\out, ~octoBus1, \fadeTime, 3]);
 | 
			
		||||
	~darkHenon1.set(\gate, 0);
 | 
			
		||||
	~darkHenon1.free
 | 
			
		||||
	~darkHenon1.set(\gate, 0);
 | 
			
		||||
	~darkHenon1.set(\amp, 0);
 | 
			
		||||
	~noiseCr1.set(\fadeTime, 20, \gate, 0);
 | 
			
		||||
 | 
			
		||||
	~darkHenon2 = Synth(\henonLsynth2, [\out, ~octoBus2]);
 | 
			
		||||
 | 
			
		||||
	~darkHenon1.free
 | 
			
		||||
	~darkHenon2.free
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	*/
 | 
			
		||||
 | 
			
		||||
	
 | 
			
		||||
	/* ***** ************************
 | 
			
		||||
 | 
			
		||||
	">>> markov1 ...".postln;
 | 
			
		||||
	~markov1 = Synth(\markovS1,  [ \out, ~octoBus1,
 | 
			
		||||
		\freq, 440, \tsize, 3, \amp, 0.9, \clip, 0.69, \fadeTime, 0.01 ]);
 | 
			
		||||
	wait(50);
 | 
			
		||||
	
 | 
			
		||||
	~markov1.set(\gate, 0, \fadeTime, 0.01);
 | 
			
		||||
	wait(10);
 | 
			
		||||
	
 | 
			
		||||
	~markov2 = Synth(\markovS1,  [ \out, ~octoBus1,
 | 
			
		||||
		\freq, 440, \tsize, 3, \amp, 0.9, \clip, 0.69, \fadeTime, 0.01 ]);
 | 
			
		||||
	wait(8);
 | 
			
		||||
	
 | 
			
		||||
	~markov2.set(\gate, 0, \fadeTime, 0.1);
 | 
			
		||||
	wait(4);
 | 
			
		||||
	
 | 
			
		||||
	~markov3 = Synth(\markovS1,  [ \out, 1,
 | 
			
		||||
		\freq, 440, \tsize, 3, \amp, 0.9, \clip, 0.69, \fadeTime, 1 ]);
 | 
			
		||||
	wait(8);
 | 
			
		||||
	
 | 
			
		||||
	~markov3.set(\gate, 0, \fadeTime, 0.1);
 | 
			
		||||
	~markov4 = Synth(\markovS1,  [ \out, 0,
 | 
			
		||||
		\freq, 1441, \tsize, 3, \amp, 0.2, \clip, 0.69, \fadeTime, 1 ]);
 | 
			
		||||
	wait(8);
 | 
			
		||||
	
 | 
			
		||||
	~markov5 = Synth(\markovS1,  [ \out, 1,
 | 
			
		||||
		\freq, 2440, \tsize, 3, \amp, 0.05, \clip, 0.69, \fadeTime, 1 ]);
 | 
			
		||||
	wait(15);
 | 
			
		||||
	
 | 
			
		||||
	~markov4.set(\gate,0, \fadeTime, 10);
 | 
			
		||||
	~markov6 = Synth(\markovS1,  [ \out, 0,
 | 
			
		||||
		\freq, 842, \tsize, 10, \amp, 0.1, \clip, 0.69, \fadeTime, 1 ]);
 | 
			
		||||
	wait(20);
 | 
			
		||||
	
 | 
			
		||||
	~markov5.set(\gate,0, \fadeTime, 10);
 | 
			
		||||
	
 | 
			
		||||
	~markov2 = Synth(\markovS1,  [ \out, ~octoBus1,
 | 
			
		||||
		\freq, 440, \tsize, 3, \amp, 0.9, \clip, 0.69, \fadeTime, 20 ]);
 | 
			
		||||
 | 
			
		||||
	wait(10);
 | 
			
		||||
 | 
			
		||||
	~markov6.set(\gate,0, \fadeTime, 10);
 | 
			
		||||
	wait(20);
 | 
			
		||||
	
 | 
			
		||||
	~markov2.set(\gate, 0, \fadeTime, 0.1);
 | 
			
		||||
	wait(10);
 | 
			
		||||
 | 
			
		||||
	~markov7 = Synth(\markovS1,  [ \out, ~octoBus1,
 | 
			
		||||
		\freq, 740, \tsize, 3, \amp, 0.5, \clip, 0.9, \fadeTime, 0.01 ]);
 | 
			
		||||
	~markov8 = Synth(\markovS1,  [ \out, ~octoBus1,
 | 
			
		||||
		\freq, 1140, \tsize, 3, \amp, 0.5, \clip, 0.9, \fadeTime, 0.01 ]);
 | 
			
		||||
	~markov9 = Synth(\markovS1,  [ \out, ~octoBus1,
 | 
			
		||||
		\freq, 1940, \tsize, 3, \amp, 0.5, \clip, 0.9, \fadeTime, 0.01 ]);
 | 
			
		||||
	wait(20);
 | 
			
		||||
	
 | 
			
		||||
	~markov7.set(\gate, 0);
 | 
			
		||||
	~markov8.set(\gate, 0);
 | 
			
		||||
	~markov9.set(\gate, 0);
 | 
			
		||||
	wait(1);
 | 
			
		||||
 | 
			
		||||
	~markov7 = Synth(\markovS1,  [ \out, ~octoBus1,
 | 
			
		||||
		\freq, 141, \tsize, 3, \amp, 0.5, \clip, 0.9, \fadeTime, 0.01 ]);
 | 
			
		||||
	~markov8 = Synth(\markovS1,  [ \out, ~octoBus1,
 | 
			
		||||
		\freq, 830, \tsize, 9, \amp, 0.5, \clip, 0.9, \fadeTime, 0.01 ]);
 | 
			
		||||
	~markov9 = Synth(\markovS1,  [ \out, ~octoBus1,
 | 
			
		||||
		\freq, 2941, \tsize, 10, \amp, 0.5, \clip, 0.9, \fadeTime, 0.01 ]);
 | 
			
		||||
	wait(10);
 | 
			
		||||
 | 
			
		||||
	~markov5 = Synth(\markovS1,  [ \out, 1,
 | 
			
		||||
		\freq, 2440, \tsize, 3, \amp, 0.09, \clip, 0.69, \fadeTime, 1 ]);
 | 
			
		||||
	wait(10);
 | 
			
		||||
	
 | 
			
		||||
	~markov6 = Synth(\markovS1,  [ \out, 0,
 | 
			
		||||
		\freq, 4440, \tsize, 3, \amp, 0.1, \clip, 0.69, \fadeTime, 1 ]);
 | 
			
		||||
	wait(5);
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	~markov7.set(\gate, 0);
 | 
			
		||||
	~markov8.set(\gate, 0);
 | 
			
		||||
	~markov9.set(\gate, 0);
 | 
			
		||||
	wait(1);
 | 
			
		||||
 | 
			
		||||
	~markov7 = Synth(\markovS1,  [ \out, ~octoBus1,
 | 
			
		||||
		\freq, 900, \tsize, 3, \amp, 0.1, \clip, 0.9, \fadeTime, 10 ]);
 | 
			
		||||
	~markov8 = Synth(\markovS1,  [ \out, ~octoBus1,
 | 
			
		||||
		\freq, 1800, \tsize, 3, \amp, 0.1, \clip, 0.9, \fadeTime, 10 ]);
 | 
			
		||||
	~markov9 = Synth(\markovS1,  [ \out, ~octoBus1,
 | 
			
		||||
		\freq, 5000, \tsize, 3, \amp, 0.1, \clip, 0.9, \fadeTime, 10 ]);
 | 
			
		||||
	wait(30);
 | 
			
		||||
	
 | 
			
		||||
		**********/
 | 
			
		||||
 | 
			
		||||
	
 | 
			
		||||
	/*
 | 
			
		||||
	~latooWan1 = Synth(\latooWanderings, [\out, ~octoBus4, \fadeTime, 10]);
 | 
			
		||||
	30.wait;
 | 
			
		||||
	~latooWan1.set(\gate, 0, \fadeTime, 5);
 | 
			
		||||
	10.wait;
 | 
			
		||||
	"done".postln;
 | 
			
		||||
	*/
 | 
			
		||||
	//Pbind(\freq, Prand([300, 500, 231.2, 399.2], 80), \dur, 0.1).play;
 | 
			
		||||
 | 
			
		||||
	//20.wait;
 | 
			
		||||
	/*
 | 
			
		||||
	( // with routine synth*env can be 'run' multiple times in succession!!
 | 
			
		||||
		r = Routine { 200.do({
 | 
			
		||||
			x = Synth(\fm_grainer, [ "modfreq", rrand(10,1000),	"carfreq", rrand(40,100),
 | 
			
		||||
				\out, ~octoBus1 ]); // should we go through panning?
 | 
			
		||||
			1.wait; });
 | 
			
		||||
			"done".postln;
 | 
			
		||||
		}.play;
 | 
			
		||||
	);
 | 
			
		||||
	*/
 | 
			
		||||
	
 | 
			
		||||
	"--- end of the TIMELINE ---".postln
 | 
			
		||||
	
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -502,133 +359,30 @@ timeLine.play;
 | 
			
		|||
);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
( // metering/analysis
 | 
			
		||||
s.meter;
 | 
			
		||||
s.scope;
 | 
			
		||||
s.plotTree;
 | 
			
		||||
FreqScope.new(400, 200, 0, server: s);
 | 
			
		||||
) /////////////////////////////////////
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// testing stuff! ///////////////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
 | 
			
		||||
~lorenzTrig1 = Synth(\lorenzTrigRing, [\out, ~octoBus1, \freq, 1400, \amp, 0.5]);
 | 
			
		||||
~lorenzTrig1.set(\amp,0.2)
 | 
			
		||||
 | 
			
		||||
~reverb.set(\verb1wet, 1);
 | 
			
		||||
~reverb.set(\verb1wet, 0);
 | 
			
		||||
~reverb.set(\verb2wet, 1);
 | 
			
		||||
 | 
			
		||||
// 'set' values - disconnects mapping!
 | 
			
		||||
~octoPanner1.set(\x, 0, \y, 0.28, \radius, 0.001); 
 | 
			
		||||
 | 
			
		||||
~panner1y.free;
 | 
			
		||||
~panner1y = SynthDef(\pannerOsc, {Out.kr(~panBus1y, SinOsc.kr(0.1).range(0.1,0.2))}).play;
 | 
			
		||||
~panner1y = SynthDef(\randomPanY, { Out.kr(~panBus1y, LFNoise0.kr(9).range(0,0.28))}).play;
 | 
			
		||||
// convert to SynthDef + Synth for common oscilations?
 | 
			
		||||
 | 
			
		||||
~lorenzTrig1.free;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// synths
 | 
			
		||||
 | 
			
		||||
~henonS1 = Synth(\henonSynth1, [\out, ~octoBus1], ~octoPanner1, \addBefore);
 | 
			
		||||
~henonS1 = Synth(\henonSynth1, [\out, ~octoBus1], addAction:\addToHead);// addToHead is default action
 | 
			
		||||
~henonS1 = Synth(\henonSynth1, [\out, ~octoBus1]);
 | 
			
		||||
~Henons1 = Synth(\henonSynth1, [\out, 0]);
 | 
			
		||||
~henonS1.free;
 | 
			
		||||
 | 
			
		||||
~darkHenon = Synth(\henonLsynth2, [\out, ~octoBus2], ~octoPanner2, \addBefore);
 | 
			
		||||
~darkHenon = Synth(\henonLsynth2, [\out, ~octoBus2]);
 | 
			
		||||
~darkHenon = Synth(\henonLsynth2, [\out, 0]);
 | 
			
		||||
~darkHenon.free;
 | 
			
		||||
 | 
			
		||||
~hpfHenon = Synth(\henonLsynth1, [\out, ~octoBus3, \hpfreqmin, 100]);
 | 
			
		||||
~hpfHenon = Synth(\henonLsynth1, [\out, ~octoBus1, \hpfreqmin, 100]);
 | 
			
		||||
~hpfHenon.set(\hpfreqmin, 1000)
 | 
			
		||||
~hpfHenon.free;
 | 
			
		||||
 | 
			
		||||
~distbleeps = Synth(\latooTriggers, [\out, ~octoBus1, \trigA, 1.1], ~octoPanner1, \addBefore);
 | 
			
		||||
~distbleeps = Synth(\latooTriggers, [\out, ~octoBus4, \trigA, 1.1]);
 | 
			
		||||
~distbleeps.free
 | 
			
		||||
 | 
			
		||||
~bassLatoo = Synth(\latooThroBass, [\out, ~octoBus1, \amp, 0.2]);
 | 
			
		||||
~bassLatoo.free;
 | 
			
		||||
 | 
			
		||||
~henonSquare = Synth(\henonSquare, [\out, ~octoBus1, \amp, 0.2]);
 | 
			
		||||
~henonSquare.set(\gate,0);
 | 
			
		||||
 | 
			
		||||
~latooWan1 = Synth(\latooWanderings, [\out, ~octoBus4, \fadeTime, 20, \amp, 0.3]);
 | 
			
		||||
~latooWan1.set(\out,1)
 | 
			
		||||
~latooWan1.set(\out,~octoBus1)
 | 
			
		||||
~latooWan1.set(\amp,1)
 | 
			
		||||
~latooWan1.set(\gate, 0, \fadeTime, 10);
 | 
			
		||||
~latooWan1.free;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
(~markov1 = Synth(\markovS1,  [\out, ~octoBus1, \freq, 400, \tsize, 3, \amp, 0.7, \clip, 0.99]);)
 | 
			
		||||
~markov1.free;
 | 
			
		||||
~markov2 = Synth(\markovS1,  [\out, ~octoBus1, \freq, 1801, \tsize, 3, \amp, 0.7, \clip, 0.99], ~octoPanner1, \addBefore);
 | 
			
		||||
~markov2.free;
 | 
			
		||||
~markov3 = Synth(\markovS1,  [\out, ~octoBus1, \freq, 799, \tsize, 3, \amp, 1, \clip, 0.98]);
 | 
			
		||||
~markov3.free;
 | 
			
		||||
~markov4 = Synth(\markovS1,  [\out, ~octoBus1, \freq, 1600, \tsize, 9, \amp, 1, \clip, 0.98]);
 | 
			
		||||
~markov4.free;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
~noiseCr1 = Synth(\noiseCrackle, [\out, ~octoBus1, \fadeTime, 5 ]);
 | 
			
		||||
~noiseCr1 = Synth(\noiseCrackle, [\out, 0, \fadeTime, 5 ]);
 | 
			
		||||
~noiseCr2 = Synth(\noiseCrackle, [\out, 1, \fadeTime, 5 ]);
 | 
			
		||||
~noiseCr1.set(\lpfa,1,\hpfa,0);
 | 
			
		||||
~noiseCr1.set(\hpfa,1,\lpfa,0);
 | 
			
		||||
~noiseCr1.set(\amp,0.3);
 | 
			
		||||
 | 
			
		||||
~noiseCr1.set(\fadeTime, 20, \gate,0);
 | 
			
		||||
~noiseCr2.set(\fadeTime, 20, \gate,0);
 | 
			
		||||
~noiseCr1.free;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// a different approach with routine 
 | 
			
		||||
// FM grainers all over the place?
 | 
			
		||||
( // with routine synth*env can be 'run' multiple times in succession!!
 | 
			
		||||
var r;
 | 
			
		||||
r = Routine { 200.do({
 | 
			
		||||
	x = Synth(\fm_grainer, [ "modfreq", rrand(10,1000),	"carfreq", rrand(40,100),
 | 
			
		||||
		\out, 0 ]); // should we go through panning?
 | 
			
		||||
	1.wait; });
 | 
			
		||||
    "done".postln;
 | 
			
		||||
}.play;
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// recording
 | 
			
		||||
 | 
			
		||||
r = Recorder(s);
 | 
			
		||||
r.recHeaderFormat = "wav";
 | 
			
		||||
{ GVerb.ar(Dust.ar(4)) }.play; // play on bus 64
 | 
			
		||||
r.record(numChannels:2);
 | 
			
		||||
r.stopRecording;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
 | 
			
		||||
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
 | 
			
		||||
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue