Skip to main content

Android: Speech Recognition without using google server



I want to develop an Speech recognizer in android, which should work in offline. As the android's built-in speech recognizer uses google server which needs internet, i want an alternative which works in the absence of internet.





Please suggest me some way to achieve the above feature.



Source: Tips4all

Comments

  1. Pocketsphinx can run on Android. See

    http://cmusphinx.sourceforge.net

    See demo project

    http://cmusphinx.svn.sourceforge.net/viewvc/cmusphinx/trunk/PocketSphinxAndroidDemo/

    ReplyDelete
  2. As far as i know, speech recognition requires vast amounts of data for the analysis, and it is probably not suited for an offline application running on a phone.

    ReplyDelete
  3. If the speech recognizer has limited vocabulary (as in a simple voice user interface) and is limited few samples - it maybe possible. Applications such as Transcription is not a likely task to be performed on Android (in offline mode). Also DSP is required for Voice Recognition ... A limited vocabulary and limited to very few samples might be your best bet.

    ReplyDelete
  4. If you really want to invest time and manpower for your goal, look at the Java-Project Java Speech API 2.0 (JSR 113).

    It is used on "normal" mobile phones for voice commands and works offline.
    Unfortunately, the project is discontinued.

    ReplyDelete
  5. Windows mobile has an offline voice command, I believe with the same initiative an android version can be invented/built.

    ReplyDelete
  6. I really hope this happens. My 4 year old HTC Diamond running Windows Mobile 6.0 has offline voice recognition. I may not be able to dictate to it like Froyo’s attempt (which is 50% accurate at the most in my experience) but it COULD call anyone in my contact list, tell me the time of my next appointment, callback, redial, etc – all without a single training session needed.

    Recording, compressing, uploading, transcribing, downloading then interpreting just seems dam clumsy to me.

    Additionally, the transcriber has no frame of reference as it doesn’t have access to my contact list so when I say “Roland McDaniels” and it hears “Ronald McDonald” it can’t check to see if I have a contact called that before settling on it.

    Very disappointed as I really want to go Android!

    ReplyDelete
  7. You're not going to be happy with this workaround but here goes: Record the speech & store it for later. When an internet connection is available, connect to the internet, playback the recorded speech and convert it to text.

    Hey, it's the easiest way I can think of and might work for some applications, like dictation and memos.

    ReplyDelete

Post a Comment

Popular posts from this blog

Why is this Javascript much *slower* than its jQuery equivalent?

I have a HTML list of about 500 items and a "filter" box above it. I started by using jQuery to filter the list when I typed a letter (timing code added later): $('#filter').keyup( function() { var jqStart = (new Date).getTime(); var search = $(this).val().toLowerCase(); var $list = $('ul.ablist > li'); $list.each( function() { if ( $(this).text().toLowerCase().indexOf(search) === -1 ) $(this).hide(); else $(this).show(); } ); console.log('Time: ' + ((new Date).getTime() - jqStart)); } ); However, there was a couple of seconds delay after typing each letter (particularly the first letter). So I thought it may be slightly quicker if I used plain Javascript (I read recently that jQuery's each function is particularly slow). Here's my JS equivalent: document.getElementById('filter').addEventListener( 'keyup', function () { var jsStart = (new Date).getTime()...

Is it possible to have IF statement in an Echo statement in PHP

Thanks in advance. I did look at the other questions/answers that were similar and didn't find exactly what I was looking for. I'm trying to do this, am I on the right path? echo " <div id='tabs-".$match."'> <textarea id='".$match."' name='".$match."'>". if ($COLUMN_NAME === $match) { echo $FIELD_WITH_COLUMN_NAME; } else { } ."</textarea> <script type='text/javascript'> CKEDITOR.replace( '".$match."' ); </script> </div>"; I am getting the following error message in the browser: Parse error: syntax error, unexpected T_IF Please let me know if this is the right way to go about nesting an IF statement inside an echo. Thank you.