We have been playing with text to speech again. We used a Sparkfun voice box shield that includes the popular SpeakJet chip. The issue is that you have to code "phonetic" allophones to tell it what to say. It won't read the contents of a normal variable and convert it to recognizable speech. So we added a TTS256 chip, which takes English text and numbers from variables, and builds the correct allophones for the SpeakJet.
User manuals and working sketch are at http://tech.groups.yahoo.com/group/arduinohome/files/Text%20to%20speech/