需要一种算法(或对各种输入数据进行比较的一组好算法)来降低语音音频信号的噪声水平,而不需要使用Java对信号进行明显的失真。
输入是一种音频信号,包括声音和一些背景噪声。在录音的过程中,噪音是不同的。有一定的方法来消除像这样的噪音,发展起来的声音识别和电影制作。
所需的输出是一个最小失真的声音信号,背景干扰最小,人耳可听到。量化标准被最小化。
发布于 2017-02-18 20:32:39
您正在寻找自适应噪声去除,并可能有各种适应变化的噪音条件随着时间的变化,在同一流或文件。
较早的做法包括:
在试图清理更大的文件或多个文件或实时应用程序(如实时语音识别或电话)时,发现这些方法不太理想。
我没有亲自尝试过他的这里的一个Java程序。尽管它具有一定程度的自动化,但它是一种LSE (最小二乘估计器),它跨数据块工作,但不适合连续操作或改变不需要的噪声条件的音频文件。(它不像人们所希望的那样具有适应性。)
经过大量调查后,我发现的解决方案现在一直在使用,而不是用Java编写的。这是一个MATLAB程序,也可以在开放源码的Octave中运行,只需进行最少的修改。我开始将它移植到C++,但没有时间完成它。
它实现的一类算法称为MMSE (使用最小均方估计的降噪)。汉德里克斯博士对MATLAB版本进行了多次改进,并以2010年版本作为总结。
我已经把它和它的竞争对手在对话和音乐方面进行了比较,在我尝试过的任何情况下,它都是与其他竞争者一样的或超越了其他竞争者。(除了我喜欢他在那个平台上实现的结果外,我与亨德里克斯博士或MATLAB没有任何联系。)
https://stackoverflow.com/questions/42314122
复制相似问题