title: Pitch recognition of musical notes on a smart phone
body: <p>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?</p>
  
  <p>Should I use:</p>
  
  <ul>
  <li>Kiss FFT</li>
  <li>FFTW</li>
  <li>Discrete Wavelet Transform</li>
  <li>autocorrelation</li>
  <li>zero crossing analysis</li>
  <li>octave-spaced filters</li>
  </ul>
  
  <p>other?</p>
  
  <p>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 will not need the accuracy required for tuning.</p>