views:

737

answers:

2

Anyone know of a good text-to-speech solution for j2me? I know it's not officially supported by any devices or in any JSR, but wondering if there are any free libraries that can do it? What about some kind of integration between j2me and python to allow this to happen? I need to add this to a big j2me application, so re-writing the whole thing python is not an option.

+2  A: 

From here: http://en.allexperts.com/q/Java-1046/2008/12/J2ME-text-speech.htm

There is a standard Java API for speech handling (both output and input), the Java Speech API. You can read about it here: http://java.sun.com/products/java-media/speech/index.jsp

Unfortunately, JSAPI 1.0 is not a standard part of the J2ME. I do not know of any implementations of Java Speech 1.0 for J2ME.

The next version of the Java Speech API is intended to be usable from many J2ME environments (particularly the CLDC). Many companies have promised to support JSAPI 2.0, including Nokia, Siemens, and Motorola. However, I don't think all of those companies support it yet.

A few companies have implementations of JSAPI 2.0. Conversay offers a developer kit here: http://www.conversay.com/C3DKStore/tabid/113/Default.aspx and some code examples here: http://www.conversations.com/JSAPI2JSR113/ProgrammingExamples/tabid/213/Default.aspx

I don't know what versions of J2ME can possibly work with JSAPI 2.0. Sorry.

This isn't a very good answer, but it's all I know. If you post on the Conversay developers forum, I think the folks there would know more.

James Black
+1  A: 

Another option is to have the TTS package on a server, and then you connect to the server with the text you want to day and get an mp3, aac or spx file back.

Notice that if you want fixed messages (turn left, turn right, stop, etc. ) you can just keep the resources in the jar or have a one time download from a server. There's no need for a TTS engine in this case,

David Rabinowitz