Web Speech API自定义单词

ken*_*dds 8 javascript html5 w3c speech-recognition speech-to-text

我通过W3C文档阅读了这篇文章,我认为自定义单词来自自定义语法,但我尝试进入这个演示并在控制台中输入以下javascript:

recognition.grammars.addFromString('foo');
Run Code Online (Sandbox Code Playgroud)

哪个运行良好并recognition.grammars[0].src返回:"data:application/xml,foo"

注意:'foo'不是我感兴趣的词,但我感兴趣的词不是英语单词,使用'foo'作为例子.当我正常地说出我的自定义词时,它认为我在说别的东西(这是有道理的).我在这里使用'foo'来保护我的品牌:)

所以我想要的是能够说"嘿,foo"类似于"Ok,Google"的工作方式.但是我的"foo"这个词并不是一个真实的词,所以SpeechRecognitionResult没有我的自定义词.

我误解了如何添加自定义单词,还是今天不可能?

Nik*_*rev 5

当我正常地说出我的自定义词时,它认为我在说别的东西(这是有道理的).

Google在不支持语法的情况下提供非常有限的语音API实现,请参阅以下问题:

Google语音API中的语法

更重要的是,即使是原始规范在语法和处理方面也不完整.

所以我想要的是能够说"嘿,foo"类似于"Ok,Google"的工作方式.但是我的"foo"字不是一个真实的单词,所以SpeechRecognitionResult没有我的自定义单词.

此任务不是语音识别任务,因此无法通过语音识别引擎有效解决,它需要关键字定位,因为它需要过滤除关键字之外的所有语音.

您可以尝试使用Pocketsphinx javascript库(http://cmusphinx.sourceforge.net/2013/06/voice-enable-your-website-with-cmusphinx/)来实现此功能.使用pocketsphinx,在那里调试发音问题也更容易.

另请参阅Web Speech API - SpeechGrammar,它专门描述了对语法的支持.