I also recommend trying the "experimental" --adaptive:N flag (for N = 128, 256, 512, etc.) for use on embedded platforms. This enables block processing (with block size N), which can result in a dramatic performance increase in some cases. It will cause problems though if you are using feedback loops without delay, or delays shorter than the buffer length N. 

spencer



On Thu, Jan 30, 2014 at 12:59 AM, Stuart McDonald <stuartcmcd@gmail.com> wrote:
For anyone heading pi-wards in future, I tried out Perry's advice and found dropping to 32khz as well as smarter resource management means I can run three concurrent SndBufs (with pans) and a three effect fx chain (including a mighty JCReverb!) simultaneously. It's modest, but enough for me to achieve the ambient driftyness I wanted. YMMV!

Cheers

Stuart


From: Perry Cook <prc@CS.Princeton.EDU>
Thoughts from the battlefield:

One nice thing about the Pi is that it supports many
sample rates.  So if you can run at 22.05k or even
16k or less, then you'll get much more bang for
your buck.

Also, you might look into using WvIn (non looping)
or WavLoop (looping), rather than SndBuf, because
I think I remember that these are slightly more
efficient.

Look into using some long delay lines (non-interpolating),
with feedback.  These can really fatten up a texture without
requiring much CPU.

Also be judicious about your efx, some will take more
CPU than others.

Finally, if a wave is not playing sound, unchuck it at the
end of the chain, and it won't use any CPU while muted.
Keeping track of what's actually sounding, and muting
the rest (by unchuck) can really help.

Prc

_______________________________________________
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users