Pitch recognition of musical notes on a smart phone
With limited resources such as slower CPUs, code size and RAM, how best to detect the pitch of a musical note, similar to what an electronic or software tuner would do? Should I use: Kiss FFT FFTW Discrete Wavelet Transform autocorrelation zero crossing analysis octave-spaced filters other? In a nutshell, what I am trying to do is to recognize a single musical note, two octaves below middle-C to two octaves above, played on any (reasonable) instrument. I'd like to be within 20% of the semitone - in other words, if the user plays too flat or too sharp, I need to distinguish that. However, I