与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");