TTS to support Chinese characters/speech - java

I'm going to develop a tool which can convert the text to speech. Of course support for Chinese characters would be quite important. If not, the TTS would be great choice if the internet access would be natable, I can use the Google translate API. Unfortunately not all places using my tool would have the internet access, I'm wondering if there is another way to accomplish this task?
I've searched in the internet, and the espeak would be a nice solution. But I have to encapsulate the DLL.
Is there any better solution for my requirements?

Related

what is the best alternative to Java's TTS( text to speech) API?

I am working on this side project and one part of the project is converting text to speech. currently I am using the free TTS java api and it works fins. but I am not happy with the voice.
so, my question is,
is there a way to change just the voice into a bit human like voice?
if not what is the best alternative?
I am using android studio IDE if that helps.
Thank you in advance...!
Best bet is to use a service https://cloud.google.com/text-to-speech/ one the best ones out there as it's developed by possibly hundreds of the top developers.

java cyrillic character recognition API

I need some lib that will perfom character recognition from cyrillic letters.
I hava only one idea to map letter from cyrillic to latin but it's bad quality.
Could someone tell me is there is any lib. Or otherwise any solution of this problem?
Thanks in advance.
As far as i know there are no native opensource Java OCR SDKs. There are Java APIs which wrap calls for native interfaces, for example, for one of the most popular opensource OCR engines - Tesseract (http://groups.google.com/group/tesseract-ocr/) - there are some Java wrappers like tesjeract (http://code.google.com/p/tesjeract/) or Tess4J (http://tess4j.sf.net/). That could work for you, but it's rather hard to set up and will require developing image-preprocessing and font training on your side.
One more solution could be a cloud service. It requires end-user application to have the internet connection, but it's independent from your programming language choice and resources limitations. Have a look at ABBYY Cloud OCR SDK, it's a cloud-based OCR SDK recently launched by ABBYY. It's in beta, so for now it's totally free to use and it has a ready-to-go Java code samples.
Though it is not in Java, when it comes to OCR I'd suggest the open source Ocropus system http://code.google.com/p/ocropus/
Also, this thread discusses Java OCR solutions Java OCR implementation
Also, if you just want some ad hoc solution you could try Google Docs OCR http://googlesystem.blogspot.com/2009/09/google-docs-ocr.html

Whats the best way to start programming for my non-smartphone?

I have a general old-fashioned phone that has no special app system and uses Java (I assume ME) for the few applications you can use on it.
This is still a decent userbase and I'd like to start programming for this type of phone. I already know basic Java theory and syntax, so.. where do I get started for programming for non-smartphones?
Best programming environment for Java ME IMO is Eclipse with EclipseME. Includes lots of built-in stuff about packaging your midlets etc. The SonyEricsson wireless toolkit is great for PC-based testing and debugging, but don't forget on-device testing!
If you don't know much about Java ME's lifecycle, then get reading as widely as you can, and try lots and lots of examples. Start with the JSR-118 (MIDP2) javadocs; you'll want these open on your desktop at all times while coding.
Don't waste too much time with the form-based user-interface; I recommend either rolling your own using Canvas, or read about LWUIT.
You can do all sorts in Java ME and target a very broad range of handsets. HTTP capability is guaranteed, so you can hook up to a public web service, or create your own using something like Google Appengine.
Finally, you can release your app very easily on somewhere like Get Jar. Don't be put off by those who say "no owners of Java ME handsets want apps", you'll find the most popular user bases on this site will be users in countries such as India and Indonesia.
Good luck!
I would start with a book on J2ME and work from there.
Try Beginning J2ME: From Novice to Professional.
You could also download the J2ME SDK and play around with the example they give.
For tutorials have a look at the stackoverflow question https://stackoverflow.com/questions/584923/do-you-know-a-good-j2me-tutorial as mention in my comment.
I started with writing simple Flashlight application (choose how much seconds screen will remain lit) in NetBeans ME. And other app which I mange was Countdown with some graphics and sound. After that I found limitations too much annoying and now I'm waiting for my Android phone.
in short:
If you want to try it out - you don't need to buy books. There are plenty of tutorials around.
But, if you want to start deep development - don't waste time.

How to get video and audio streams from web cameras with Java?

How can I get video and audio streams from web cameras with Java (in a cross-platform way)?
For example, we have a computer with 3-4 USB web cameras; we want to get their streams and make them visible in the user interface. How can we perform such a thing? I need code for a simple app which would find ALL cameras on the computer and let us select camera to wach. Can any one, please share such one?
With java media framework JMF or FMJ
Here is an example with JVM
I see your comment about the solution needing to be "pure" java, but this is really "nearly" impossible. You will need to use some sort of native library for accessing the devices, with that being stated; I suggest that you look at Xuggler as your solution. Xuggler supports Windows, Mac, and Linux and they also offer example code for handling audio and video. Lastly the library is FREE.
Webcam capture example: http://xuggle.googlecode.com/svn/trunk/java/xuggle-xuggler/src/com/xuggle/xuggler/demos/DisplayWebcamVideo.java
While Xuggle does not have an example of microphone capture, you can find samples on the mailing list or you could use code written by the packet-mulitbroadcaster project found here: https://code.google.com/p/packet-multibroadcaster/
You can try my solution. It uses OpenCV to capture the image and jetty server to transmit it via WebSocket. The example has three classes and it will be easy to understand.
Now I can send only video, but I'm working on audio aswell.
I'd use flex. It can be relatively easily integrated with java backend.
UPD:
Pure Java needed
Then you should consider JavaFX solutions. I'm not a big expert in javafx, I've only written some basic test applications, but I'm sure it's a modern way of solving described problem with pure java.

Open-source p2p videoconferencing in Flash or Java?

I want to build a community website with videoconferencing functionality integrated. I would prefer to provide this from within the browser, so I'm looking for a Java- or Flash-based solution.
Also, it would be nice to spare bandwidth by having the clients stream their audio and video data without using a central server (like the way Skype works, for example).
Is there a reasonably mature open-source project that meets these criteria?
When doing Voice over IP, UDP is preferred, and web browser plugins usually lacks support for UDP and P2P-connections.
But there is a solution. You have to use Adobe Flash Player 10 and the Adobe Stratus for this. This is actually what Chatroulette is using for P2P streamed video chat.
Take it from someone who found out the hard way: Java's support for video playback is pisspoor. They keep promising a new, fantastic video playback system, but meanwhile we are STILL stuck with Java Media Framework, the platform-limited, MPEG-4 incompatible mess.
Your alternatives are Quicktime for Java and systems wrapping MPlayer/VLC/etc. None of those are really options for a browser.
Much as I hate Adobe and the evils of Flash site design, Flash is far and away your best option.
See the Xuggler library -- it includes code for playing back video (well, sample code) in the com.xuggle.mediatool.IMediaVieer object.

Categories

Resources