Josh;

If there's nothing I can do about SndBuf's wasteful behavior is there a better/more ChucKian-approved way to prepare a bunch of independent audio buffers (hopefully >1024) for arbitrarily-timed concurrent playback?  Really hoping that the answer isn't that I need more cpu cycles on that core and/or that I'll need to distribute ChucK and set up some kind of sync mechanism :-/.  I have very similar performance results with WvIn btw.


It depends. If you actually want to play back over a thousand samples as the same time then there might be a problem... However it sounds a bit like you just want to have them all ready at any moment, and only play a selection of those samples at a time.

The most easy way to save CPU here is to instantiate the buffers and load the samples but not connect them to the dac. Without a dac connection they should not take cpu. You would then connect the buffer(s) you want to play when you need them and after you are done with a sample "unchuck" the corresponding buffer from the dac using "my_buf =< dac;".

This will save you a lot of CPU and the only cost will be in memory (aside of course from loading the samples initially, with that amount of samples that might still be a lengthy process).

Hope that helps,
Kas.