[PD] Simple spectrum grapher in PD?

IOhannes zmoelnig zmoelnig at iem.kug.ac.at
Wed Oct 29 12:48:28 CET 2003

Larry Troxler wrote:
> I searched the FFT examples directory in the doc, and can't find exactly what 
> I'm looking for, which a patch that will periodically do an fft and write the 
> spectrum to an array. This would be just for rough monitoring purposes - it 
> would be fine if the FFT were only computed once per second for example, with 
> a fairly small frame size, and the result written to an array for graphical 
> viewing. I imagine that this is a reasonable and common request, but I can't 
> find anything in the examples that does this. 

well, simplest would be to not do the fft each second but rather each 
blocksize. But then you will make quite a lot of fft's (depending on the 
blocksize and overlap-factor). but i guess, on "modern" machines, this 
might be only a small problem.
if you set the blocksize high (eg: 32768 samples) with no overlap at 
all, you will get a significant peak in the CPU-load each time the fft 
is calculated, and you might get clicks (depending on the audiobuf-size 
and the cpu). of course you could use downsampling (see below), but the 
downsampling stuff is really awful (i did it;-)), with almost no 
filtering at all.

or you could turn on audio-processing with [switch~] whenever you want 
to get the fft for a short time...

a more elegant solution would be the use of iemtab by thomas musil (but 
i guess it is not released yet...?)
you can do fft's of tables (and other use- and harmful things to tables) 
in message domain...

> Also, is there any documentation for "block~"? I seem to remember reading some 
> somewhere, but now I can't find anything. "Help" on the right-click menu does 
> nothing.

the reference is in doc/5.reference/switch~.pd
[switch~] and [block~] are really the same object, but [switch~] is 
switchable while [block~] is not.
documentation for the up/downsampling feature of both of them can be 
found at doc/3.audio.examples/J09.up.downsampling.pd (was 


More information about the Pd-list mailing list