如何减少Sphinx4应用程序中的噪音

时间:2015-03-15 09:52:09

标签: speech-recognition cmusphinx sphinx4 noise-reduction

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

主要问题是如何实施降噪。这是因为即使我不在麦克风中说任何话,系统也会检测输入。所以我猜它是因为噪音。

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

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

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

我正在使用eclipse和sphinx4-1.0beta6

虽然在SPHINX4中有关于“如何消除噪音取消”的堆栈溢出问题,但尚未得到解答

1 个答案:

答案 0 :(得分:3)

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

按照教程:

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

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

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