我是sphinx4和语音识别的新手。我正在使用sphinx4创建一个语音应用程序。问题是噪声,即使没有用户的语音输入,它也会导致程序识别。即使用户没有语音输入,它也会将语音转换为文本,从而影响准确性。
主要问题是如何实现降噪。这是因为即使我没有对着麦克风说话,系统也能检测到输入。所以我猜是因为噪音。
我在网上查看了降低噪音的信息,但几乎没有关于同样的信息。虽然在网上有一些关于sphinx4自带的Denoise.java文件的信息。但在sphinx4-1.06中没有。
另一个文件是WienerFilter.java,wienerfilter是一种用于噪声信号的滤波器。但是没有关于使用或实现该文件的说明。
我已经在程序的语法文件hello.gram中添加了更多的单词。由Imtool生成的这些额外单词的语音表示已添加到字典中。
我正在使用eclipse和sphinx4-1.0beta6
虽然在SPHINX4中有一个关于“如何激活噪声消除”的堆栈溢出问题,但还没有得到回答
发布于 2015-03-15 23:04:42
在最新版本sphinx4-5prealpha中,默认情况下启用了带谱减法的静态噪声消除。您不需要做任何特殊的事情,只需使用最新版本。
按照本教程进行操作:
http://cmusphinx.sourceforge.net/wiki/tutorialsphinx4
如果你使用的是语法解码,而不是使用语言模型的大词汇量解码,那么在最新版本中会忽略额外的语音。如果你使用语法解码,它应该忽略语法中的所有单词。对于不在语法中的单词,它应该返回一个特殊的单词<unk>。
准确性调试是一个复杂的过程,需要测试记录来重现准确性问题。如果没有测试记录,就很难向您建议如何提高准确性。除了测试记录之外,您还需要提供您在解码时使用的模型和其他信息来重现您的结果。
https://stackoverflow.com/questions/29059287
复制相似问题