【问题标题】:UWP Coutinuous Speech Recognition WildcardsUWP 连续语音识别通配符
【发布时间】:2016-12-29 07:34:43
【问题描述】:

我正在使用 Windows 通用应用程序,需要发出一个语音命令来接收用户的句子并填写屏幕上的字段。这些字段的示例包括姓名和出生日期。我不能在 SRGS 文件中使用 ,因为我不知道所有名称并且添加所有可能的名称将不起作用。有没有办法指示通配符值将显示在哪里,然后从命令中获取该值?谢谢!

【问题讨论】:

    标签: c# uwp speech-recognition speech


    【解决方案1】:

    我认为你可以使用Predefined grammars,AKA 主题约束作为SpeechRecognizer 的约束。

    你可以像这样指定SpeechRecognitionTopicHint的场景:

    var dictationConstraint = new SpeechRecognitionTopicConstraint(SpeechRecognitionScenario.FormFilling, "Person Name");
    

    并将您的 SRGS 文件作为约束和此主题约束一起添加到 SpeechRecognizer

    var dictationConstraint = new SpeechRecognitionTopicConstraint(SpeechRecognitionScenario.FormFilling, "Person Name");
    var grammarfileConstraint = new SpeechRecognitionGrammarFileConstraint(sgrsFile);
    speechRecognizer.Constraints.Add(dictationConstraint);
    speechRecognizer.Constraints.Add(grammarfileConstraint);
    

    虽然由于口音、噪音或其他可能的干扰,它无法确保 100% 正确获取您的语音输入,但它会自动尽力将您的语音输入转换为“人名”主题。

    【讨论】:

    • 感谢您的回答,但我有疑问。例如,如果我有句子“搜索 John Smith”。我可以使用“Person Name”键返回名称“John Smith”吗?
    • @NotMike,是的,有可能,您可以捕捉语音输入并将名称与本地数据库或名称列表进行匹配,这是关于如何处理语音识别器的结果。我的答案是可接受的答案吗?
    猜你喜欢
    • 1970-01-01
    • 2023-04-06
    • 2011-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多