[PD] phasor time scaling

Jamie Bullock jamie at postlude.co.uk
Tue Dec 11 11:37:00 CET 2007

Hi Cyrille,

Thanks for the reply - very interesting!

On Sun, 2007-12-09 at 23:08 +0100, cyrille henry wrote:

> >> i think if the input can only be a phasor you can : 
> >> -differenciate the phasor (with a biquad: out(t) = in(t) - in(t-1) )
> >> -ignore negative value (with a test on a expr~ object by exemple)
> >> -multiply by scale factor
> >> -integrated this value (with a biquad: out(t) = in(t) + out(t-1) )
> >> -wrap the result
> > 
> > I tested this (attached) and it kind of works, but it doesn't seem to
> > be phase synced, so one could just as well use a second phasor~. Or
> > did I do something wrong?
> > 
> well, the max~ 0 is not the perfect way to remove negative value. it would be beter to replace the negative value with the previus value.

Are you saying that if one replaced the negative value with the previous
value, the phasors _would_ be phase synced? It would certainly be
possible to do this if I implemented it as an external.

> if you want exactly f1/f2 = 1.5, then you can use a lower frequency phasor and generated 2 phasor at 2f and 3f. so phasor 2 frequency / phasor 3 will be a 1.5.

In the short term, this 'low frequency master phasor' solution is the
one I will go for, but it would be nice to make a generic
phase-synchronous phasor rate scalor at some point. Maybe it isn't
possible, but I'm sure it is what Max/MSP's rate does.



More information about the Pd-list mailing list