s.boot

p=ProxySpace.push(s)

~out
~out.play

~array=Array.rand(5,72,84)

~saw={arg t_trig=1;Saw.ar(Lag.kr(Demand.kr(Impulse.kr(1/0.12),0,Dseq(Array.rand(5,72,84).midicps*[1,2,4].choose,100000)),0.1))*Demand.kr(Impulse.kr(2),0,Drand([0,0,0,1],100000))};
~saw2={arg t_trig=1;Saw.ar(Lag.kr(Demand.kr(Impulse.kr(1/0.12),0,Dseq(Array.rand(5,72,84).midicps*[1,2,4].choose,10000)),0.1))*Demand.kr(Impulse.kr(2),0,Drand([0,0,0,1],100000))};
~saw4={arg t_trig=1;Saw.ar(Lag.kr(Demand.kr(Impulse.kr(1/0.12),0,Dseq(Array.rand(5,72,84).midicps*[1,0.5,0.25].choose,10000)),0.1))*Demand.kr(Impulse.kr(2),0,Drand([0,0,0,1],100000))};
~saw3={Saw.ar(Lag.kr(Demand.kr(Impulse.kr(1/0.12),0,Dseq([72,84].midicps*2,10000)),0.1))*Demand.kr(Impulse.kr(2),0,Drand([0,0,0,1],100000))};
~saw5={Saw.ar(Demand.kr(Impulse.kr(0.5),0,Drand([Demand.kr(Impulse.kr(1/0.24),0,Dseq(Array.rand(5,72,84).midicps,100000)),450],100000)),LFTri.kr(10))}

~out=~saw+~saw3
~out=~saw3
~out=~saw+~saw2+~saw3
~out=~saw+~saw2+~saw3+~saw4
~out=~saw+~saw2+~saw3+~saw4+~saw5
~out=~saw
~out=~saw2
~out=~saw5
~out=0