s.boot

p=ProxySpace.push(s)

~out
~out.play

~sawRingz={Ringz.ar(~saw.ar,10000,0.1)};
~sawRingz2={Ringz.ar(~saw.ar,7000,0.1)};
~saw={LPF.ar(Saw.ar(Array.geom(20,40,1.05),0.97),LFNoise0.kr(20,200,260))}

~sini={SinOsc.ar([LFNoise2.kr(1,2000,14000),LFNoise2.kr(1,2000,14000)],0,0.1)}
~sinu={Mix(SinOsc.ar([LFNoise2.kr(1,20,90),LFNoise2.kr(1,20,90)],0,0.95))}

(
Tdef(\chains, {var cuenta=0, amp=1;
				inf.do{

~chain={Mix(Decay2.ar(Impulse.ar(LFNoise2.kr(0.5,5,10)),0.01,0.5,Ringz.ar(Demand.ar(Dust.ar(SinOsc.kr(0.05,100,110)),0,Dseq([-1,1],100000))*0.0125,Array.exprand(10,60,15000),0.5,0.25))*amp)};
~chain2={Mix(Decay2.ar(Impulse.ar(LFNoise2.kr(0.5,5,10)),0.01,0.5,Ringz.ar(Demand.ar(Dust.ar(SinOsc.kr(0.07,100,110)),0,Dseq([-1,1],100000))*0.0125,Array.exprand(10,60,15000),0.5,0.25))*amp)};
						cuenta=cuenta+1;
						if(cuenta%2==2.rand,{amp=1},{amp=0});
						rrand(0.1,3).wait;
					}
			})
)
Tdef(\chains).play

~out=~chain+~chain2+~saw
~out=~chain+~chain2+~saw+~sini
~out=~chain+~chain2
~out=~saw
~out=~sawRingz+~saw2Ringz+~chain+~chain2+~sinu
~out=~saw+~sawRingz+~saw2Ringz+~chain+~chain2+~sinu+~sini
~out=~saw+~sawRingz+~saw2Ringz+~chain+~chain2+~sinu
~out=~saw+~chain
~out=~sinu+~sini
~out=~sinu+~saw
~out=~sinu+~sawRingz+~saw2Ringz+~chain+~chain2
~out=~sawRingz+~saw2Ringz
~out=0