I pulled your patch apart, and the clicks you hear are minute and instantaneous changes in the phasor ramp, which manifest themselves as rapid pitch shifts between changes in the location value. This is the expected behaviour when driving a play~ object with a phasor~ ramp. So. The solution (as I see it) is to 'store' the changing value in a sample and hold (sah~), and pass the values at the end of the phasor~ ramp. This may well be a method you're familiar with? It does mean, however, that your location value will not update until the end of the current ramp - this may not be rapid enough for you :(
I also took the liberty of replacing trapezoid~ with a curved window. I'm led to believe that angular windows can create unwanted artefacts when generating very small loops or grains of sound (Miranda, Computer Sound Design, Chapter 5).
I describe this very topic in my Granulation Synth tutorial; it builds on everything I've learned from the tutorials and this forum. Skip to video 3 for the details of synced overlapping windows.
thanks for the details; great stuff...
can i ask if it is possible to replace the constantly generating number at the top left of the patch to something like a bang type UI item? when initiated it would read through the entire cycle though, rather than constantly generate the signal?
very cool; thanks for the response and post. i think my question was a bit poorly written.... this has to do with my lack of knowledge on this particular subject. i will play around with i what you have provided me with and go from there.
thanks again Brandon.
on another note, yet very-much-so related, i went through your fCast Appendix video on granular synth on youtube, and for some reason my patch wont initiate... i do; however, get an audible click every time i initiate the DAC if amplitude is way up. i believe this has to do with the sah~ object... it wont initiate or something.. would you mind taking a look at what i have and suggest any pointers? i would really like to get this one working polyphonic..
i have pasted here... any assistance would be very much appreciated:
There were a number of errors in your main patch: the key object doesn't get an argument ([key 32] is incorrect); use [pak] and not [pack] outside a [poly~]; you also have several different methods of initializing the [dac~] - pick one.
To get this to work, turn on the [dac~] before sending the (target 0, bang) message.