Speech Recognition in Turkish - java

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

Related

Voice recognition in java using freets

Is there any way to write a program of voice recognition in Java?
I understood that there are many technologies, and I found freetts which seems to be a comfortable one, though I succeeded to write a program of text-to-speech, but didn't find any reference of voice recognition with it.
Does anyone have references for me on that matter?
Thanks in advance
FreeTTS does not support speech recognition (as far as I know) - it is only implemented to support text-to-speech.
So you will need to use some other tool for speech recognition.
You can have a look at Sphinx which is a speech recognition tool written in Java which I had used for my university project.
Check this link to learn more about Sphinx
You will require some tweaking with Sphinx to suit you requirements - which is easier than creating your own speech recognition engine.
You can refer this video for a short tutorial on Sphinx.

What libraries are available for analyzing audio files for spoken keywords and/or speech to text?

I'm a super-hero in my off-time and I'm trying to build an application that analyzes audio for spoken keywords. (Think emergency/911 calls) If a keyword is "robbery", and that word is spoken within the audio provided I would like to flag that file and possibly translate it to text.
What development libraries or software applications are out there for doing this sort of thing? C++ or Java libraries are preferred but not required.
Wiki page here is a good starting point. Of the ones mentioned there I think CMU Sphinx is the most active one.
You could work with Praat http://www.fon.hum.uva.nl/praat/ , it's an excelent program for working with phonetics and it has it's own scripting language. You can also find a lot of scripts in the Praat community. You can also use sendpraat http://www.fon.hum.uva.nl/praat/sendpraat.html to work with the praat functions as a subroutine.

Voice to text conversion with JSAPI

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.

Java for a video based application: Good choice?

I am in the concept phase of an application that is going to have a lot of Audio/Video input and output. I want to do it in Java; but somehow am not fully convinced yet. What do you think? How bad could it be? And any advices?
Why I am thinking Java:
It's the language I'm most comfortable with.
Easier cross platform migration would be a bonus.
Cannot afford commercial platforms (like .NET) or not good enough in other free alternatives (like Python)
I'm also slightly inclined towards C++/Qt; but that would take more time for me as I'm not great in that and I am a bit worried about maintainability.
If you're interested, check out Xuggler. It exposes all the power of FFmpeg, but as a Java API that runs on Windows, Mac and Linux. The advantage is you get all the power of FFmpeg but from Java. The disadvantage is it requires the FFmpeg native DLLs/shared-libraries to be installed.
Easier cross platform migration would be a bonus.
Audio and video means you will be dealing with dedicated native libraries and JNI-wrappers for each supported platform; in this case, the cross-platform argument for Java does not really apply.
I believe that when you want to write an audio/video application, the programming language you will use is the second most important thing. The most important thing is the audio/video framework your application will use since this is what defines your capabilities.
I am aware of two popular generic video frameworks that can be used to accesd most multimedia types: Directshow and ffmpeg. Directshow is tied with windows, so only ffmpeg is left.
Ffmpeg has versions in both windows and unix and, although it is written in C, it can be used from a lot of languages.
There is even a number of java wrappers for ffmpeg (for instance, take a look at xuggle)!
C++ would be the first choice because of performance concerns often present in Audio/Video processing as well as the range of available libraries for video/audio.
You do make a good point about being familiar with Java. If you are pressed for time, this is even more important. However if you can spare some time for learning, C++ would be well worth it.
Regarding .NET: The .NET SDK with everything you need is freely downloadable. Get hold of a free IDE such as SharpDevelop and you are up and running. It's Visual Studio that costs money, you don't need Visual Studio to do .NET development.
Rusty.in,
How about trying to do JavaFX Media API. Recently, the version of the JavaFX is 1.2.0 with GUI Application as well. It supports the Swing. The grammar is based on the script style; however, you can deploy the existing Swing components into the JavaFX.
I hope it helps.
Tiger
Rusty, what did you wind up doing? I too have a video app I'd like to do, but really would prefer Java/JavaFX over C++. The thing about the using Flash and/or the current JavaFX video support is that Flash video playback is not frame-accurate. I really need to be able to stop/start/step on individual frames like you can with QuickTime.
Has anyone tried doing playback with Xuggler and Java/JavaFX?

Video Thumbnails in Java

I want to generate a thumbnail preview of videos in Java. I'm mostly JMF and video manipulation alienated.
Is there an easy way to do it?
What about codecs? Will I have to deal with it?
Any video type is suported? (including Quicktime)
Well, since you're not stuck with JMF, have you considered Xuggler? Xuggler is a Java API that uses FFmpeg under the covers to do all video decoding and encoding. It's free and LGPL licensed.
In fact, we have a tutorial that shows How to Make Thumbnails of an Existing File
There seems to be a few examples out there that are far better than what I was going to send you.
See http://krishnabhargav.blogspot.com/2008/02/processing-videos-in-java.html.
I'd agree with Stu, however. If you can find a way to get what you want using some command-line tools (and run them using Commons-Exec), you might have a better overall solution than depending on what is essentially the Sanskrit of Java extensions.
Are you sure that JMF is right for you? Unfortunately, it is not in particularly good shape. Unless you are already committed to JMF, you very well may want to investigate alternatives. Wikipedia has a decent overview at en.wikipedia.org/wiki/Java_Media_Framework
Many JMF developers have complained that it supports few codecs and formats in modern use. Its all-Java version, for example, cannot play MPEG-2, MPEG-4, Windows Media, RealMedia, most QuickTime movies, Flash content newer than Flash 2, and needs a plug-in to play the ubiquitous MP3 format. While the performance packs offer the ability to use the native platform's media library, they're only offered for Linux, Solaris and Windows. Furthermore, Windows-based JMF developers can unwittingly think JMF provides support for more formats than it does, and be surprised when their application is unable to play those formats on other platforms.
Another knock against JMF is Sun's seeming abandonment of it. The API has not been touched since 1999, and the last news item on JMF's home page was posted in November 2004.
While JMF is built for extensibility, there are few such third-party extensions.
Furthermore, editing functionality in JMF is effectively non-existent, which makes a wide range of potential applications impractical.
My own server-side app shells out to FFmpeg to do the encoding. I'm 98.42% sure FFmpeg does snapshots, too. (It is an all singing, all dancing beast of a program. The command line options alone could fill a book.)
Check it out: ffmpeg.mplayerhq.hu
There is a relatively newer option called JThumbnailer that you find here: https://github.com/makbn/JThumbnail
JThumbnail is a Java library for creating Thumbnails of common types
of file including .doc, .docx, .pdf , .mp4 and etc. full list

Categories