Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Continuous Speech Recognition Android - Without Gaps

I have an activity that implements RecognitionListener. To make it continuous, every time onEndOfSpeech() I start the listener again:

speech.startListening(recognizerIntent);

But, it takes some time (around half a second) till it starts, so there is this half a second gap, where nothing is listening. Therefore, I miss words that were spoken in that time difference.

On the other hand, when I use Google's Voice input, to dictate messages instead of the keyboard - this time gap does not exist. Meaning - there is a solution.

What is it?

Thanks

like image 861
Ronen Rabinovici Avatar asked May 16 '15 23:05

Ronen Rabinovici


People also ask

How can I make my speech recognition more accurate?

One of the most important factors for improving voice recognition is to use a high-quality headset microphone that holds the microphone in a consistent position directly in front of your mouth; desktop-based microphones typically provide less desirable voice-recognition results because they don't remain consistently ...

What is a continuous speech recognition?

Continuous speech recognition systems allow the user to talk to the system without stops and pauses. Continuous speech recognition systems can recognize more utterances than a command-and-control system.

How do I use Google offline speech recognition?

You can activate this by going to Settings - Language and Input - Voice Input and touch the cog icon next to Enhanced Google Services. Choose "Offline Speech Recognition" and select the "All" tab to download your preferred language if it's not already installed.


1 Answers

I'll recommend using CMUSphinx to recognize speech continuously. To achieve continuous speech recognition using google speech recognition api, you might have to resort to a loop in a background service which will take too much resources and drains the device battery.

On the other hand, Pocketsphinx works really great. It's fast enough to spot a key phrase and recognize voice commands behind the lock screen without users touching their device. And it does all this offline. You can try the demo.

If you really want to use google's api, see this

like image 165
Nana Ghartey Avatar answered Sep 21 '22 14:09

Nana Ghartey