hablando de pieses fúnebres
_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 ( ~seq=Pseq([42, 49, 40, 56, 38+12, 54, 36+12, 44,44,36+12].midicps/2,inf).asStream; ~wait=Pseq([1,2,2,3,1]/2,inf).asStream );  ( Tdef(\seq).play; Tdef(\oboe).play; Tdef(\oboe2).play     )  ( Tdef(\seq).stop; Tdef(\oboe).stop;             Tdef(\oboe2).stop; ~aja1=Synth(\oboe, [\freq, [36, 40, 56].midicps.choose*[16,8].choose, \dur, 18]); // añadir comportamiento morse ~aja2=Synth(\oboe, [\freq, [36, 40, 56].midicps.choose*[16,8].choose, \dur, 18]); )   ( ~aja1.set(\morse, 0); ~aja2.set(\morse, 0) )  ( ~aja1.set(\freq, [36, 40, 56].midicps.choose*[16,8].choose); ~aja2.set(\freq, [36, 40, 56].midicps.choose*[16,8].choose); ~aja1.set(\morse, 1); ~aja2.set(\morse, 1) ) */  ( ( ( SynthDef(\puto_el_que_lo_lea, {|freq=100, amp=1, dur=0.1|                             var sig, env;                             sig=SinOsc.ar((1..10)*freq,0,amp).mean;                             env=EnvGen.kr(Env([0,1,1,0],[0.01,dur,0]));                             sig=FreeVerb.ar(sig*env, 0.695,0.879)!2;                             DetectSilence.ar(sig,doneAction:2);                             Out.ar(0,sig*2);                             }).send(s); ); /* Synth(\puto_el_que_lo_lea, [\dur, 10])  */ ( SynthDef(\oboe, {|freq=369.992, dur=3, amp=0.5, morse=1|                var sig, env, sig1, sig2;                sig1=Formant.ar(freq, freq*2,mul:amp/4);                sig2=Formant.ar(freq, freq*2,mul:amp/4)*Demand.kr(Dust.kr(10),0,Dseq([0,1],inf));                env=EnvGen.kr(Env([0,1,1,0],[0.2,0.6,0.2]*dur));                sig=if(morse, sig1, sig2);                sig=FreeVerb.ar(sig*env,0.5,0.75);                DetectSilence.ar(sig,doneAction:2);                Out.ar(0,sig)                }).send(s); ) /* ~aja=Synth(\oboe, [\dur, 20])  */ );  /*     F#   C#        E  Ab    A  F#    C  Ab [[42,  49],    [40,56], [45,54], [36,44]] */  //F#  A   C#    C   E   Ab ~acordesNot=[[42, 45, 49], [36, 40, 56]];  ( ( ~seq=Pseq([42, 49, 40, 56, 38+12, 54, 36+12, 44,44,36+12].midicps/2,inf).asStream; ~wait=Pseq([1,2,2,3,1]/2,inf).asStream ); ( Tdef(\seq, {             inf.do{                   //b[2].sendMsg("/s_new", \puto_el_que_lo_lea, -1, 0,0, \freq, ~seq.next);                   Synth(\puto_el_que_lo_lea, [\freq, ~seq.next]);                       ~wait.next.wait;                   }         }).quant_(0) ); ~seqOboe=Pseq([2,1, 1/2,1/4,1/4,2,1,1/4,1/4,1/2,1].scramble,inf).asStream; ~seqOboe2=Pseq([2,1, 1/2,1/4,1/4,2,1,1/4,1/4,1/2,1].scramble,inf).asStream; ( Tdef(\oboe, {var dur, suma=0, index=0;                 inf.do{                                        dur=~seqOboe.next;                   suma=suma+dur;                   (suma%9).postln;                   if(suma%9==0, {index=(index+1)%2});                   Synth(\oboe, [\freq, ~acordesNot[index.postln].choose.midicps*[2,4,8].choose, \dur, dur/2, \amp, [0,1].wchoose([0.2,0.8])]);                   (dur/2).wait;                   }         }).quant_(0); ); ( Tdef(\oboe2, {var dur, suma=0, index=0;                 inf.do{                                        dur=~seqOboe2.next;                   suma=suma+dur;                   (suma%9).postln;                   if(suma%9==0, {index=(index+1)%2});                   Synth(\oboe, [\freq, ~acordesNot[index.postln].choose.midicps*[2,4,8].choose, \dur, dur/2, \amp, [0,1].wchoose([0.2,0.8])]);                   (dur/2).wait;                   }         }).quant_(0); ) ) )