29 lines
871 B
Plaintext
29 lines
871 B
Plaintext
|
(
|
||
|
SynthDef(\bgrain, { |out = 0, gate = 1, amp = 0, bufnum, gfreq=90, rate=0.5, amplag=5|
|
||
|
var snd, pan, env, freqdev;
|
||
|
amp = Lag.kr(amp, amplag);
|
||
|
pan = LFNoise1.kr(0.1).range(-1, 1) * LFNoise0.kr(gfreq).range(0.2,1);
|
||
|
env = EnvGen.kr(
|
||
|
Env([0, 1, 0], [1, 1], \sin, 1),
|
||
|
gate,
|
||
|
doneAction: Done.freeSelf);
|
||
|
|
||
|
snd = GrainBuf.ar(
|
||
|
numChannels:2,
|
||
|
trigger:Impulse.kr(LFNoise1.kr(gfreq).range(0.8,1) * gfreq),
|
||
|
dur: 0.2 * LFNoise0.kr(gfreq).range(1,1.2),
|
||
|
sndbuf: bufnum,
|
||
|
rate: [rate * LFNoise1.kr.range(0.99, 1), rate * LFNoise1.kr.range(0.99, 1)],
|
||
|
pos: LFNoise2.kr(0.05).range(0, 1) * LFNoise0.kr(gfreq).range(1,1.02),
|
||
|
//pos: LFTri.kr(0.25),
|
||
|
interp: 2,
|
||
|
pan: pan);
|
||
|
|
||
|
snd = RLPF.ar(snd, freq: LFNoise2.kr(0.1).exprange(400,10000));
|
||
|
snd = snd * LFTri.ar(0.073).range(0.1,1);
|
||
|
snd = snd * env * amp;
|
||
|
|
||
|
Out.ar(out, snd);
|
||
|
|
||
|
}).add;
|
||
|
);
|