[PD] [PD-dev] Rewriting a unified phasor / metro object for reading tables

Ivica Bukvic ico at vt.edu
Fri Mar 7 02:25:57 CET 2014


There is also disis_phasor~ that does exactly what you mentioned (it is
available as a separate download as well as part of pd-l2ork). Namely, it
has 2 outlets with the right one firing a bang whenever ramp is complete.
This, however is only accurate to the nearest vector size (default 64
samples).
On Mar 5, 2014 3:27 AM, "Roman Haefeli" <reduzent at gmail.com> wrote:

> On Wed, 2013-05-08 at 22:00 +0100, Ed Kelly wrote:
> > Hi Lists(s),
> >
> >
> > I'm rewriting phasor~ and unifying it with metro so that a pulse is
> > generated from the boundaries of each ramp - so that bars of music can
> > be read using tabread~ objects with a sample-accurate metro.
> >
> >
> > I'm sure someone will say this can already be done,
>
> Yes!
>
> >  but it has to be dropped into the Ninja Jamm patch, so there isn't
> > really time to rewrite the rest of the patch.
>
> Frankly, I am pretty sure, just using what Pd provides is too easy to
> use and likely less time consuming than writing your custom external.
> (Or I am totally missing the point of this adventure).
>
>
> > I don't fully understand the way phasor~ wraps, but I have the object
> > firing out bar numbers correctly. I'm putting clocks in for 16ths and
> > 24ths of the beat, initiated on each wrap. I need to minimise CPU, so
> > what I want to know is this:
> >
> >
> > Does phasor~ always start from 0 and go to 1, i.e. is there always a
> > signal value of 0 at the start of the ramp and a signal value of 1 at
> > the end? As I write this, my common sense tells me it should be "yes"
> > but I want to make sure. I suppose I should just try it really...
>
> No, it's not the case. A [phasor~] ramp virtually starts always at 0 and
> ends at 1 - true, but most of the time the wrapping point doesn't lie
> exactly on sample boundaries. This means the sample values around the
> wrapping point are almost never 1 or 0, respectively.
>
> Trying to derive precise timing from the audio domain is a moot exercise
> anyway, in my opinion. The best you can get from this approach is sample
> precision and analyzing all samples of a signal is relatively
> expensive.
>
> If you truly care about CPU consumption and a proper design from the
> start, use [metro] - which is as precise as 32-bit floats can be - and
> [vline~] - which actually uses the  precise timing from [metro] (as
> opposed to [line~] that doesn't).
>
> With this combo [metro]/[vline~] you can rebuild [phasor~] with the
> additional benefit of giving you more-than-sample-exact bangs at the
> wrapping points. The only drawback compared to [phasor~] is that the
> latter allows to control the frequency with a signal and the
> [metro]/[vline~] based phasor obviously doesn't.
>
> I'll be glad to help you build the [phasor~] replacement that has an
> additional bang outlet, if you need it.
>
> Roman
>
>
>
>
>
>
>
>
>
> _______________________________________________
> Pd-list at iem.at mailing list
> UNSUBSCRIBE and account-management ->
> http://lists.puredata.info/listinfo/pd-list
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20140306/8712a3fc/attachment.htm>


More information about the Pd-list mailing list