I'm a little new to Arduino, but very interested . . . I'm trying to figure out how to take an analog signal (a tone) and process not only the amplitude of the signal aka the voltage, but also do some computations on the frequency, basically building a sort of tuner using the Arduino, and help would be great.
In theory it would be easy to compute frequency by timing the zero crossings of the tone signal. The difficulty is that the A/D in the Arduino is designed to read DC voltages (0-5vdc max) not AC voltages like tone signals.
So you have two hurdles. First you need some input conditioning circuitry (like an op-amp) to offset a '"zero" to be equal to (reference voltage / 2) voltage. Second you would have to couple the tone signal to the op amp input with a capacitor.
You should also try and figure out the maximum frequency you can measure as it depends on the hardware and software speed performance.
Take a look here:-
http://interface.khm.de/index.php/labor/experimente/arduino-realtime-audio-processing/
However due to the speed and memory restrictions the Arduino is not the ideal platform for this.