验证JSGF语法的最佳方法是什么?我在线尝试了几次搜索,没有任何事情发生在我身上......
理想情况下,有一个命令行工具,如jsonlint for json?
答案 0 :(得分:1)
要验证JSGF文件,我只需在终端中使用JSGF选项启动pocketsphinx_continuous(来自CMU Pocketpshinx):
pocketsphinx_continuous -jsgf my_grammar.jsgf -inmic yes
您将看到语法文件中是否有任何错误(语法错误,或者字典中是否存在单词)。如果您的文件有效,您将看到“READY ....”作为终端中的最后一行。另外,你可以尝试你的语法,看看它是否有效(例如,它可能在语法上是正确的,但仍然有空的语音循环,会导致识别失败)。
如果您正在使用CMU中的另一个识别器而不是pocketsphinx,那么安装pocketpshinx(您还需要sphinxbase)仍然是值得的:https://github.com/cmusphinx/pocketsphinx
除此之外,我还没有听说过一个纯粹的JSGF验证器,我的解决方案可能有些过分,但它确实有效。