0

我是 sphinx4 和语音识别的新手。我正在使用 sphinx4 创建语音应用程序。问题是噪声,即使用户没有语音输入,程序也会识别,即即使用户没有语音输入,它也会将语音转换为文本,从而影响准确性。

主要问题是如何实现降噪。这是因为即使我没有对着麦克风说话,系统也会检测到输入。所以我猜是因为噪音。

我在网上查了降噪,但几乎没有明确的信息。尽管互联网上有一些关于 sphinx4 附带的名为 Denoise.java 的文件的信息。但它在 sphinx4-1.06 中不存在。

另一个文件是 WienerFilter.java,wienerfilter 是用于噪声信号的滤波器类型。但没有使用或实施该文件的说明。

我已经在程序的语法文件 hello.gram 中添加了更多单词。由 Imtool 生成的这些额外单词的语音表示已添加到字典中。

我正在使用 eclipse 和 sphinx4-1.0beta6

尽管在 SPHINX4 中的“如何激活噪声消除”中有一个关于堆栈溢出的问题,但尚未得到解答

4

1 回答 1

3

在最新版本的 sphinx4-5prealpha 中,默认启用了带频谱减法的静态噪声消除。您不需要做任何特别的事情,只需使用最新版本即可。

按照教程:

http://cmusphinx.sourceforge.net/wiki/tutorialsphinx4

如果您使用语法解码,而不是使用语言模型的大词汇解码,则在最新版本中会忽略额外的语音。如果您使用语法解码,它应该忽略语法中的所有单词。对于不在语法中的单词,它应该返回一个特殊的单词<unk>

精度调试是一个复杂的过程,需要测试记录来重现精度问题。如果没有测试记录,很难建议您如何提高准确性。除了测试记录,您还需要提供用于解码的模型和其他信息以重现您的结果。

于 2015-03-15T15:04:41.747 回答