<div dir="ltr">Stephen; <div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><br>
</div>That&#39;s true for the audio buffer size, not 1 sample. &nbsp;Usually the time<br>
to calculate an audio buffer is less than the time than to play an<br>
audio buffer, which is what allows it to synthesize sound in real<br>
time.&nbsp; </blockquote><div><br>I agree. We need to keep in mind that all of the &quot;now&quot;, advancing time and concurrency syntax is just about the order in which things get executed by a single CPU. it&#39;s not some magical well of CPU power; it all depends on &quot;having steam to spare&quot;. What we are actually pretending to define, having operations that -themselves take no time at all, is impossible, the whole illusion depends on this buffer and indeed it&#39;s a very pleasant illusion.<br>

<br>In a way you could say that what we are after here is a method of dealing with the reality that&#39;s below this illusion, the reality of finite resources, in a way that&#39;s still syntactically coherent with the rest. I&#39;m not even sure this is possible because of factors like the fact that figuring out how much CPU time a certain operation takes also takes CPU time.<br>
<br>There is a conflict between how ChucK will never let go of&nbsp; &quot;now&quot; and how we&#39;d ideally prefer audio not to break up. When something has to give (like when we tell ChucK we instantly want to know ten million square roots) it&#39;s the audio that gives. It&#39;s possible to yield to other shreds, and if you do the shreds will take just what they need and give the CPU back, this is clearly different from advancing time. I suppose that what I&#39;m looking for is a way to yield to the Ugen graph,( which is the strongest link between ChucK&#39;s time and the stuff on my clock), give it the CPU to calculate what it needs to calculate (which may well be nothing right now), then give me the CPU back.<br>
<br>Maybe this is going too far; this structure would max out the CPU with some percentage for the Ugens and all of the rest (and no more) for our shred. That would mean that if the OS would like to do anything at all (and modern OS&#39;s do...) we&#39;re in unhealthy teritory. Perhaps we&#39;re simply fantasising about the impossible.<br>
<br>Yours,<br>Kas.<br>
</div></div></div>