当对提供的wav文件运行CMU Sphinx时,我得到这个错误:
SEVERE: Missing HMM for unit P with lc=R rc=ER0
19:06:29.696 SEVERE lexTreeLinguist Bad HMM Unit: EH1
Aug 16, 2016 7:06:29 PM edu.cmu.sphinx.linguist.lextree.HMMTree addPronunciation
SEVERE: Missing HMM for unit N with lc=EH1 rc=Z
19:06:29.697 SEVERE lexTreeLinguist Bad HMM Unit: OW0
Exception in thread "main" java.lang.NullPointerException
at edu.cmu.sphinx.linguist.lextree.HMMNode.getBaseUnit(HMMTree.java:494)
at edu.cmu.sphinx.linguist.lextree.HMMNode.<init>(HMMTree.java:472)
at edu.cmu.sphinx.linguist.lextree.Node.addSuccessor(HMMTree.java:164)
at edu.cmu.sphinx.linguist.lextree.HMMTree$EntryPoint.createEntryPointMap(HMMTree.java:1154)
at edu.cmu.sphinx.linguist.lextree.HMMTree$EntryPointTable.createEntryPointMaps(HMMTree.java:1012)
at edu.cmu.sphinx.linguist.lextree.HMMTree.compile(HMMTree.java:784)
at edu.cmu.sphinx.linguist.lextree.HMMTree.<init>(HMMTree.java:706)
at edu.cmu.sphinx.linguist.lextree.LexTreeLinguist.generateHmmTree(LexTreeLinguist.java:428)
at edu.cmu.sphinx.linguist.lextree.LexTreeLinguist.compileGrammar(LexTreeLinguist.java:416)
at edu.cmu.sphinx.linguist.lextree.LexTreeLinguist.allocate(LexTreeLinguist.java:335)
at edu.cmu.sphinx.decoder.search.WordPruningBreadthFirstSearchManager.allocate(WordPruningBreadthFirstSearchManager.java:243)
at edu.cmu.sphinx.decoder.AbstractDecoder.allocate(AbstractDecoder.java:103)
at edu.cmu.sphinx.recognizer.Recognizer.allocate(Recognizer.java:164)
at edu.cmu.sphinx.api.StreamSpeechRecognizer.startRecognition(StreamSpeechRecognizer.java:52)
at edu.cmu.sphinx.api.StreamSpeechRecognizer.startRecognition(StreamSpeechRecognizer.java:39)我正在使用the CMUDict on Github和一个语言模型on sourceforge
当谷歌搜索这个错误时,人们暗示声学模型和字典之间存在不匹配。但是,我找不到任何关于哪些模型/字典是兼容的文档。CMU网站不提供任何指导。我已经尝试了几次配对,但如果能得到直接指导,我将不胜感激。
发布于 2016-08-17 13:57:27
与该模型兼容的字典已经包含在发行版和source tree中。
github项目中的字典在音素中有重音标记,在解码器中使用之前必须用脚本删除这些重音标记。
https://stackoverflow.com/questions/38987245
复制相似问题