// title: awakened nest // author: vividsnow // description: // late night experimenting // code: ( var seed = thisThread.randSeed = 1e8.rand.debug('seed'); {|dur = 30| var voices = 2.pow(1.rrand(4)), sig = DelayC.ar({ Pan2.ar( PMOsc.performList(\ar, { var freq = Lag.ar(LFSaw.ar([10,15]/((1..5).choose*[1,2,4].choose)).exprange( {200.rrand(400)}!2, {500.rrand(1100)}!2 * Line.kr(0.5.rrand(2), 3.rrand(8.0),dur) )); [freq, freq/[2,4].choose + SinOsc.kr([10,25],0,5), XLine.kr(0.1,1.rrand(3.0),dur/1.rrand(2.0))] }.()).sum/2, [SinOsc,LFTri].choose.kr({4.0.rrand(11)}!2 * [XLine,Line].choose.kr(1,4,dur)) ).sum/2 * LFGauss.kr(XLine.kr(\beat.kr, \beat.kr / \beat_change.kr, dur) / [0.5,1,2,4].choose, 0.3) * EnvGen.kr([ Env.perc(0.1,dur), Env.sine(dur), Env.performList(\new, {|len| [ [0]++Array.rand(len,0.1,1)++[0], Array.rand(len,0.1,1).normalizeSum * dur, Array.rand(len-1,-3.0,3.0)+[0] ]}.(2.rrand(10))) ].choose) } ! voices, 4, { 0.1.rrand(4) } ! voices, 1 / voices).sum * Line.kr(1,1,dur+5,doneAction:2); sig = Rotate2.ar(sig[0],sig[1], LFSaw.kr(Duty.kr(dur/4.rrand(16), 0, Drand([-1*\beat.kr,\beat.kr].reciprocal,inf)))); }.play(args:[ dur:1.rrand(25.0).debug('dur'), beat:1.rrand(6)*(1..4).reciprocal.choose/4, beat_change:1.rrand(8) ]) )