我现在已经和Sphinx争吵了一段时间,突然之间我一直得到这个断言错误,内容如下:
Exception in thread "main" java.lang.AssertionError
at edu.cmu.sphinx.result.Lattice.<init>(Lattice.java:170)
at edu.cmu.sphinx.api.SpeechResult.<init>(SpeechResult.java:43)
at edu.cmu.sphinx.api.AbstractSpeechRecognizer.getResult(AbstractSpeechRecognizer.java:51)
at AudioRecognizer.getAudioFileResult(AudioRecognizer.java:38)
at AudioRecognizer.processAudioFile(AudioRecognizer.java:45)
at AudioRecognizer.main(AudioRecognizer.java:115)
我的代码中遇到的问题是
SpeechResult result = recognizer.getResult();
Sphinx的源代码中遇到的问题是
assert token != null && token.getWord().isSentenceEndWord();
以前没有问题。我唯一改变的是我删除了语言模型并使用了语法(我在setGrammarPath(true)
,setGrammarName()
和setGrammarPath()
添加了当然有适当参数的语法),当我追踪时它通过Eclipse上的调试token
似乎不是null
。它所看到的音频文件实际上只是一个人说'#34; span。&#34;
有没有人对此问题有任何见解?我完全不知道为何不再有效。