Hi, [phasor~] ramps continuosly from 0 to 1. I would like to get a [0< message each time [phasor~] reaches its end, thus each time [phasor~] reaches 1. Seems easy but I got somehow stuck. Would be very easy if I would have to deal only with ordinary numbers, but in this case I have an audio signal... Any ideas?
Any help would be highly appreciated.
Marko
Hi Marko,
There's almost certainly no direct way to do this in Pd vanilla, although someone may have written an extern to do this.
My approach would be to use a "metro" to generate the messages, and "vline~" to generate the phasor from them. Of course this doesn't work if you have to sync to a phasor from somewhere else, only if you're generating it from scratch.
cheers Miller
On Fri, Dec 05, 2008 at 03:45:51PM +0100, Marko Timlin wrote:
Hi, [phasor~] ramps continuosly from 0 to 1. I would like to get a [0< message each time [phasor~] reaches its end, thus each time [phasor~] reaches 1. Seems easy but I got somehow stuck. Would be very easy if I would have to deal only with ordinary numbers, but in this case I have an audio signal... Any ideas?
Any help would be highly appreciated.
Marko
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Marko Timlin wrote:
Hi, [phasor~] ramps continuosly from 0 to 1. I would like to get a [0< message each time [phasor~] reaches its end, thus each time [phasor~] reaches 1. Seems easy but I got somehow stuck. Would be very easy if I would have to deal only with ordinary numbers, but in this case I have an audio signal... Any ideas?
If your message "0" is used only for controlling signals, you might be able to work entirely with signals only, using eg [samphold~].
Claude
yes, what exactly do you want to do with the [0 ( message?
if you can stay in the signal domain it would be best.
How about you compare the current value with the previous value?
ex.
[fexpr~ $x[0] < $x[-1] ]
The result is zero everywhere, except when the phasor~ resets itself. Then, you can use [threshold~ 0.5] to trigger a bang.
Chuck
On Fri, Dec 5, 2008 at 8:45 AM, Marko Timlin susi@timlin.de wrote:
Hi, [phasor~] ramps continuosly from 0 to 1. I would like to get a [0< message each time [phasor~] reaches its end, thus each time [phasor~] reaches 1. Seems easy but I got somehow stuck. Would be very easy if I would have to deal only with ordinary numbers, but in this case I have an audio signal... Any ideas?
Any help would be highly appreciated.
Marko
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Or with [rzero~ 1], you have a pd-vanilla way to calculate the current sample minus the previous sample, and use trigger~ as before.
On Fri, Dec 5, 2008 at 11:50 AM, Charles Henry czhenry@gmail.com wrote:
How about you compare the current value with the previous value?
ex.
[fexpr~ $x[0] < $x[-1] ]
The result is zero everywhere, except when the phasor~ resets itself. Then, you can use [threshold~ 0.5] to trigger a bang.
Chuck
Hallo, Charles Henry hat gesagt: // Charles Henry wrote:
How about you compare the current value with the previous value?
ex.
[fexpr~ $x[0] < $x[-1] ]
The result is zero everywhere, except when the phasor~ resets itself. Then, you can use [threshold~ 0.5] to trigger a bang.
[threshold~] will trigger a block too late. Actually everything (in Pd-vanilla) will trigger a block late because message and dsp calculation are handled in turn. If I understood everything right, that is.
Frank
have a look at [phasorshot~] (externals / tof - include in pd-extended with [import tof]). it does exactly what you want.
from the help file:
phasorshot~ is exactly like a phasor except that you can disabling it's looping, therefore making it a one shot lookup signal.
Of course line~ does something similar, but with phasorshot~ you can change the speed DURING the ramp.
pat