[PD] framp~

Matteo Sisti Sette matteosistisette at gmail.com
Fri Apr 9 13:23:54 CEST 2010


Hi,

The intro-help.pd patch says:

[framp~] - output a ramp for each block

but that's not what it does.

Is there an object that really does that?

By the way I don't really understand what framp actually does. It says 
it "estimates" amplitude and frequency of "any component", but it also 
says that a sinusoidal component will appear in four components,
so it seems like it simply computes the amplitude (i.e. modulus) of the 
spectrum on the right outlet, and on the left outlet:
{ the frequency corresponded to each bin
     if amplitude>0
   0 otherwise

Which is indeed _almost_ a frequency ramp, but with zeros here and there....

Or is there something more in the "estimation" of the components?

If not, I think it would be much more useful (and even elegant I would 
say) to "split" [framp~] (which has a misleading name and a misleading 
description in intro-help.pd) into two objects:

- one [???~] that would compute amplitude and _phase_ (instead of 
frequency that does not need to be computed at all), which can be seen 
as converting complex numbers to polar coordinates (modulus and angle?)

- one [blockramp~] that would give a ramp of integers at each ramp (i.e. 
0 to 63 in the default case of 64-size blocks)


no???

The first could be done by abstractions, however it is a bit strange 
that you have an object (framp) that computes the amplitude and you 
don't have one that computes the phase......

I'm not sure the second can be done with abstraction: could you trust a

[bang~]
  |
[0, 64 1.451247(
  |
[vline~]

?

Or a:

[loadbang]
  |
[1(
  |
[sig~]
  |
  | [bang~]
  |  |
  | [clear(
  |  /
  | /
  |/
[rpole~ 1]


?

thanks
m.

-- 
Matteo Sisti Sette
matteosistisette at gmail.com
http://www.matteosistisette.com




More information about the Pd-list mailing list