sábado, 5 de febrero de 2011

ProxySpace

... y para el primer Post de este blog...

Esta es una sesión de  ProxySpace.push(s) simple pero con resultados muy variados y ricos en armónicos, se trata de dos funciones y dos Tdef. Uno de ellos  a través de un if,  iguala la selección de un Array, creando una mezcla de las funciones de manera automática.
Lo
demás queda en modular los diferentes parámetros de las funciones para obtener distintos resultados sonoros(una opción seria dentro de estos u otros Tdef), con cuidado de no disparar de mas alguno de los parámetros; Una de las razones por la cual se uso parámetros de amplitud muy bajos.
/////ejemplo sonoro: track: cKrstlamb

:::click:descarga el audio:::
////escrito sobre gedit, ubuntu 10.04
/////////////////////////////codigo://////////////////////
s.boot
s.scope
FreqScope.new
/////
p=ProxySpace.push(s)
ProxyMixer.new(p)//muestra la mixer de los eventos del proxyspace
//p.free
p.fadeTime=4
////////

~out.play
(
(
~sint={
FreeVerb.ar(
FreeVerb.ar(
    HPF.ar(
        Pulse.ar(Demand.kr(Impulse.kr(Line.kr(1,0.5,0.5)),0,Drand([61,66,70,73,75,78,82,85,90].midicps/2,inf))
            ,-0.25,0.15)+
            Saw.ar(Demand.kr(Impulse.kr(Line.kr(1,0.25,0.5)),0,Drand([61,66,70,75,82,85].midicps,inf))
            ,0.3,0.15)
    ,/*MouseY.kr(45,10000).poll*/85,0.15)   
,0.75,1,0.05,0.5)
,1,0.9,1,0.5)
});
(
~sint1={|ffrec=620|
CombC.ar(
    LPF.ar(
        Saw.ar(Demand.kr(Impulse.kr(Line.kr(1,2,0.5)),0,Dseq([61,66,70,73,75,78,82,85].midicps/1.3,inf))
            ,0.1,0.1)+
            SinOsc.ar(Demand.kr(Impulse.kr(Line.kr(1,1.5,0.5)),0,Drand([61,66,70,73,75,78,82,85].midicps,inf))
            ,0,0.1)
    ,/*MouseX.kr(45,10000).poll*/ffrec,0.5)
,0.5,0.5,15,0.12)}
);
(
Tdef(\sec,{
    inf.do{
        ~sint1.set(\ffrec,[220,360,640,980].choose.postln);
        0.5.wait;
}
}
)
);
//combinador
(//combina las funciones cada 2 seg
Tdef(\comb,{
    inf.do{
       var res;       
        res=[1,2,3,4,5,6,7,8,9,10].choose.postln;
            if(res >= 5,{~out=~sint},{~out=~sint1});
    2.wait;
}}
)
);
)
Tdef(\sec).play//filtro del sint1
Tdef(\comb).play//combina las funciones
Tdef(\sec).stop
Tdef(\comb).stop//hay q apagar este tdef para usar otras igualaciones de ~out

~out=~sint+~sint1
~out=~sint
~out=~sint1
~out=0

No hay comentarios:

Publicar un comentario