Peter points out the release of the Cantarino speech synthesis library for Arduino – demoed above in an endearing rendition of “Daisy”.
An interrupt on the PWM output timer calls a sample generator. This uses a synthesis similar to FOF or granule synthesis – using two sines and a square wave of adjustable pitch and amplitude, synced and enveloped by a pitch of selectable frequency. Phase modulation is added to the pitch, to allow unvoiced phonemes to be uttered.
As the Google code page explains, it’s still a work in progress but sounds rather impressive considering it uses only PWM output from a single pin!