cumbia
_rrr está formado por Ernesto Romero y Ezequiel Netri en la parte sonora y Jaime Vilarreal en la parte visual. Aqui se muestran solamente los códigos de Ernesto Romero.   
/* Select All & PLay ( Tdef(\yupi).play; Tdef(\yupi2).play; Tdef(\yupillama).play; Tdef(\yupiTamboraPalo).play; Tdef(\yupiTamboraParche).play ) ( ~toins=Array.rand(16,0,12)-12; ~toinsR=Array.rand(16,0,32); ~toins2=Array.rand(16,0,12); ~toins2R=Array.rand(16,0,32) ) ( ~toins=Array.fill(16,12.rand)-12; ~toinsR=Array.rand(16,0,32); ~toins2=Array.fill(16,12.rand); ~toins2R=Array.rand(16,0,32) ) ( ~toinsSize=rrand(2,16); ~toins=Array.series(~toinsSize,rrand(-12,12),rrand(1,3))-12; ~toinsR=(0..~toinsSize); ~toins2Size=rrand(2,16); ~toins2=Array.series(~toins2Size,rrand(-12,12),rrand(1,3))-12; ~toins2R=(0..~toinsSize); ) ~factorDur=40 ~factorDur=1  ~fund=2000 ~fund=100 ~fund=400  ~factorWait=1; ~factorWait=2; ~factorWait=3 ~factorWait=~waitSeq.next  ~ampYupi=0.75325; ~ampYupi2=0.75325; ~ampYupiLlama=0.75325; ~ampYupiTamboraPalo=0.75325;  ~ampYupiTamboraParche=0.75325; ( ~ampYupi=0; ~ampYupi2=0; ~ampYupiLlama=0; ~ampYupiTamboraPalo=0;  ~ampYupiTamboraParche=0; ) ~arrayllama=[2,4,6] ~arrayllama=[0,3,6] ~arrayllama=[2,6]  ~tamboraParche=[14]; ~tamboraParche=[0,2,4,6,8,10,11,13,14]; ~tamboraParche=[8,11,14]; ~tamboraParche=[9,12,14];  ( Tdef(\yupi).stop; Tdef(\yupi2).stop; Tdef(\yupillama).stop; Tdef(\yupiTamboraPalo).stop; Tdef(\yupiTamboraParche).stop; ) */       ( ~arrayllama=[2,6]; ~tamboraParche=[14]; ( ~toins=Array.rand(16,0,12)-12; ~toinsR=Array.rand(16,0,32);  ~toins2=Array.rand(16,0,12); ~toins2R=Array.rand(16,0,32) ); ~factorWait=1; ~waitSeq=Pseq(Array.series(11,2,-0.1),inf).asStream;  ~ampYupi=0.5325; ~ampYupi2=0.5325; ~ampYupiLlama=0.5325; ~ampYupiTamboraPalo=0.5325;  ~ampYupiTamboraParche=0.75325; ~fund=100; ~factorDur=1; ( SynthDef(\toin , {|freq=1000, dur=1, width=0.5, amp=1, pan-0|           var sig, env;           sig=Pulse.ar(XLine.kr(freq*2,freq),width,amp);           sig=Pan2.ar(sig, pan);           env=EnvGen.kr(Env.perc(0.01,dur),doneAction:2);           Out.ar(0,sig*env);         }).send(s) );  ( SynthDef(\toin2 , {|freq=1000, dur=1, width=0.5, amp=1, pan-0|           var sig, env;           sig=Pulse.ar(XLine.kr(freq*2,freq),width,amp).wrap2(LFNoise1.kr(10,0.24,0.75));           sig=Pan2.ar(sig, pan);           env=EnvGen.kr(Env.perc(0.01,dur),doneAction:2);           Out.ar(0,sig*env);         }).send(s) );  /*         Synth(\toin, [\dur, 0.2]) */  ( ~toins=Array.rand(16,0,12); ~toinsR=Array.rand(16,0,32);  ~toins2=Array.rand(16,0,12); ~toins2R=Array.rand(16,0,32) );  ~tambora=[0,2,3,4,6,7,8,10,11];  ~tamboraParche=[14];  ~fund=400; ~factorDur=1; ~factorWait=1;  ~ampYupi=1; ~ampYupi2=1; ~ampYupiLlama=1; ~ampYupiTamboraPalo=1; ~ampYupiTamboraParche=1;  ( ( Tdef(\yupi, {var contador=0;         inf.do{|i|                           if(~toinsR.find([contador%(~toinsR.size)])!=nil,{Synth(\toin, [\freq, ~toins[i%~toins.size].midiratio*~fund, \dur, [0.2, 1.2].wchoose([0.9,0.1])*~factorDur, \amp, 0.35*~ampYupi, \pan, 0.5])});                          contador=contador+1;             (0.105*~factorWait).wait;             }         }).quant_(0); ); ( Tdef(\yupi2, {var contador=0;         inf.do{|i|                           if(~toins2R.find([contador%(~toins2R.size)])!=nil,{Synth(\toin, [\freq, ~toins2[i%~toins2.size].midiratio*~fund, \dur, [0.2, 1.2].wchoose([0.9,0.1])*~factorDur, \amp, 0.35*~ampYupi2, \pan, -0.5])});                          contador=contador+1;             (0.105*~factorWait).wait;             }         }).quant_(0); );  ~arrayllama=[2,6];  ( Tdef(\yupillama, {var contador=0;         inf.do{|i|                            if(~arrayllama.find([contador%8])!=nil,{Synth(\toin, [\freq, 150, \dur, 0.4*~factorDur, \amp, 0.5*~ampYupiLlama])});             contador=contador+1;             (0.105*~factorWait).wait;             }         }).quant_(0); );  ~tambora=[0,2,3,4,6,7,8,10,11,13];  ( Tdef(\yupiTamboraPalo, {var contador=0;         inf.do{|i|                            if(~tambora.find([contador%16])!=nil,{Synth(\toin2, [\freq, 350, \dur, 0.04*~factorDur, \amp, 0.5*~ampYupiTamboraPalo])});             contador=contador+1;             (0.105*~factorWait).wait;             }         }).quant_(0); );  ( Tdef(\yupiTamboraParche, {var contador=0;         inf.do{|i|                            if(~tamboraParche.find([contador%16])!=nil,{Synth(\toin, [\freq, 50, \dur, 0.5*~factorDur, \amp, 0.5*~ampYupiTamboraParche])});             contador=contador+1;             (0.105*~factorWait).wait;             }         }).quant_(0); ); );  ~esePlackard=NetAddr("192.168.0.105", 57120); ~jaimePlackard=NetAddr("192.168.0.119", 57120); ~titoPlackard=NetAddr("127.0.0.1", 57120); ); ~esePlackard.sendMsg('/s', 13); ~jaimePlackard.sendMsg('/jaime', "claro que si"); ~titoPlackard.sendMsg('/tito', 13);  ~yo=OSCresponder(nil, "/tito", {|a,b,c| [a,b,c].postln}).add; ~yo.remove;  l=OSCresponder(nil, "/tito", {|a,b,c| [a,b,c].postln}).add; /* p=ArduinoSMS("/dev/ttyUSB0",9600) p.clear ( var     in0Actual, in1Actual, in2Actual, in3Actual,      in0Anterior, in1Anterior, in2Anterior, in3Anterior,     in4Actual, in5Actual, in6Actual, in7Actual,      in4Anterior, in5Anterior, in6Anterior, in7Anterior,     b1Suma=0,b2Suma=0,b3Suma=0,b4Suma=0,     b1, b2, b3, b4, p1, p2, p3, p4;   p.action={|...msg|              //msg.postln;             b1=msg[0]; b2=msg[2]; b3=msg[1]; b4=msg[3];               p1=msg[4]; p2=msg[5]; p3=msg[7]; p4=msg[6];      in0Anterior=b1;in1Anterior=b2;in2Anterior=b3;in3Anterior=b4;     in4Anterior=p1;in5Anterior=p2;in6Anterior=p3;in7Anterior=p4;      if(in0Actual!=in0Anterior, {b1Suma=b1Suma+1;                 if((b1Suma%4).postln==3, {~ampYupi=0.325;},{~ampYupi=0})                     });      if(in1Actual!=in1Anterior, {b2Suma=b2Suma+1;                 if((b2Suma%4).postln==3, {~ampYupi2=0.325}, {~ampYupi2=0;})});      if(in2Actual!=in2Anterior, {b3Suma=b3Suma+1;                 if((b3Suma%4).postln==3, {~ampYupiLlama=0.325;}, {~ampYupiLlama=0;})});      if(in3Actual!=in3Anterior, {b4Suma=b4Suma+1;                 if((b4Suma%4).postln==3, {~ampYupiTamboraPalo=0.325; ~ampYupiTamboraParche=0.325;},                               {~ampYupiTamboraPalo=0; ~ampYupiTamboraParche=0;})});        if(in4Actual!=in4Anterior, {if(p1<=100,{},{~toins=Array.rand(16,0,12)-12;~toinsR=Array.rand(16,0,32);})});     if(in5Actual!=in5Anterior, {if(p2<=100,{},{~toins2=Array.rand(16,0,12)-12;~toins2R=Array.rand(16,0,32);})});     if(in6Actual!=in6Anterior, {if(p3<=100,{~arrayLlama=[2,6]},{~arrayllama=[[2,4,6],[0,3,6],[2,6]].choose})});     if(in7Actual!=in7Anterior, {if(p4<=100,{~tamboraParche=[[14],[13,14]].choose},{~tamboraParche=[[14],[0,2,4,6,8,10,11,13,14],[8,11,14],[9,12,14],[13,14]].choose})});      in0Actual=in0Anterior;in1Actual=in1Anterior;in2Actual=in2Anterior;in3Actual=in3Anterior;     in4Actual=in4Anterior;in5Actual=in5Anterior;in6Actual=in4Anterior;in7Actual=in5Anterior;      } ) */