# Discrete Fourier transform - finding the fundamental quickly?

First, I appologize because I'm a software developper and it's been a very long time I didn't dive into pure mathematics, so my question might seem dumb. I hope not.

The context is pitch recognition in music.

If you take a musical note, and apply a Fourier transform to it, you will have and infinite sum of amplitudes for given frequencies. For example, if I play a note whose fundamental is $F$, on any instrument, after Fourier transform, I will have harmonics at at $F, 2F, 3F,\ldots,nF$. Every frequency will have a given amplitude which defines the timbre of the instrument (piano, voice, trumpet, ... all follow this loaw, but you'll have different amplitudes for every harmonic)

Now what I'd like to do is from a given audio signal, find $F$. Just that. It's more complicated than it seems because you will always have background noise and so on ... Further more, $F$ isn't necessarilly the frequency with the highest amplitude !

So my idea for finding $F$ is to apply a DFT (well actually an FFT for speed) and find a frenquency $F$, so that $F + 2F +3F + \ldots + nF$ is maximal in the FFT output.

Do you think that's possible at all ? Do you think that's possible in a very short time (let's say < 5 milliseconds) ?

– Vinod
Dec 21 '11 at 10:10
• Well, yes but that's a different method isn't it ? IMHO, it's easier but much less reliable because it cannot distinguish between harmonic and inharmonic sounds ... Dec 21 '11 at 20:21
• relevant dsp.stackexchange.com/a/2524/29 Aug 26 '12 at 18:48