Running a service like WebAnywhere that speaks requires access to a speech server (or the use of another solution, like a browser extension). Fundamentally, such a server simply takes in speech and returns an audio file containing the spoken form of that speech. This page lists two services that are free (at least for limited use) that will do this, and also points to instructions for how to set up various free TTS engines on an Apache web server setup.

Google Translate Speech

As part of Google's Translation service, they offer a handy RESTful interface for speech. It's not clear if this is free, and certainly you might attract attention if you use it too much, but it's great for prototyping. They allow you to select a language (out of few) and provide the text you want spoken. Result is in MP3. More details on Google Translate.


http://translate.google.com/translate_tts?ie=UTF-8&q=bonjour&tl=fr&prev=input

Microsoft's Speech

Bing similarly offers a speech API. It currently only returns sounds in WAV format, which isn't ideal for playing via the web but can be mashed up with other services to get speech into an appropriate format. They require you sign up for an account. You can find out more here: Microsoft Speak Translation.

Setting Up Your Own

There are pretty good instructions on how to set up various TTS engines for use as a speech server on the WebAnywhere Googlecode Installation page. When you create your own, you often have access to more languages, and more control over what format the speech is sent back in. While MP3 is a mainstay, some browsers' HTML5 implementations can't play it (and need Ogg insted).