Skip to content

Instantly share code, notes, and snippets.

@brapse
Created April 7, 2009 17:11
Show Gist options
  • Save brapse/91333 to your computer and use it in GitHub Desktop.
Save brapse/91333 to your computer and use it in GitHub Desktop.
(
SynthDef(\player, {|out=0,rate=1,bufNum, amp=1, noise=0.1, delay=3,dur=10|
var ctl,sig;
sig = BufRd.ar(1, bufNum,
Phasor.ar(0, BufRateScale.kr(bufNum)*rate, 0, BufFrames.kr(bufNum));
);
//sig= (WhiteNoise.kr(0.25) * (1+noise)) * sig;
sig = Mix.ar(Array.fill(4,{ CombL.ar(sig, 0.1, 0.2, delay) }));
sig = sig * EnvGen.ar(Env.perc, doneAction:2, timeScale: dur);
//ctl = HPF.kr(LFSaw.kr(5), SinOsc.kr(XLine.kr(0.07,30,20), 0, 35, 40)).scope;
Out.ar(out, sig );
}).send(s);
)
//some responder
(
~queue = List.new;
~running = 0;
~bandwidth = 5;
)
(
~player = Task({
inf.do({arg i;
if((~queue.size > 0),
{
f = ~queue.pop;
f.postln;
b = Buffer.read(s, f);
c = Synth(\player, [\bufNum, b,
\dur, [5, 10, 15, 20].choose,
\noise, [0.1, 0.4, 0.7].choose,
\delay, [0.1, 2, 3, 4].choose] );
"playing".postln;
}, {
"not playing".postln;
}
);
0.5.wait;
});
});
)
~player.start;
~player.stop;
(
n = NetAddr("127.0.0.1", 57120);
o = OSCresponderNode(nil, '/play_soundfile', { |t, r, msg|
("time:" + t).postln;
f = msg[1];
~queue.addFirst(f);
//b = Buffer.read(s, f);
//c = Synth(\player, [\bufNum, b]);
}).add;
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment