1
0
Fork 0
SuperCollider-Workspace/2016-12-12_Prout_interval_r...

33 lines
764 B
Plaintext

(
SynthDef(\param, { arg freq = 100, sustain, amp;
var sig;
sig = LFPar.ar(freq: freq,
mul: EnvGen.kr(Env.perc(0, sustain, 0.5), doneAction:2) * amp);
sig = Splay.ar(sig);
Out.ar(0, sig);
}).add;
e = Pbind(
\midinote, Prout({
var tone0, tone1, tone2, interval, freq0, delta;
loop {
tone0 = rrand(0,11);
interval = rrand(2,4);
tone1 = Scale.minor(\pythagorean).at(tone0) + [0,12,24].choose + 0.07;
tone2 = Scale.minor(\pythagorean).at(tone0 + interval) + [0,12,24].choose;
freq0 = [tone1,tone2]+48;
postln(freq0);
freq0.yield;
}
}),
\dur, Prand([1,2,4,8,12,16,4,6,8], inf),
\instrument, \param,
\amp, 0.5,
\sustain, 2,
).play(quant:1); // returns an EventStream
TempoClock.default.tempo = 1200/60;
)
e.stop;