Byakhee





"Qui svolazzava ritmicamente un'orda addomesticata di ibridi esseri alati [...] non si trattava esattamente di corvi, né di talpe, né di poiane, né di formiche, e nemmeno di esseri umani decomposti, ma erano un qualcosa che non posso e non devo ricordare." H. P. Lovecraft, Il Festival

[esempio trovato su SuperCollider Code e rielaborato]

(
SynthDef("pulse",{ arg freq,delayTime,amp = 1.0,attack = 0.01;
        var out,out2,env;
        env = EnvGen.kr(Env.perc(attack, 1, 5, 10),doneAction: 2);
        z = SinOsc.ar(freq,0,0.7);
        a = Pan2.ar(ToggleFF.ar(TDelay.ar(z,delayTime)) * SinOsc.ar(freq),
                 SinOsc.kr(3,0), 0.6);
        out = Pan2.ar(z, SinOsc.kr(5,1.0pi),0.7 ) + a;
        out = out * env;
        out = out.clip2(1);

        Out.ar(0,FreeVerb.ar(out,0.7,1.0,0.4, amp));
}).send(s);
)
(


SynthDef("droneee", { arg freq = 440, amp = 1.0, outbus = 0, phase = 0;
        var out, env;
        env = EnvGen.kr(Env.sine(10),doneAction: 2);
        out = LFPulse.ar(freq , 0.15);
        out = RLPF.ar(out,SinOsc.kr(0.3, 0, 200, 1500), 0.1);
        out = FreeVerb.ar(out, 0.5, 0.5, 0.5) * env;
        out = Pan2.ar(out, SinOsc.kr(1/10, phase),amp);

    Out.ar(outbus, out);
}).send(s);)

(
SynthDef("bass",{
        arg freq,amp,outbus=0;
        var env,out;
        out = SinOsc.ar(freq,0,amp);
        env = EnvGen.kr(Env.perc(0.5,1,1,0),doneAction: 2);
        out = out*env;
        out = Pan2.ar(out,0);
        Out.ar(outbus,out);


}).send(s);

)
 (

p = Prand( [61,77, 37,63,67,71], inf).asStream;
q = Prand( [3,0.7,1.3,0.7], inf ).asStream;
e = Prand([37,73,71,77,81,88,90],inf).asStream;

t = Task({
                inf.do({

                if( 0.1.coin, {
                        Synth("pulse",
                             [\freq,e.value.midicps,
                              \amp,0.07.rand +0.2,
                              \attack,7.0.rand,
                                    \delayTime, 0.02;
                                    ]);
                   });


                Synth("droneee",
                       [\outBus,0,
                        \freq, p.value.midicps,
                        \amp, (0.02.rand2 + 0.05) * 0.7,
                        \phase,[0,1.5pi].wchoose([0.5,0.5]);
                        ]);
                q.value.wait;

                Synth("bass",[\freq,p.value.midicps,\amp,0.3]);

                    });
});

t.start;


)

Leave a Reply

Update cookies preferences