Take the 2-minute tour ×
Signal Processing Stack Exchange is a question and answer site for practitioners of the art and science of signal, image and video processing. It's 100% free, no registration required.

I have a project of recording human's sound via Android's SoundRecoder API, and then displaying the extracted note on The screen. It is specific for Android platform (can't use Jmusic or Jfugue API as javaSE environment is not supported).

Now suppose I get to record a sound using this API . How can I then deploy FFT to extract notes from this sound? Basically as it is not pure sinusoidal wave it might involve multiple frequencies and overtones. Are there any good algorithms to do so? If yes, where I can simulate and the last of all whole of the extracted tone should be rendered on musical sheet?

share|improve this question

2 Answers 2

You correctly note that a musical note is usually not just a simple sine wave. Thus, an FFT may only be one of the steps used in a pitch detection/estimation algorithm (there are many: http://en.m.wikipedia.org/wiki/Pitch_detection). For music, a good place to start might be the research papers published on MIREX: http://www.music-ir.org/mirex/wiki/Audio_Melody_Extraction

share|improve this answer
    
Awesome thanx a lot :D :D –  Utpal Kumar Jha Mar 9 at 8:47
    
can i have your email id as the project which i am about to explain is about Gsoc regarding signal processing i would be much grateful to you. –  Utpal Kumar Jha Mar 9 at 9:11
    
@UtpalKumarJha: The goal of the StackExchange sites is to ask questions in public, and have them answered in public. If you're looking for private advice, you should hire a consultant. –  MSalters Mar 10 at 16:25

A simple way is to search for the maximum amplitude in the spectrum ; however depending on the instrument this could either be located at the fundamental frequency or at a multiple of that frequency, so what you could do is extract these frequencies and their harmonics along with the associated amplitudes, and correlate the data against sample values for different instruments to identify the note played (and even the instrument)

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.