Voice to text conversion with JSAPI - java

If anybody knows about 'voice to text' conversion using java, please give me some knowledge.
Thanks!

as far as i know, the way to use this is the JSR 113 Java Speech API 2.0
The advantage in using would be the offline functionality without an internet connection.
But unfortunately the leading company seems to terminated their intentions for this project, the homepage is down (http://www.conversay.com).

Looking at answers to a similar question, the prospects don't look encouraging. However I did find something despite the relative dearth of activity around JSAPI implementations.
Take a look at the Java Wrapper for Cepstral TTS project on Sourceforge. It relies upon the Cepstral TTS engine which is available for several languages and speakers as well versions targeting desktop, mobile and telephony server deployments.
Disclosure: I have no relationship to Cepstral nor have I used their products.

For speech recognition, see also this thread. If not using android, you might want to check out CMUSphinx.

Related

Android VoIP call implementation

First of all I'm a newbie in VoIP implementation. I need to implement VoIP single and group call in android application. Could you tell me, what is actually the best way to achieve this ? I'm looking for Android SIP library (probably open source) which should:
has good documentation with simple app examples
be ready to use with java
Maybe just native android SIP api will be the best ? But I heard that it doesn't support group calls.
Most of the voip libraries use C/C++ implementation for various reasons. You can use PJSip which is a C voip/sip stack. It has a good documentation but you have to build it yourself using android ndk . It has good documentation and also contains processes to build it for Android and other platforms. But there is no java/android wrapping built in so you should do that yourself. Another option is Liblinphone which is also based on C stack but provides all of the wrapping and implementations out of the box so you don't have to bother so much on native codes. It also has a sample application which you can try yourself. One downside of Liblinphone is that it lacks proper documentation and you have to dig in more.
Regarding the android SIP api, I don't think it is a good option as it has much more limitation and hardly maintained. It is based on Jainsip stack which is a 100% java stack but is too verbose. I personally would like to recomment Liblinphone as I am currently implementing it and am pretty satisfied with it. Best of luck...
Update
Here is the source code of linphone for android if you are interested in it. You can get pretty much idea of Liblinphone for android from it. You have to dig much more into the sources though.
You can have a look at Restcomm Android SDK:
It's open source, with an active community around it
It using SIP for signaling and Webrtc for media so should work nicely with NATs, etc
Comes with 2 sample applications that you can play with and alter their code to experiment
Comes with quick start guide, reference doc
You can check the Olympus sample App right away by installing the .apk from this link
Notice that the SDK doesn't support group calling out of the box, but you could combine it with Restcomm-Connect open source platform to add such functionality very easily. Restcomm-Connect also comes with docker, so you should be able to install it right away.
Please let me know if you have any questions
Best regards,
Antonis

Why I can't use JMF on Android?

I don't really have or want to use the Java Media Framework (JMF) on Android but I am looking for detailed information about why it's not possible to use it. (I know that it's considered as outdated anyway and I am aware that there may be better ways to achieve certain things in Android using this for example: http://developer.android.com/guide/topics/media/index.html)
Nevertheless I need more information regarding JMF on Android but all I could find is, that "JMF isn't working on Android" - but I wonder why.
So I have two questions:
Do you know any kind of "official" statement, for example from Google or Oracle, saying that JMF isn't supported on Android? I wasn't able to find something like that.
Why is JMF supposed to be not working on Android? I am interested in the technical details and would be grateful for all kind of references.
Thank you!
EDIT:
To be a bit more specific and clarify my approach: I built a tiny test-app and tried to play an audiofile the same way as I have done in a standard java desktop application (which was working as expected). I included the JMF.jar (for now without any modification) compiled, deployed and started the app - no problems so far. The (first) exception (javax.media.NoPlayerException) is thrown when calling Manager.createPlayer().
That was actually the point where I stopped and wondered if it's worth digging deeper, although the result is kind of predictable. I decided to ask about the technical background first, instead of figuring it out the hard way in hours of testing and debugging (the reason is not a lack of interest but unfortunately a matter of time at the moment).
I am looking for detailed information about why it's not possible to use it
Because it was not included in the Android SDK. Lots of things from Java SE were not included in Android.
Do you know any kind of "official" statement, for example from Google or Oracle, saying that JMF isn't supported on Android?
I am not aware of such a statement. They also have not released a statement indicating why Android does not integrate with the Hubble Space Telescope, why it does not include shoe-shining APIs, etc. There are an infinite number of things that are not in Android; it would be impossible to list them all.
More generally, Google faces pressure to keep a lid on firmware size, as the bigger the firmware, the more expensive things get (required storage, OTA update costs, etc.). Hence, they only include a subset of the Java SE SDK as one way of helping reduce firmware bloat.
Why is JMF supposed to be not working on Android?
Because it was not included in the Android SDK. I have no idea if it is possible, let alone practical, to create a fork of JMF that offers a JMF-like API but uses Android media capabilities under the covers.

Speech Recognition in Turkish

Hello I'm working on a project about controlling a robot with Turkish voice commands.
As I search on internet all I can find are Sphinx like speech recognition libraries but they don't support my language.
Is there any possible ways to form my own library for about 20 different commands?
Thanks.
Of course it's possible. The only thing you are missing is the Turkish acoustic model, which I am not sure if there are any free ones available. You can follow the great sphinxtrain tutorial to train one yourself (which is probably the biggest task in this project). You will then need to plug your commands into a grammar file (JSGF is supported as far as I remember). The accuracy should be rather good (99% should be the expectation).
It's an old question but for the reference, you can use Google Speech API in 110 languages
https://cloud.google.com/speech/
It works online, but there is an offline version for android

Linux/Ubuntu - Speech Synthesis from Java without using FreeTTS

I've spent a pair of days trying to make it work: Speech synthesis from Java with FreeTTS on a Ubuntu system and it seems to be far more complicated than what i expected, if possible. There are some problems with this configuration i just can't solve.
So, i've changed my mind and have decided to make it in some other way. I just need to synthesize some texts during the execution of the app, so my question is: Someone knows any other way of making it possible and still be platform-independent (assuming i'll have to install some kind of extra-software in the machine(s) i'll need to run it)?
Thanks a lot.
As far as I remember there are a plenty of implementations from F.A.Q. for Java Speech API, but non of them is OS independent.
Another way is to find (using Google) some new cloud services (for example) which provides API for voice synthesis.
Ubuntu 8.10 has a bug in it's FTTs version; try another software of speech synthesis...

What Java APIs should I look into for interacting with my microphone?

I would like to build a recording software, for my own purposes, I would like it to be deployable on multiple systems (Windows and Unix) I am also building an application first time. So any help you would be able to provide on that topic as well it would be appreciated.
Please and thank you.
GC
I haven't seen any API for dealing with Microphones explicitly, but the Java Sound API should be able to see it as an input. Specifically, the javax.sound.sampled classes.
Oracle has a (not-so-quick) Java Sound Programmer Guide which includes Chapters on Accessing Audio System Resources and Capturing Audio.
You might look at BASS if you only need to support OS/X and/or Windows. I haven't used it or JavaSound recently enough to speak to which is better at the moment, but BASS was good enough to merit a looksee.

Categories