07 June, 2010

Axtell's Notes From June 7

On Friday, I ended the day with a short piece of code that I had pieced together using code from JASS (Java Audio Synthesis System) and some modifications of my own. When ran, it printed a long list of floats, but I couldn't figure out what they represented.

So that's how I started today. I did some research into what would be returned by an FFT algorithm, but didn't find anything. I eventually decided that I would graph the points and see if I could see anything useful.

I got a simple graph building class on Java Forums written by hardwired. Again I modified it for my needs.

I ran an FFT on an a440 with on partial meaning an FFT should show 2 peaks (440 and 880)

I decided that the array of floats I had were the amplitudes, so I plotted the points as the y-coords (amplitude) and spreading them evenly across the x-axis (frequency) I got the following graph:

Two peaks! I then used Tayloe's windowing methods on this same a440.wav file and got the following graphs:



The Hanning window method left just a straight line, but I hopefully that will be fixed tomorrow.

Other than that breakthrough, I found two amusing explanations of FFTs:
A song about FFTs (Lyrics here)
A picture book explaining FFTs applied to visuals

1 comment:

  1. Nice graphs. By the way, because the second sine has a freq. that is an integer multiple of the fundamental frequency (in this case 440), it is a harmonic partial or just a harmonic. The timbre of a music instrument or a voice might be characterized as integer multiples of the fundamental freq.
    Oh, and I did like the song!

    ReplyDelete