Add generic granular sampler

This commit is contained in:
2024-05-15 17:29:26 +02:00
parent 39ed936b75
commit e62c7661b9
7 changed files with 177 additions and 10 deletions

View File

@ -25,10 +25,35 @@ d.list = { arg obj; obj.keys.do({arg i; i.postln}); };
d.player = z;
);
/*
* Granular Sampler
*/
(
z = SynthDef('grainSampler', {
arg out, buf;
var sound = GrainBuf.ar(
numChannels: buf.numChannels,
trigger: Impulse.kr(\grain.kr(4)),
dur: 1, sndbuf: buf,
rate: \rate.kr(4),
pos: \pos.kr(0.0),
interp: 2,
pan: \pan.kr(0.0),
envbufnum: \env.kr(-1),
);
sound = sound * Env.perc(
\attack.kr(0.1), \release.kr(0.5)
).kr(2);
sound = sound * \amp.kr(-6).dbamp;
OffsetOut.ar(out, sound);
}).add;
d.grainSampler = z;
);
/*
* Stereo variant
*/
(
z = SynthDef.new(\splayer, {
arg buf, out;