lunes, 4 de julio de 2011

hackpact dia #3

codigo reBlogeado de http://hackpact.laad.com.mx #hackPactMx jul 01 -- jul 31 2011

//ejemplo sonoro: track: hp-03jul11

:::click:descarga el audio:::
////escrito en Gedit sobre PureDyne 9.11
/////////////codigo:////////////////
////hackpact mx #03jul11
s.boot;
s.scope;
s.meter;
/////
(//<------evalua todo de una vez*****
TempoClock.default.tempo=58/60;
(///timbres
(
SynthDef(\bass,{|out,gate=1,amp,nota|
    var vas,env;
        vas=GVerb.ar(RLPF.ar((SinOsc.ar(nota.midicps,mul:0.75)+
                  Pulse.ar(2+nota.cpsmidi,mul:0.45))*
                  SinOsc.ar(nota.midicps)*
                      Pulse.ar(2+nota.cpsmidi),
                 Line.kr(12000,40,0.4),0.25),
            7,1,0.01);
        env=EnvGen.ar(Env.asr(0.05,1,0.1),gate,doneAction:2);
    Out.ar(out,Pan2.ar(vas*env,[1,-1])*amp);
}).add
);
(
SynthDef(\bombo,{|out,gate=1,amp|
    var kick,env;
        kick=SinOsc.ar(60)+Saw.ar(Pulse.ar(2,0.3,60,75));
        env=EnvGen.ar(Env.perc(0.01,0.3),gate,doneAction:2);
    Out.ar(out,Pan2.ar(kick*env,[0.95,-1])*amp);
}).add
);
(
SynthDef(\tarola,{|out,gate=1,amp,deltime|
    var tar,env;
        tar=BPF.ar(Saw.ar([440,880,1600,3200],mul:0.5)+WhiteNoise.ar(0.85),2040,0.75);
        tar=CombC.ar(tar,0.5,deltime,0.5);
        env=EnvGen.ar(Env.perc(0.01,0.25),gate,doneAction:2);
    Out.ar(out,Pan2.ar(tar*env,[0.75,-0.75])*amp);
}).add
);
(
SynthDef(\hhts,{|out,gate=1,amp|
    var hats,env;
        hats=RHPF.ar(WhiteNoise.ar(0.25),2000,0.25);
        hats=CombC.ar(hats,0.5,0.02,4);
        env=EnvGen.ar(Env.perc(0.025,0.05),gate,doneAction:2);
    Out.ar(out,Pan2.ar(hats*env,[1,-1])*amp);
}).add
);
);
(////////secuencias
(
Pdef(\bassec,(
    Pbind(\instrument, \bass,
        \dur, Pxrand([Pseq([0.25,0.25,0.5,0.75,0.25],1),   
                Pseq([0.5,0.5,0.25,0.75],1),
                      Pseq([0.75,0.25,1],1),
                          Pseq([0.75,0.5,0.25,0.5],1)],inf),
        \nota, Prand([61,66,70,73,78]-24,inf),
        \amp, Pseq([0.25,0],inf),
        \out, 0
)
))
);
(
Pdef(\bombsec,(
    Pbind(\instrument, \bombo,
        \dur, Pxrand([Pseq([0.25,0.25,0.5,0.75,0.25],1),   
                Pseq([0.5,0.5,0.25,0.75],1),
                      Pseq([0.75,0.25,1],1),
                          Pseq([0.75,0.5,0.25,0.5],1)],inf),
        \amp, Pseq([0.65,0],inf),
        \out, 0
)
))
);
(
Pdef(\tarsec,(
    Pbind(\instrument, \tarola,
        \dur, Pseq([Pseq([0.5,0.5,0.75,0.25],2),   
                Pseq([0.5,0.5,0.5,0.125,0.125,0.25],2),
                      Pseq([0.5,0.5,0.5,0.5],2),
                          Pseq([0.5,0.5,0.5,0.125,0.125,0.125,0.125],2)],inf),
        \amp, Pseq([0,0.75],inf),
        \deltime, Pwrand([0,0.02,0.04,0.05,0.075,0.08,0.01],[0.3,0.17,0.19,0.05,0.03,0.01,0.15],inf),
        \out, 0
)
))
);
(
Pdef(\hatsec,(
    Pbind(\instrument, \hhts,
        \dur, Pseq([Pseq([0.125,0.125,0.25,0.25,0.25],4),   
                Pseq([0.5,0.25,0.25,0.125,0.125,0.25,0.5],4),
                      Pseq([0.5,0.125,0.5,0.125,0.25,0.25],4),
                          Pseq([0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125],1)],inf),
        \amp, 0.25,
        \out, 0
)
))
);
);
);
/////controles
(//todos a la vez
Pdef(\bassec).play;
Pdef(\bombsec).play;
Pdef(\tarsec).play;
Pdef(\hatsec).play;
);
Pdef(\bassec).stop;
Pdef(\bombsec).stop;
Pdef(\tarsec).stop;
Pdef(\hatsec).stop;
///
s.record
s.stopRecording

No hay comentarios:

Publicar un comentario