无法加载外部ruleref Microsoft Speech Grammar

时间:2012-08-22 22:38:16

标签: grammar speech microsoft-speech-api

我正在使用Microsoft Speech API执行语音识别。

在我使用外部ruleref(根据http://msdn.microsoft.com/en-us/library/hh361619

之前,一切都很好
<grammar version="1.0" xml:lang="fr-FR" mode="voice" root="ruleCalendar" xmlns="http://www.w3.org/2001/06/grammar" tag-format="semantics/1.0">
  <rule id="ruleAddEvent">
    <item>Hello</item>
    <ruleref uri="#world" />
  </rule>
</grammar>

工作正常,但如果我通过外部文件替换ruleref,识别器循环上的RecognizeCompleted事件似乎匹配任何东西。

    <ruleref uri="other.xml#world" />
  • 我试图引用一个非常简单的文件
  • 我试图引用cmnrules.cfg
  • 我尝试设置绝对路径
  • 文件上升解析错误如果我输入错误
  • 如果我在ruleref中输入了错误的值,例如other2.xml,它仍会循环

C#代码在这里l.75: https://github.com/JpEncausse/WSRMacro/blob/master/WSRMacro/WSRMacro.cs

我认为它找不到由ruleref定义的文件。

  • 是否按相对路径搜索?
  • 有没有办法设置默认语法目录?

1 个答案:

答案 0 :(得分:1)

根据previous comment,这似乎是一个已知的错误......