|
|
@ -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; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|
|
|
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|
|
|
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|
|
|