This page demos the free Festival (text2wave) and commercial Cepstral (swift) text-to-speech engines and some of the voices. Text is first converted to wav audio then encoded to mp3 using lame. View the php source code for this example.
These services have come up in discussion and testing - questions to the list for more information as several participants have used them - with some negative experiences.