Hello,
What is the best way to feed 100 buffers with 3 minutes long tracks, and then to be able to control a single cue point that moves (and play) randomly from tracks to tracks at an extremely fast speed… A kind of a granular sampler that would be fed with thoses 100 tracks…I know Tgrains, but I don’t know what would be the best strategy with this amount of sources. (And by the way in term of buffer capacity is it possible?)
Thanks a lot.
This is a quite vague question, but …
… the amount of sources doesn’t make any difference. A control signal for the bufnum arg can move through all the buffers rapidly. However a grain from a different buffer would only be taken with a new trigger. You could also take a demand rate ugen as buffer input. Also in this case it doesn’t make a difference if you have 2 or 1000 buffers (s.options.numBuffers defaults to 1024, 100 buffers with 3 min length should be no problem, just checked with 300 of length 1 min).
b = [
Buffer.read(s, Platform.resourceDir +/+ "sounds/a11wlk01.wav"),
Buffer.read(s, Platform.resourceDir +/+ "sounds/a11wlk01-44_1.aiff")
];
// bufnums
a = b.collect { |x| x.bufnum }
(
{
var trate, dur, rate;
trate = 3;
dur = 1 / trate;
rate = 1;
TGrains.ar(
2,
Impulse.ar(trate),
Dseq(a, inf),
rate,
1, // centerPos
dur,
Dseq([-1, 1], inf),
0.1,
2
);
}.scope;
)
Perfect, it works. thank you.