我是Kinect用户第一次想要编写一个应用程序,当它听到句子中的特定关键字(或关键短语)时会响应。例如,如果短语是“那种方式”,我希望Kinect接受以下句子的匹配:
......等等。
在网上查看文档时,我得到的印象是Kinect只能通过Grammar
课程获得对话语的认可 - 基本上,我必须知道在写作之前包含这些关键字/短语的所有话语这个应用程序,而不是只是在一个更大的,未知的话语中匹配关键字/短语。
这准确吗?或者有没有办法用Kinect做到这一点?
答案 0 :(得分:2)
一般来说,是的 - 您的印象是正确的。
首先要指出的是Kinect实际上只是一个语音麦克风。它对语音处理没有任何作用,因此如果您找到一个更符合您需求的软件包,您就不会受到任何特定库的约束。
使用Microsoft Speech时,您必须更清楚自己想要匹配的内容。寻找单个单词(例如," Mary"和#34; Lamb")并希望它会拾取短语(例如," Mary有一只小羊羔")将证明难。以下是两个链接,可以让您了解Microsoft Speech的可能性:
第二个链接非常好,它将向您展示如何定制语法查找,以便您更好地找到所需内容。例如,添加可选单词和替代短语。对于更复杂的语法,SRGS格式的文件实际上是(在我看来)代码的方式。
但所有希望都没有失去。 Microsoft Speech提供了一些可以帮助你的宝石......
置信度 - 您可以告诉引擎对词汇表稍微宽松一些。如果您只是在4-5个单词中寻找2个单词,这对您来说可能非常有用!根据应用程序进行各种修复,因此我无法确定它是否适合您的需求...但它可能有所帮助。
语音假设 - 除语音识别事件外,Microsoft Speech还有一个假设事件。它有点宽松,可以捕捉属于较大词组的项目。再次,millage总是各种各样,所以我不能肯定地说这将是解决方案 http://msdn.microsoft.com/en-us/library/system.speech.recognition.speechrecognizer.speechhypothesized.aspx
最后一点,您可以查看Dragon Natural Speaking等软件包。像Dragon这样的公司已投入大量精力创建软件包,让人们能够更自然地说话,而无需学习新的短语。