Thanks, Frank, for mentioning it again and confirming that it works. I'll definitely check this one out.
Also many thanks to Mike who provided the patch.
Roman
On Fri, 2010-04-16 at 20:19 +0200, Frank Barknecht wrote:
On Fri, Apr 16, 2010 at 01:37:37PM +0200, Roman Haefeli wrote:
To sum it up, in most cases exact timing can be achieved, but the exact timing for the phase reset is _really_ missing (and is actually essential).
Well, Mike's version for a clock-accurate phasor~ clone actually is pretty good and indeed working. And it's very simple and elegant as well.
You start with making a phaseshifted phasor~ by sending the phasor~ through a [wrap~] as is used a lot in Miller's book and the docs when building synced phasor signals for granular synthesis or windowed sample playing.
If you add some value to the phasor~ signal, the wrap~-phasor will just be phaseshifted by that value. So adding 0.5 to the phasor~ will give you a phasor~ in the end that is 0.5 out of phase from the original.
Mike's trick then is to take a snapshot~ of the original phasor at the moment of the desired phase resetting. If you substract that value from the original phasor, you get a phasor~ shifted up or down just by the value it had when the phase was last reset.
Now you can add in the desired phase value again to get a wrap-phasor that is out of sync to the original phasor in exactly the desired fashion.
Ciao