与Voce一起提供的语音识别示例(recognitionTest.java)无法编译,并为语法文件提供了“无效资源”错误。 (digits.gram)
我尝试在init函数中同时使用相对路径和绝对路径,但是在两种情况下都会发生相同的错误。
在Processing示例和独立Java示例上都会发生这种情况。

我已经成功地分别为CMUSphinx和FreeTTS开发了应用程序,并且它们运行良好,但是不能通过Voce使用它。

我正在使用Windows 8 x64版本和Java版本1.7.0_25。

当我意识到各个论坛上的其他几个人都面临类似的问题时,请帮忙。

最佳答案

我给Voce的创建者Tyler Streeter发了电子邮件,他帮助我解决了这个问题。

基本上,voce.SpeechInterface.init()实际上是在查找文件URL,而不是字符串。

因此,这是使代码正常工作的方法:

try {
    grammarPath = new File("\\Path\\To\\grammar\\").toURI().toURL().toString();
} catch (Exception e) {
    help.setText("" + e);
}
 voce.SpeechInterface.init("./lib", true, true, grammarPath, "digits");

10-05 18:00