Why is FFT spectrum of a 260 Hz cycle so broad-looking?
What FFT-Size do you use? Might be too small.
Other than that, it's hard to give you any advice without seeing the patch.
Here is the patch. My question is about what are the theoretical reasons for the peak to be broad and centered at the sinusoidal frequency. I would have expected the fft spectra just give one point at frequency X and amplitud Y.
Ah ok. If you set the domain attribute of the spectroscope object to 0-22050, it looks almost like a needle. It looks broad, because you "zoom in" very deep.
The reason, why it's not giving you exactly one point, lies in the nature of the fourier transform. For example, if you have a signal that is 512 samples long (around 86 Hz at 44,1 kHz samplerate), the FFT will tell you how to recreate this signal with sinewaves of the frequencies: 86Hz, 172Hz,258Hz,344Hz, 430Hz... and so on. Only integer multiples of the lowest frequency that "fits" into the 512 samples.
Now if the frequency of the sinewave, that you use as an input to the fft lies between these integer multiples (let's say 100Hz in our example) it cannot be recreated by using only one sinewave, but by using a "mixture" of the 86Hz and the 172Hz sinoid. Therefore you won't see a "needle" in the spectrogramm but a "hill".
The spectroscope object probably uses a larger window size than 512 samples but still, the frequency of your input wave is very likely to lie between two integer multiples of the lowest frequency it can analyze.
Sorry, english is not my native language and this is a complex topic to explain. If you want to know more about it: at www.dspguide.com it is explained very well and you don't even need to much math to understand it.
Thank you so much. This was a great explanation. I didn't know FFT was so close dependent to sample (512) window and sample rate. So, if the FFT is 512, it will use frequencies multiples of 86 Hz to recreate the spectrum of the incoming signal?
THank you!
In other words: if your sampling rate is 44100 Hz and your fft has 512 points, the frequency resolution of your spectrum is 44100 Hz / 512 = 86.13 Hz.