Question

I need to detect if there is voice in the environment, and I need to do all the processing in the phone without sending any sound information to a server because of privacy concerns.

I know there is a class in android called SpeechRecognizer http://developer.android.com/reference/android/speech/SpeechRecognizer.html

But as far as I know, it needs to be connected to a google server (or other server). My question is if there is a way of using this class to detect voice without sending info through internet.

I read a tip from here http://www.itworld.com/mobile-wireless/327712/use-offline-speech-text-your-android-jelly-bean-device which says that I could "Download offline speech recognition", but I don't know if this is enough for my needs.

I have some knowledge of signal processing and classification and I think I could develop a voice activity detection by using the Android AudioRecord class, but I would like to know first if SpeechRecognizer permits the detection offline (And how it does) so I could save time.

Thanks in advance for your response.

Was it helpful?

Solution

SpeechRecognizer is a way of connecting apps to speech recognizers. These speech recognizers extend RecognitionService. Some of these speech recognizers might do offline recognition, some of them might claim that they do, but actually don't. So if you have privacy concerns then rather implement your own recognizer.

The other question is if speech recognition is the right tool for voice activity detection.

Regarding the API to the speech recognizer, i.e. the constants in RecognizerIntent, there is no boolean for online/offline or anything specific for voice activity.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top