El ejemplo sonoro nos muestra ambientes eléctricos, pulsos erráticos y movimientos sutiles, en fin, sintesis de audio! :)
:::click:descarga el audio:::
![]() | |
GUI screenshot |
////escrito sobre SuperCollider en OSX
/////////////codigo:////////////////
(
SynthDef("sino2", { |freq, pan|
var signal, env;
signal = RHPF.ar(FSinOsc.ar(LFSaw.ar(freq,0, 1,10.2)*freq,0,0.1 ).distort*LFPulse.ar(SinOsc.kr(3),0,rrand(0.3,0.1),0.2), 0,0.125,0.75);
signal= DelayC.ar(signal*0.5, 0.068, 0.068, 0, signal);
signal= Pan2.ar(signal, pan);
env= EnvGen.kr(Env.perc(0.06, 0.3, 0.4, 15),doneAction: 2);
Out.ar(0,signal*env)}).send(s)
);
(
var rutina, ventana, boton, synth;
rutina = Routine({
loop({ s.sendMsg("/s_new","sino2", -1,0,1,
\freq, exprand(3100.0, 4400.0), \pan, 1.0.rand2);
rrand(0.25, 0.125).wait})});
ventana = SCWindow("sino", Rect(100, 100, 200, 200));
boton= SCButton(ventana, Rect(10, 10, 200,200));
boton.states=[["nah!", Color.white, Color(1.0, 0.6)], ["yea!", Color.yellow]];
boton.font= Font(\Arial, 100);
boton.action= {|estado| if(estado.value==1,{rutina.reset.play}, {rutina.stop})
};
ventana.front)
(
SynthDef("sino", { |freq, pan|
var signal, env;
signal = RHPF.ar(FSinOsc.ar(LFSaw.ar(freq,0, 1,10.2)*freq,0,0.06 ).distort(LFNoise2.kr(1))*LFPulse.ar(SinOsc.kr(30),0,rrand(0.3,0.1),Line.kr(0.91, 0.375,0.1)), 0,0.125,0.a25);
signal= DelayC.ar(signal*0.5, 0.068, 0.068, 0, signal);
signal= Pan2.ar(signal, pan)1
env= EnvGen.kr(Env.perc(0.16, 0.6, 0.54, 15),
doneAction: 2);
Out.ar(0,signal*env)}).send(s)
);
(
var rutina, ventana, boton, synth;
rutina = Routine({
loop({ s.sendMsg("/s_new","sino", -1,0,1,
\freq, exprand(4100.0, 5400.0), \pan, 1.0.rand2);
rrand(0.15, 0.25).wait})});
ventana = SCWindow("sino", Rect(100, 100, 200, 200));
boton= SCButton(ventana, Rect(10, 10, 200,200));
boton.states=[["nah!", Color.white, Color(1.0, 0.6)], ["yea!", Color.yellow]];
boton.font= Font(\Arial, 100);
boton.action= {|estado| if(estado.value==1,{rutina.reset.play}, {rutina.stop})
};
ventana.front)
//////////
s.record
s.stopRecording