谷歌眼镜和语音识别的时间延迟确认结果(Google Glass and Speech Recogni

2019-10-21 01:02发布

我的工作是将通过语音执行“忘词”和“上牌”玻璃的应用。 该应用程序工作得很好,除了从当一句话也没说要当执行动作就是1秒以上的时间。 这是一个足够长的时间延迟,这是明显的。 这不尽快谷歌有它以“OK玻璃”作出回应。

最明显的变化似乎是实施:EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS和/或EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS和/或EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS

但目前没有任何效果。 它也是在Android的RecognizerIntent网页注意到所有这三道:“还请注意,某些值可能会导致意外或意外的结果 - 明智地使用另外,根据识别器实现,这些值可能没有任何效果!”

下面是代码,如何这主实现:

        speechIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
    speechIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
    speechIntent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, getApplication().getPackageName());
    speechIntent.putExtra(RecognizerIntent.EXTRA_PARTIAL_RESULTS, true);
    speechIntent.putExtra(RecognizerIntent.EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS, Long.valueOf(100));
    speechIntent.putExtra(RecognizerIntent.EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS, Long.valueOf(100));
    speechIntent.putExtra(RecognizerIntent.EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS, Long.valueOf(100));

    speechRecognizer = SpeechRecognizer.createSpeechRecognizer(this);
    speechRecognizer.setRecognitionListener(this);

    if (SpeechRecognizer.isRecognitionAvailable(this)) {
        speechRecognizer.startListening(speechIntent);

        }

我曾尝试与新龙(),并更换Long.valueOf()仅100(我也试过500的值,如果由于某种原因,100只是小)。 使用Long.valueOf建议Eclipse的警告()。

结果在onPartialResults回来,这个过程中更好地工作,然后onResults因为onResults等待一个暂停。 由于测试了上述3个演员,我不得不回来onResults的结果,但没有改变。

什么我在这里失踪的任何想法? 如果您需要看到更多的代码,让我知道。 谢谢。

Answer 1:

对于这样简单的命令,你应该使用情境语音菜单 ,而不是争取更好的成绩的语音识别。

你可以看到目前批准的命令列表在这里 ,但在开发过程中,你可以使用任何你想要的命令(通过增加开发许可到您的清单)。

请务必同时提交任何新的语音指令,您可能需要,如果你想经历在今后的审查过程和启动。



文章来源: Google Glass and Speech Recognizer time delay recognizing results