我正在开发基于Microsoft Speech API的C#应用程序。 我需要在我的应用程序中管理静态和自由文本。例如,用户可以说"搜索文件[此处为免费听写让用户提供文件名]"。
根据这篇文章(Combine free-form dictation and semantic in a srgs grammar),我尝试使用以下语法:
<grammar version="1.0" xml:lang="fr-fr" mode="voice" root="toplevel"
xmlns="http://www.w3.org/2001/06/grammar" tag-format="semantics/1.0" >
<rule id="toplevel" scope="public">
<ruleref uri="#tmkAction" />
<ruleref special="GARBAGE"/>
<ruleref uri="#tmkItemType" />
<ruleref uri="sapi:dictation" type="application/srgs+xml"/>
<tag>out.SpokenText=rules.latest();</tag>
</rule>
但是,根据验证器,这个语法文件不正确(&#34;警告:无法加载外部语法&#39;语法:听写&#39;&#34;)并且不起作用。
有没有人知道如何在Microsoft Speech Platform中混合使用自由文本和静态语法?
谢谢