[chuck-users] Simple question about getting a basic frequency spectrum

v bar vomc8one at gmail.com
Thu Mar 4 22:05:18 EST 2010


I am a little confused with fourier-transforms, math not being my specialty.

In essence all I am trying to do is take 1 second samples of an audio
file and print out coordinates as follows:

- amplitude at 80Hz, amplitude at 200Hz, amplitude at 1000Hz

I have set up a file connecting:

SndBuf buf => dac;
buf => FFT fft  => blackhole;

And now I assume that I set the fft.size to 1024 samples (for a 44k
16bit audio file) and then upchuck that every 1024 samples.

Most likely my error is there...

But now I don't know how to get at the correct output.

I have a ton of polar values but I don't really know what any of them
correspond to.

Some sample values:

"time: 0:5000.0000" : (string)
%(0.0140,-0.9985*pi) %(0.0004,-0.6629*pi) %(0.0001,-0.4812*pi)
%(0.0001,-0.4412*pi) %(0.0001,-0.7007*pi) %(0.0001,-0.7549*pi)
%(0.0001,-0.5928*pi) %(0.0000,0.7277*pi) %(0.0000,0.0000*pi)
%(0.0000,0.0000*pi) %(0.0000,0.0000*pi) %(0.0000,0.0000*pi)
"time: 0:6000.0000" : (string)
%(0.0189,0.0008*pi) %(0.0003,0.4507*pi) %(0.0001,0.2899*pi)
%(0.0001,0.2122*pi) %(0.0001,0.3072*pi) %(0.0000,0.5483*pi)
%(0.0001,0.1053*pi) %(0.0000,0.2292*pi) %(0.0000,0.0000*pi)
%(0.0000,0.0000*pi) %(0.0000,0.0000*pi) %(0.0000,0.0000*pi)
"time: 0:7000.0000" : (string)
%(0.0148,0.9997*pi) %(0.0002,0.4662*pi) %(0.0002,0.1996*pi)
%(0.0001,0.4250*pi) %(0.0001,0.2651*pi) %(0.0001,0.4396*pi)
%(0.0000,0.9036*pi) %(0.0001,0.4967*pi) %(0.0000,0.0000*pi)
%(0.0000,0.0000*pi) %(0.0000,0.0000*pi) %(0.0000,0.0000*pi)

Can someone help? I bet this is actually pretty simple I just can't
seem to figure it out. I understand the notion of polar coordinates
and know how I can convert them to Cartesian. But what I am not
understanding is where I find out what the actual frequencies that are
being sampled are...

- J

---- vomc8one at gmail.com ----

More information about the chuck-users mailing list