The Phantom of the Opera





"Non bisogna credere che sia semplicemente un uomo che si sia voluto divertire ad abitare sotto la terra. Fa delle cose che nessun altro uomo sarebbe capace di fare; sa delle cose che i vivi ignorano."

(
~root = -13;
~reverbSend = Bus.audio(s, 2);
)
(
s.waitForBoot(
    {

        SynthDef(\dissonant, {
            |
            freq=713,
            dur=5, pos=0,
            amp=0.75,
            out=0
            |
            var sig, env, saw;
            env = EnvGen.ar(Env.perc(0.1, 3, 1, -4), doneAction:2);
            saw=Saw.ar(Select.kr(Stepper.kr(Impulse.kr(7,0.1),0,0,7,1),[72,63,67,72,55,62,63,60].midicps),0.1);
            sig = saw;
            sig = LPF.ar(sig, freq*13 );
            sig = (sig * env * amp);
            sig = Mix.new([sig*0.7, Dust.ar(freq)*0.002*env, LFSaw.ar(freq, mul: 0.001)]);
            Out.ar(out, Pan2.ar(sig, pos));
        }).add;

        s.sync;

        SynthDef(\reverb, {
            arg in=0, out=0, mix=1, room=1.8;
            var sig;
            sig = In.ar(in, 2);
            sig = FreeVerb.ar(sig, mix, room);
            Out.ar(out, sig);
        }).add;

        s.sync;

        ~reverb = Synth(\rev, [\in, ~reverbSend]);



w = Pbind(\instrument,\dissonant,
    \scale, #[0, 2, 3, 5, 7, 8, 10],
    \root,  Pfunc({~root}),
    \degree, Pseries(0, Prand(#[1, 2, 3], inf), inf).fold(-11, 11),
    \dur, 0.25
).asEventStreamPlayer;

w.play;


        wait(7);
        r = Routine({
            "starting".postln;
            loop({
                ~root = [2, 7, 1, 3].choose;
                wait( 10.rrand(17) );
            });
        });
        r.play;
});
)

Leave a Reply