Galen Raben of letsmakerobots decided to have some fun with a SpeakJet speech synthesizer and TTS256 text-to-speech processor, and designed this SpeakJet shield so that he could make his Arduino talk. The project schematic and code are available on the project page. Looks like a kit in the making!
The advantage of a hardware-based solution like this one is that it requires little CPU time to run, however it is also possible to directly synthesize speech on the Arduino. One promising candidate for this is the Cantarino project.