I rise vadThreshold to 3.6, it can recognize my commands now.
It may help with the speed to raise it to the highest possible while it can still recognize your speech.
Q: Dose it matters? If I add this command to the LanguageModelGeneratorLookupList.text, will it help to speed up the recognition process ?
It doesn’t matter in terms of speed, unless you are seeing that it is this word only that is causing slow results (that is very unlikely)
Q: How can I set the vad_postspeech and vad_prespeech params ?
It isn’t necessary to do anything with these parameters.
It took about 10s to finsh one recognition, how can I reduce the time?
It only took two seconds to do the recognition. This is where the end of speech happens in your log (OpenEars first waits for the speaker to complete their utterance and then it starts recognizing it):
2016-05-10 12:31:51.253 OpenEarsSampleApp[779:60b] Local callback: Pocketsphinx has detected a second of silence, concluding an utterance.
This is where the hypothesis from the completed recognition is given:
2016-05-10 12:31:53.221 OpenEarsSampleApp[779:3807] Pocketsphinx heard “小宝去充电” with a score of (-21356) and an utterance ID of 14.
That is 12:31:51.253 – 12:31:53.221 or almost exactly two seconds.
So, if something seems like it is 10 seconds, it is something else besides recognition time. This could be because Flite is speaking in between, or it could be because the end of user speech is not being recognized at the right time because vadThreshold is too low.
When it detects speech, the cpu usage rises to about 100% and the peak lasts for about 6 seconds.
That seems a little doubtful to me, since there are only two seconds in which the speech is being analyzed and the CPU doesn’t need to work much before the speech is being analyzed. Are you sure that isn’t Flite speech being generated that is using the CPU?