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.
36 lines
699 B
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]
|
|
)
|
|
) |