EMIC2 is an Arduino library that offers an API for interfacing with the Emic 2 Text-to-Speech Module.
Emic 2 is a speech synthesis
device for English and Spanish. It offers a number of different voices and allows for dynamic control of some voice and speech characteristics. It has an output for an 8 Ohm speaker, and communicates through UART.
EMIC2 abstracts away the operation of the Emic 2 module. It offers an simple API for sending messages to the module. The messages can be provided directly or read from a file in a SD card. A number of operators is also supported for manipulating the speech, like raising the volume level, decreasing the speaking rate, and pausing the playback.
There is a tutorial on EMIC2 on codebender’s blog. The source code is available on GitHub.