我通读了W3C文档,我认为自定义单词来自自定义语法,但我尝试转到此演示并在控制台中输入以下javascript:
recognition.grammars.addFromString('foo');
运行良好,recognition.grammars[0].src
回报:"data:application/xml,foo"
但我感兴趣的单词不是英语单词,以"foo"为例。当我正常说出我的自定义单词时,它认为我在说别的东西(这是有道理的)。我在这里使用"foo"来保护我的品牌:)
所以我想要的是能够说"嘿,foo",类似于"好的,谷歌"的工作方式。但是我的"foo"词不是实际的词,所以SpeechRecognitionResult
没有我的自定义词。
我是否误解了如何添加自定义单词,或者今天这是不可能的?
当我正常说出我的自定义单词时,它认为我在说别的东西(这是有道理的)。
Google提供了非常有限的语音API实现,不支持语法,请参阅有关该问题:
谷歌语音 API 中的语法
此外,即使是原始规范在语法及其处理方面也不完整。
此任务不是语音识别所以我想要的是能够说"嘿,foo",类似于"好的,谷歌"的工作方式。但是我的"foo"字不是实际的词,所以SpeechRecognitionResult没有我的自定义词。
任务,因此语音识别引擎无法有效解决,它需要关键字发现,因为它需要过滤除关键字之外的所有语音。
您可以尝试使用Pocketsphinx javascript库(http://cmusphinx.sourceforge.net/2013/06/voice-enable-your-website-with-cmusphinx/)来实现这一点。使用pocketsphinx,在那里调试发音问题也更容易。
另请参阅 Web 语音 API - 语音语法,其中专门描述了对语法的支持。