I am attempting to use a phasor~ linked to a threshold~ unit to generate high frequency bangs to then trigger a reasonably complex sample playback mechanism, attempting to mimic granular synthesis. The problem is that when i bring the phasor frequency up into the range of audible pitch, say above 100hz, i can hear a low frequency cyclical shift in the sound texture, which theoretically should be completely even.
Seems like just using metro for triggering would accomplish the same thing.
I believe that control messages can only be processed on vector endpoints - i.e. the finest possible resolution is about 1.4 milliseconds with a 64-sample dsp vector... someone please correct me if I am wrong.
This means that the theoretical maximum rate of reliable triggering is ~689 events per second -- although jitter will probably arise at significantly slower speeds... in fact you are guarenteed to have jitter if the frequency of triggering is not an integer submultiple of the vector-processing speed.
However this is not to be confused with the behavior of the clock when using delays, qlists, metros, etc - where you can schedule events to the millisecond at 64-bit floating point accuracy--- see the pd documentation for the details on this.
For granular synthesis try using the output of phasor~ directly to control the playback operation.. i.e. use phasor~ to drive tabread~. Then convert all parameters to signals and use samphold~ to achieve sample-accurate control.... all in the signal domain. I believe that this method will be less computationally expensive also.
Since phasor~ cannot take signal input for phase I've considered using sample-delays to implement accurate phase shifts for very small grain windowns (untested theory). The other options are to do tricky stuff with the block size and overlap or use some completely different method like convolution (also untested ideas for me).
andy