You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
bmSClib/DSP/samplers/granular_looper.scd

36 lines
699 B

(
name: 'granular_looper',
func: {
| buf |
var frames = BufFrames.kr(buf);
var tFreq = \trgFreq.kr(100);
var trg = Impulse.ar(tFreq);
var overlap = \overlap.kr(2);
var resetPos = \resetPos.kr(0);
var resetTrig = Changed.kr(resetPos, 1);
var pos = Phasor.ar(
trig: resetTrig,
rate: BufRateScale.kr(buf) * \direction.kr(1),
start: \start.kr(0),
end: \end.kr(1.0) * frames,
resetPos: resetPos
);
GrainBuf.ar(
numChannels:2,
trigger: trg,
dur: overlap / tFreq,
sndbuf: buf,
rate: BufRateScale.kr(buf) * \rate.kr(1),
pos: pos / frames,
interp: 2,
pan: \pan.kr(0),
envbufnum: -1,
);
},
limitDuration: true,
specs:(
rate: [-10,0, 10.0],
pan: [-1.0, 1.0]
)
)