I agree that the software speech solution is the way to go. However, I found the "voltmeter" example in the Talkie library to be
less than optimal. The way it vocalizes numbers like 44 is quite awkward and unpleasant. So, I wrote a new number-to-speech routine that uses a different ROM library, and just the single digit numbers 0-9. It vocalizes ascii digit strings such as "12.34" and is much more intelligible. The routine is named sayNumberString().
For a plain "C" example illustrating the latter approach see the third post in this series: http://forum.pololu.com/viewtopic.php?f=10&t=7396
Also, the speech sounds better if you change the delay(25) in talkie.cpp to something like delay(10).