Interpreting pitch/frequency via mic

Is there any way to interpret input from a microphone and detect the pitch/frequency of the incoming signal? or possibly frequencies within a specified range?

It's one of those things that sounds simple but is very difficult to do reliably in practice. A lot depends on where the sound is coming from. The purer the sound the better the chance you have. There have been posts here in the past about not quite successful attempts. I do remember a PhD student putting something in the exhibition section about a bass attached to an arduino and he couldn't get it to work reliably after a lot of work. I have looked for the thread but can't find it.

Easiest way is to use an FFT, but thats not going to run on an arduino. You need a more powerful MCU but probably more like a DSP.

It's not arduino, but it's avr. Not feasible for most, but an interesting example.

http://elm-chan.org/works/akilcd/report_e.html

Hmm that is fun but at 75hz freq res it has a very limited low end (for audio) range. and at 9.6khz sample rate, it pretty limited on the high end as well, though it could be good for voice / telephone quality (300hz-3khz)

Thanks for sharing.

Google "Goertzel's algorithm"