You probably want to do it in real time, and DFTs like Goertzel are often used, there is plenty of stuff available, the 'interesting' bit is discerning tones from other noise.
There have also been discussions about Guitar Tuners, as well as more general purpose Frequency analysers.