Hi Frank,
On Sat, 2007-12-08 at 14:24 +0100, Frank Barknecht wrote:
Hallo, Jamie Bullock hat gesagt: // Jamie Bullock wrote:
Has anyone implemented 'phasor time scaling' as an abstraction (or external)? I know it is relatively easy scale a phasor where the frequency of the scaled phasor is an integer multiple of the master phasor:
[phasor~] | [*~ 2] | [wrap~]
...but what about non-integer multiples, and fractional scaling?
A full phasor~ whose frequency is a non-integer multiple of the freq of another phasor~ will not start again at zero everytime, when the first phasor~ starts at zero. For example a phasor with 1.5 times the frequency of the first phasor~ would be in sync only every 3 cycles. So you cannot sync the second phasor with the first phasor on *every* jump of the first phasor with wrap~ ... without keeping track of where the second phasor is.
Sure. I think you might have misunderstood the question. What I am asking relates to two things:
i) If you use the above technique to generate a phasor that has a frequency that is a non-integer multiple (e.g. 1.5) of the 'master' phasor, then you don't get a full phasor. For the 'scaled' phasor, every other peak will have an amplitude that is proportional to the size of the fractional part of the right operand of the multiplication (see attached).
ii) For 'scaled' phasors where the multiplier is less than 1, the result is simply an amplitude scaling (also see attached).
I guess all this is fairly obvious stuff, but my question is, how does one achieve proper non-integer rate scaling? The [rate~] object in Max/MSP does this so I know it is possible! I don't mind coding up and external for this if it can't be done in Pd, but I don't know what the algorithm for such an operation would be...
What you could do instead is calculate wrapped phasors from a very slow phasor like [phasor~ 1] as a base. All phasors derived from that will sync once every second.
What difference does it make how fast or slow the master phasor is? Surely it's only the ratio between the phasor rates we're interested in.
Jamie