Speech recognition 在实践中使用cmusphinx进行文本对齐,如何提高识别成功率?
我正在使用cmusphinx进行文本对齐。我下载了最新的sphinx4,通过使用代码附带的WSJ声学模型和字典修改其中一个演示来构建文本对齐器。它确实偶尔会起作用,但对于许多相当好的发音和简单的文本来说,它就是失败了 原因是什么?是不是我使用的语言模型太有限了,我应该下载更多的模型数据来提供给识别器?有没有什么好的预先打包的sphinx发行版可以让我不用使用不同的语言模型进行测试和配置软件 非常感谢:) 这是我认为重要的代码Speech recognition 在实践中使用cmusphinx进行文本对齐,如何提高识别成功率?,speech-recognition,text-alignment,cmusphinx,sphinx4,Speech Recognition,Text Alignment,Cmusphinx,Sphinx4,我正在使用cmusphinx进行文本对齐。我下载了最新的sphinx4,通过使用代码附带的WSJ声学模型和字典修改其中一个演示来构建文本对齐器。它确实偶尔会起作用,但对于许多相当好的发音和简单的文本来说,它就是失败了 原因是什么?是不是我使用的语言模型太有限了,我应该下载更多的模型数据来提供给识别器?有没有什么好的预先打包的sphinx发行版可以让我不用使用不同的语言模型进行测试和配置软件 非常感谢:) 这是我认为重要的代码 byte[] bytes = readContentOfAOggFil
byte[] bytes = readContentOfAOggFile();
ByteArrayInputStream inputStream = new ByteArrayInputStream(bytes);
grammar = (ResetableTextAlignGrammar) cm.lookup("textAlignGrammar");
grammar.setTextAfterAllocation(referenceText);
AudioInputStream ai = AudioSystem.getAudioInputStream(inputStream);
dataSource.setInputStream(ai, null);
dataSource = (AudioFileDataSource) cm.lookup("audioFileDataSource");
dataSource.setInputStream(stream, null);
result = recognizer.recognize();
请注意,此代码适用于半个单字句子
原因是什么
你需要分享你试图得到答案的数据
是不是我使用的语言模型太有限了,我应该下载更多的模型数据来提供给识别器
不太可能
有没有什么好的预先打包的sphinx发行版可以让我不用使用不同的语言模型进行测试和配置软件
一旦你共享了测试数据,就很容易说出那里发生了什么。你能看看我这里的数据文件吗:都是16k单声道声音文件。共享的文件是ogg,现在是wav。对齐的文本是什么?文本是文件名。因为sphinx使用java声音,所以如果您在构建路径中包含了ogg解码器,那么使用ogg就可以了。我已经把它包括进去了,而且它在很多情况下都是有效的。@Ninolay Shmyrev我使用jdogg进行ogg解码。