Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

We do online e-learning without using any third party tools like Adobe Captivate / eLearning suite, and it would be great to (somehow) get some text-to-speech going.

Is there any way at all to get this working for free (or very cheap, some plans are just ridiculous such as http://www.acapela-group.com/text-to-speech-interactive-demo.html)

Ideally what we need is for the user to select their language, however happy to start with just English, then just start reading the HTML on the page..

Or am I just barking up the wrong tree here, if people NEED TTS, they would just be using their own software or the ones the come with O/S...right?

Edit: The requirement is to make the content a little more engaging. Also, it aids some people if they are slow readers. The reason I was thinking TTS over a proffesional Voice Over is that is should be easier to implement? Having a VO linked to each text "snippet" will require cutting up hundreds of MP3 files and then programming the elearning framework to do this. Having an automated TTS system should be easier for that, especially if in multiple languages

However, I think it does need to be a professional VO.

thanks for your thoughts/inputs

share|improve this question
    
Not sure this is the right place - but translate.google.com has the option to listen to the text both pre and post translation. There might be something in the Google API for you. –  ChrisF Aug 15 '11 at 17:20
    
I think adding it as an option on the page for restricted computers like libraries might be useful. –  World Engineer Aug 15 '11 at 17:46
    
@ChrisF, I have heard that the google translate api is shutting off in December 2011 due to abuse, so that may not be an option. –  Morgan Herlocker Aug 23 '11 at 14:16

3 Answers 3

up vote 3 down vote accepted

Well, why do you actually need TTS? Is this for language learners?

In general, if the HTML does not change much, it makes a lot more sense to pre-generate content on the server. TTS is actually quite computationally expensive and, for many domains, will not sound right without hints for individual files.

And to do that, you have to purchase voice files or use TTS as a service. As you said, quite expensive.

There aren't any really free TTS services because there is no monetization around it and - again - because the good voice files are expensive. The client devices do have TTS, but that's paid for with your Windows/Mac license and the voices are usually just 'ok'.

One hack would be to use something like Phono to 'call' into Voxeo backend which does provide TTS services, but I would not recommend to use it as a production solution. Maybe as a quick test of adoption, but that's about it.

share|improve this answer
    
I think you are right, TTS is not really good enough. Its for Voice Over, which will make the normal content more engaging. However, we have multi-lanugage modules so obviously to do a professional VO for each language (up to 10) will be expensive, but at least its a cost we can cap...I have added some more info to the question –  Keeno Aug 23 '11 at 13:46

IMHO, providing text-to-speech feature, while OS has it, is like trying to provide other accessibility features, like magnifier (for zooming), and on-screen keyboard, or even providing an online calculator in a world where each cell-phone, each OS, and each PDA has a calculator on it.

Thus my suggestion is rethinking your requirements.

share|improve this answer

Can you use Odiogo? We helped set this up on the blog at http://www.wandsworthlink.org/news/ - their plugin is free, it reads alound content from any RSS feed. It has worked well for the website.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.