The Search for the Holy Grail (Free Form Speech Recognition)

Sniffing the intertoobs has lead me first to this:

which turned out to be dead - or looks that way .. Sphinx Simon project which leads to ... 

That is a C++ (with possible dependencies into KDE yikes!) program .. which can make it a little tricky interfacing Java to it .. but we've done it before..


My "Gut" says .. Sphinx 4 (Java version - is pretty much dead) 
PocketSphinx which is a C program is the heart of the Simon project might be the best bet now...

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
MaVo's picture

Another free-form speech

Another free-form speech recognition would Googles on Android devices. Not long ago (a few months, I think). Google enabled offline recognition, this is also useable by third-party-apps.

I don't know about it's performance and accuracy, but just wanted to mention it.

In addition a con is that it would require an attached Android device, which would need to be interfaced (& you would need to get your App ready ; ) ).

GroG's picture

Thanks for the info

Thanks for the info MaVo..

Yeah, we will definately borg in Android's speech to text .. nice that it works offline too.

We've tried Google speech to text - but it seems way to laggy..

Another possiblity is to hack Chromium and see if it runs faster, that's what this guy did.

Mastablasta's picture

Maybe another choice

Was reading about JASPER. Looks like to be very LINUXy and running on the Raspberry Pi. But I've seen comments about people also using it with other hardware. Don't know if it's helpful.

MaVo's picture

Jasper is going back to

Jasper is going back to Google to recognice the speech out of the text:

-> "This version of Jasper has been configured to use Google's Speech To Text (STT) API."

But maybe it's providing some other nice functionality.


I have got an example of Googles speech-recognition on an Android device worky! Was a bit tricky in the settings. And now even with my (not really, I just copied & adjusted sources) own App. And even offline! Can't tell about it's accuracy, but it's kind of working.



Seems to be working nice & fast (at least over W-LAN & fast internet in general).

Online (W-LAN connected, so I think it's online) it's working better, better accuracy and more results, but usually the first one is the best. There are a few small mistakes, but these could also come from my English-pronunciation. (I'm really amazed how good it get's my German English-(UK).)

Offline (W-LAN toggled off) it's working, but not with the accuracy off being online (at least with me). And it's only giving one result. But it works.

(for comparison: I tested this on a Samsung Galaxy S4 mini)



I've uploaded (my) example to Google drive.

APK (unsigned ->

ZIP (Sources)   ->

Alessandruino's picture

Works great on my nexus 5 !!!

Works great on my nexus 5 !!! Very fast! Recognize Italian!

MaVo's picture

Today I tried to connect

Today I tried to connect ProgramAB in MRL & the speech recognition on Android together.

(Yes, I "cheated" a bit.)

When the Android-App recognizes something, it's put in a list. When you click on an item in that list, it sends the specific string to a remote-instance of MRL using the WebGUI(!!!).

It works amazing well!


1. start MRL (should be obvious)

2. start a ProgramAB-Service and name it whatever you want

3. start the session in the ProgramAB-Service

4. start a WebGUI-Service

5. get your IP-Adress (in Windows you can open a command prompt (run->cmd) amd type "ipconfig", it should be listed there)

6. install this Android-App on your mobile-device (Link below)

7. enter your IP

8. enter the name of your ProgramAB-service

9. Have a nice conversation! (click on the button, speak, click on one item of the list, read the response)


APK (Unsigned) ->

ZIP (Sources)     ->

MaVo's picture

Here's the demo-video ->

Here's the demo-video ->