mike;<br><br><span dir="ltr"></span><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;">What?! &nbsp;That&#39;s sweet! &nbsp;</blockquote>
<div><br>The .period( ) one? Yeah I like that one and I should as I wishlisted it it :¬). It&#39;s good for optimising stuff like this and for setting LFO speeds to match BPM and so on.<br>&nbsp;</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
What other methods are there in there undocumented? &nbsp;;-)</blockquote><br><br>Hmmm, is that undocumented? I think it was at least in the VERSIONS file, I think it is in other places too and I used it on the list before as well.<br>
<br>As for other undocumented features; there is a complete list of all undocumented features, libraries and UGens on the WiKi but I lost the URL when my bookmarks got lost in a HD format.<br></div>;¬)<br><br>Anyway, making the time-advancing of a controler loop a harmonic (or sub-harmonic) of the pitch is a great trick for good trades in CPU vs fidelity. As a extra bonus the artefacts of such operations should be hamonics as well so less objectionable then the less related artefacts caused by more or less random periods like 10::ms. This is of course without taking the quantizing effects of the sample-rate into account, at least rounding errors shouldn&#39;t carry like they will in some other systems where the control rate will be quantised as well and not just it&#39;s effects.<br>
<br>From your other post;<br><br>&gt; Here, you&#39;d have to pick something closer to the sample rate for gain-changes.<br><br>Yes, I think so. Of course we need to take the context into account when trying to optimise like this. Personally I&#39;d look into using one of the Gen UGens or some similar method to generate a envelope. You could also use a SndBuf to store a wave-table and use that as a arbitarily shaped envelope with a Gain used as a VCA. In that case, because of the memory usage of the buffers I&#39;d definitely re-cycle shreds using Events and signalling.<br>
<br>All of these have advantages and disadvantages; we *always* have to trade, I fear, but there are definitely interesting options open to you.<br><br>Yours,<br>Kas.<br>