// ===================================================================== // livecoding session, 2.october, 2020 - OSMOZA // ===================================================================== //(// test all ) //( // stop all? ) // delay busses /*~reverBus = Bus.audio(s, numChannels:2); ~reverb = Synth(\reverb, [\inBus, ~reverBus, \out, 0, \amp, 1], addAction:\addToTail ) ~reverb.set(\amp, 1) ~reverb.free ~reverBus.free */ ~reverBus = Bus.audio(s,2); ~reverbDelay = Synth(\verbDelayFX, [\inBus, ~reverBus, \outBus, 0, \revWet, 1, \dlyWet, 1], addAction: \addAfter); ~reverbDelay.set(\revWet, 1); ~reverbDelay.set(\dlyWet, 1); ~reverbDelay.free ~reverBus.free b = Buffer.alloc(s, 44100 * 4.0, 1); // a four second 1 channel Buffer c = Buffer.alloc(s, 44100 * 4.0, 1); // a four second 1 channel Buffer d = Buffer.alloc(s, 44100 * 4.0, 1); // a four second 1 channel Buffer e = Buffer.alloc(s, 44100 * 4.0, 1); // a four second 1 channel Buffer Synth(\recIn, [\bufnum, b]); b.normalize; Synth(\recIn, [\bufnum, c]); c.normalize; Synth(\recIn, [\bufnum, d]); d.normalize; Synth(\recIn, [\bufnum, e]); e.normalize; b.plot c.plot d.plot e.plot // ============================================================================ ~soil1 = Synth(\granSoil, [\sndbuf, ~getSnd.("forest"), \dur, 0.0001 ,\fadeTime, 20, \amp, 0.8]); ~soil1.release e = Synth(\bgrain, [\out, ~reverBus, \bufnum, e, \amp, 0.01], addAction: \addToHead); g = Synth(\bgrain, [\out, 0, \bufnum, b, \amp, 0.1], addAction: \addToHead); e.set(\amp, 0.5); e.set(\rate, 1); e.free g.release(1) g.free ~grain1 = Synth(\bgrain, [\out, ~reverBus, \bufnum, ~getSmp.("caretaker"), \amp, 0.01], addAction: \addToHead); ~grain1.set(\amp, 0.4) ~grain1.set(\rate, 1) ~grain1.set(\bufnum, ~getSmp.("romantiq")) ~grain1.release(1) ~glitchgrain = Synth(\bgrain, [\out, ~reverBus, \bufnum, ~getSmp.("gl05"), \amp, 0.01], addAction: \addToHead); ~glitchgrain.set(\amp) ~glitchgrain.release(1) ~amygran = Synth(\bgrain, [\out, ~reverBus, \bufnum, ~getSmp.("amywars"), \amp, 0.1], addAction: \addToHead); ~amygran.set(\amp, 0.8) ~amygran.set(\rate, 1) ~amygran.release(3) ~romantiq = Synth(\bgrain, [\out, ~reverBus, \bufnum, ~getSmp.("romant"), \amp, 0.01], addAction: \addToHead); ~romantiq.set(\amp, 0.2) ~romantiq.set(\rate, 1) ~romantiq.release(10) ~ljuben = Synth(\bgrain, [\out, ~reverBus, \bufnum, ~getSmp.("Ljuben"), \amp, 0.1], addAction: \addToHead); s.record(duration:120) ( Pdef(\glgrain2, Pbind(\instrument, \bgrain, \bufnum, ~getSmp.("amywars"), \dur, 30, \legato, 0.9, \amp, 0.5, \rate, 1, \out, ~reverBus )).play); Pdef(\glgrain2).stop ( Pdef(\glgrain1, Pbind(\instrument, \bgrain, \bufnum, ~getSmp.("gl05"), \dur, 30, \legato, 0.8, \amp, 0.1, \out, ~reverBus )).play); Pdef(\glgrain1).stop ( //Pdef(\fran, Pbind( \instrument, \bgrain, \bufnum, ~getSmp.("gl05"), Pdef(\gran, Pbind( \instrument, \bgrain, \bufnum, b, \dur, 4, \amp, 0.05, //\rate, Prand((90..110) * 0.01,inf), // \pan, Prand([-0.2, 0, 0.2], inf) \out, ~reverBus )).quant_(1) ); Pdef(\gran).play Pdef(\gran).stop Pbindef(\gran, \amp, 0.01) // ======================================================================= ~henonS1 = Synth(\henonSynth1, [\out, ~reverBus, \amp, 0.4, \fadeTime, 4]); ~henonS1.set(\amp, 0.9); ~henonS1.set(\pan, -1); ~henonS1.set(\hpff, 12000); ~henonS1.set(\lpff, 400); ~henonS1.release(2); ~henonS1.free; ~henonS2 = Synth(\henonSynth1, [\amp, 0.2, \fadeTime, 20]); ~henonS2.set(\amp, 0.7); ~henonS2.set(\pan, 1); ~henonS2.set(\hpff, 13000); ~henonS2.set(\lpff, 300); ~henonS2.set(\gate, 0, \fadeTime, 1); ~henonS2.release(2); ~henonS2.free; ~darkHenon1 = Synth(\henonLsynth2, [\fadeTime, 10, \amp, 0.1]); ~darkHenon1.set(\amp, 0.5); ~darkHenon1.release(30); ~darkHenon1.free; ~darkHenon2 = Synth(\henonLsynth2, [\fadeTime, 10, \amp, 0.2]); ~darkHenon2.set(\amp, 0.7); ~darkHenon2.set(\gate, 0, \fadeTime, 3); ~darkHenon2.release(30); ~darkHenon2.free; // 210Hz ~fhnTrig1 = Synth(\fhnTrigRing, [\freq, 110, \amp, 0.5, \decay, 2, \min, 0.2, \max, 1, \amp, 0.4, \fadeTime, 10]); ~fhnTrig1.set(\freq, 60); ~fhnTrig1.release(3); // 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, [\freq, 2110, \amp, 0.5, \min, 2, \max, 20, \amp, 0.5, \fadeTime, 10]); ~fhnTrig2.set(\out, 0) ~fhnTrig2.set(\ffreq, 8000) ~fhnTrig2.release(6) ~fhnTrig2 = Node.basicNew(nodeID:1369) // ===================================================================== // Pbindefs //////////////////////////////////////////////////////////// Pdef(\bsln1).play.quant_(1); Pbindef(\bsln1, \dur, Pseq([1,2,3] * 1/4, inf)) Pbindef(\bsln1, \degree, Pseq([2,2,4,1], inf)) Pbindef(\bsln1, \legato, 1, \releaseTime, 0.01) Pbindef(\bsln1, \lpf, Prand([3,4,5,6,7,8],inf)) Pbindef(\bsln1, \lpf, Pseq([4,5,6,7,8,9,10,11],inf)) Pbindef(\bsln1, \freso, 0.5) Pbindef(\bsln1, \fdist, 1) Pbindef(\bsln1, \amp, 0.3) Pdef(\bsln1).stop; //-- Pdef(\strng1).play; // Pseq([3,2,1] * 1/6,inf) Pbindef(\strng1, \dur, Pseq([3,2,1] * 1/6,inf)) // [4,9], 2, 8 , 4, 1 Pbindef(\strng1, \degree, 2) Pbindef(\strng1, \degree, Pseq([[4,9],2,8,4,1], inf)) Pbindef(\strng1, \octave, 5) // [6,5,7], [4,5,7], [7,5,4] Pbindef(\strng1, \octave, Pseq([[4,5,7],[7,5,6],[5,7,4]],inf)) Pbindef(\strng1, \octave, Pseq([[6,5,7], [4,5,7], [7,5,4]],inf)) Pbindef(\strng1, \amp, 0.1) // Pstutter(12, Pseq([1,0,-2,3,-3], inf)) Pbindef(\strng1, \mtranspose, Pstutter(12, Pseq([1, 0, -2, 3, -3],inf))) Pdef(\strng1).stop; Pdef(\strng1).clear; //-- Pdef(\perc1).play Pbindef(\perc1, \amp, 0.4) Pbindef(\perc1, \dur, Pseq([1.5, 2.5] * 1,inf)) Pdef(\perc1).stop //-- Pdef(\perc2).play Pbindef(\perc2, \amp, 0.3) Pbindef(\perc2, \dur, Pseq([Rest(1), 2, 4] * 2/3,inf)) Pdef(\perc2).stop //-- Pdef(\perc3).play //* Pstutter(6, Prand([1/8,1/4],inf)), Pbindef(\perc3, \dur, Pseq([4,3,2,1],inf) * 1/8) Pbindef(\perc3, \bufnum, ~getSmp.("perc01")) Pdef(\perc3).stop Pdef(\perc3).clear //-- Pdef(\hh1).play (Pbindef(\hh1, \dur, Pseq([ 1/4, 1/4, 1/8, 1/4, 1/8, 1/8, 1/8, 1/4, 1/6, 1/6, 1/6, 1/6, 1/6, 1/12, 1/12 ],inf))) Pbindef(\hh1, \amp, 0.4) Pbindef(\hh1, \bufnum, ~getSmp.("hh01"), \amp, 0.3) Pdef(\hh1).stop Pdef(\hh2).play Pbindef(\hh2, \bufnum, ~getSmp.("hh06"), \amp, 0.4) Pdef(\hh2).stop //-- Pdef(\hh3).play Pbindef(\hh3, \bufnum, ~getSmp.("hh05")) Pbindef(\hh3, \amp, 0.4) Pdef(\hh3).stop //-- Pdef(\bd1).play Pbindef(\bd1, \amp, 0.6) Pbindef(\bd1, \dur, Pseq([3/4, 1, 1, 1, 1/4],inf)) Pbindef(\bd1, \dur, Pseq([3/4, 1, 1, 1, 1/8],inf)) // one 8th note shorter Pbindef(\bd1, \bufnum, ~getSmp.("bd01")); Pdef(\bd1).stop Pbindef(\bd1, \dur, Pseq([1/4],32)) //-- Pdef(\oh1).play Pbindef(\oh1, \amp, 0.3) Pbindef(\oh1, \dur, Prand([1/2,1,2,5/4],inf)) Pdef(\oh1).stop; //-- Pdef(\oh2).play Pbindef(\oh2, \amp, 0.1, \dur, 3/4) Pdef(\oh2).stop //-- Pdef(\oh3).play Pbindef(\oh3, \amp, 0.1, \dur, 5/4) Pdef(\oh3).stop //-- Pdef(\sn1).play; Pbindef(\sn1, \amp, 0.8) Pbindef(\sn1, \amp, 0.4, \dur, Pseq([Rest(1), Prand([1])],inf)); Pbindef(\sn1, \amp, 0.4, \dur, Pseq([Rest(1), Prand([0.5,1,1.5])],inf)); Pdef(\sn1).stop //-- Pdef(\sn2).play Pbindef(\sn2, \dur, Pseq([1/2,2,3/8,1],inf), \amp, 0.2) Pdef(\sn2).stop //-- Pdef(\sn3).play Pbindef(\sn3, \dur, Pseq([1/2,2,3/8,1],inf), \amp, 0.7) Pdef(\sn3).stop //-- Pdef(\cl1).play // Pbindef(\cl1, \dur, ...) Pdef(\cl1).stop //-- Pdef(\cl2).play // Pbindef(\cl2, \dur, ...) Pdef(\cl2).stop //-- Pdef(\cl3).play // Pbindef(\cl3, \dur, ...) Pdef(\cl3).stop //-- Pdef(\gl1).play // Pbindef(\gl1, \dur, ...) Pbindef(\g1, \revWet, 1) Pdef(\gl1).stop //-- Pdef(\gl2).play // Pbindef(\gl2, \dur, ...) Pdef(\gl2).stop //-- Pdef(\gl3).play Pbindef(\gl3, \dur, Pseq([1,1,1,1,2]/8,inf)) Pbindef(\gl3, \amp, 0.2) Pdef(\gl3).stop // ============================================================================= // ===================================================================== // SuperCollider Workspace // ===================================================================== ~soil1 = Synth(\granSoil, [\sndbuf, ~getSnd.("forest"), \dur, 0.0001, \fadeTime, 30, \amp, 0.5]) ~soil1.set(\amp, 1) ~soil1.release(60) e = Synth(\bgrain, [\bufnum, d, \amp, 0.05]) e.set(\amp, 0.1) e.release(30) ~grain1 = Synth(\bgrain, [\out, ~reverBus, \bufnum, ~getSmp.("caretaker"), \amp, 0.005]) ~grain1.set(\amp, 0.15) ~grain1.release(30) ~glgrain1 = Synth(\bgrain, [\out, ~reverBus, ~getSmp.("gl05"), \amp, 0.1]) ~glgrain1.set(\amp, 0.5) ~glgrain1.release(30) ~lj = Synth(\bgrain, [\bufnum, ~getSmp.("Ljuben"), \amp, 0.1]) ~lj.set(\amp, 0.2) ~lj.release(60) ~amy = Synth(\bgrain, [\bufnum, ~getSmp.("amywars"), \amp, 0.3 \rate, 1]) ~amy.set(\amp, 1) ~amy.release(60) ~hS1 = Synth(\henonSynth1, [\out, ~reverBus, \amp, 0.3, \fadeTime, 10]) ~hS1.set(\amp, 0.2 ) ~hS1.set(\pan, -1 ) ~hS1.set(\pan, -1 ) ~hS1.release(60) ~hS2 = Synth(\henonSynth1, [\amp, 0.3, \fadeTime, 10]) ~hS2.set(\pan, 1 ) ~hS2.set(\amp, 0.1 ) ~hS2.release(60) ~dH1 = Synth(\henonLsynth2, [\amp, 0.1, \fadeTime, 30]) ~dH1.set(\amp, 0.8) ~dH1.release(120) ~esma = Synth(\bgrain, [\bufnum, ~getSmp.("esma1"), \amp, 0.1, \rate, 1]) ~esma.set(\amp, 0.01) ~esma.set(\out, ~reverBus) ~bgr = Synth(\bgrain, [\bufnum, b, \amp, 0.1]) ~bgr.set(\amp, 0.01) ~bgr2 = Synth(\bgrain, [\out, ~reverBus, \bufnum, b, \amp, 0.1, \rate, 1]) ~bgr2.set(\amp, 0.05) ~bgr2.release(10) ~cgr1 = Synth(\bgrain, [\bufnum, c, \amp, 0.2, \rate, 1 ]) ~cgr1.set(\amp, 0.05) Pdef(\bsln1).play.quant_(1); Pbindef(\bsln1, \dur, Pseq([1,2,3] * 1/4, inf)) Pbindef(\bsln1, \amp, 0.05) Pbindef(\bsln1, \degree, Pseq([2,2,4,1], inf)) Pbindef(\bsln1, \legato, 1, \releaseTime, 0.01) Pdef(\bsln1).stop; Pdef(\bsln1).stop; Pdef(\strng1).play; Pdef(\strng1).stop; Pbindef(\strng1, \degree, 2) Pbindef(\strng1, \oct, Pseq([[6,5,7], [4,5,7], [7,5,4]] -1,inf)) Pbindef(\strng1, \oct, 3) Pbindef(\strng1, \oct, 0) Pbindef(\strng1, \dur, Pseq([3,2,1] * 2/6,inf)) Pbindef(\strng1, \mtranspose, Pstutter(12, Pseq([1, 0, -2, 3, -3],inf))) Pbindef(\strng1, \mtranspose, Pseq([1, 0, -2, 3, -3],inf)) Pbindef(\strng1, \mtranspose, Pseq([1, 0, -2, 3, -3],inf)) Pbindef(\strng1, \mtranspose, 1) Pbindef(\strng1, \degree, 2) P