// title: noisy twist // author: vividsnow // description: // sclang fun ) // code: ( // whatever Ndef(\ff_twist, { var tempo = 156/60;//TempoClock.tempo; var bands = 4.rrand(16).debug('bands'); var sync = bands.factors.scramble.pop.debug('sync'); var gen = [LFNoise1,LFNoise2,LFNoise0]; var sig = Splay.ar( VarSaw.ar(//LFSaw.kr(Array.rand(bands/sync, 8, 390).stutter(sync)).range(0.97,1.03) * Array.exprand(bands, 50, 400) * ({ gen.choose.kr(1/1.rrand(10)).exprange(1, 10) } ! (bands/sync)).stutter(sync), 0, { gen.choose.kr(1/1.rrand(10)).range(0.1,1) } ! bands, { gen.choose.kr(1/1.rrand(10)).range(0.1,1) } ! bands ) * ({ EnvGen.kr(Env.perc(0.008.exprand(0.03), tempo.reciprocal / [1,2,4,8].choose, 1, rrand(-7,-1.0)).circle) } ! (bands/sync)).stutter(sync) ); sig = sig * 0.7 + GVerb.ar(sig, mul:0.3); sig = Rotate2.ar( sig[0], sig[1], LFSaw.kr( Duty.kr(tempo.reciprocal * (2,8..24).choose, 0, Drand((1..4)*tempo, inf)) ) ); sig; }).play; )