33 lines
788 B
Plaintext
33 lines
788 B
Plaintext
/* Ambient-friendly modulable buffer granulator */
|
|
SynthDef(\grainoo, { |buf, gate=1|
|
|
var sig, env, trig, pos, rate;
|
|
|
|
// nonzero attack
|
|
env = EnvGen.ar(Env.asr(\attack.kr(0.05), 1.0, \release.kr(3.0)), gate, doneAction: 2);
|
|
|
|
trig = Impulse.kr(\trig_rate.kr(18));
|
|
|
|
// Smooth discontinuous control changes
|
|
pos = Lag.kr(\gpos.kr(0.2), \posLag.kr(0.25));
|
|
rate = Lag.kr(\rate.kr(1.0), \rateLag.kr(0.25));
|
|
|
|
sig = GrainBuf.ar(
|
|
numChannels: 2,
|
|
trigger: trig,
|
|
dur: \gdur.kr(0.18),
|
|
sndbuf: buf,
|
|
rate: rate,
|
|
pos: pos,
|
|
pan: \gpan.kr(0)
|
|
);
|
|
|
|
sig = BLowPass4.ar(sig, \ff.kr(3800), \rq.kr(0.9));
|
|
sig = LPF.ar(sig, \aircut.kr(6500));
|
|
sig = HPF.ar(sig, 25);
|
|
sig = LeakDC.ar(sig);
|
|
|
|
sig = sig * env * \amp.kr(0.2);
|
|
sig = Limiter.ar(sig, 0.98);
|
|
|
|
Out.ar(\out.kr(0), sig);
|
|
}).add; |