7

当我使用 JavaSound 或第三方声音捕获工具进行捕获并将其记录到文件中时。之后读回文件进行修改,有没有办法用我的java应用程序去除“背景噪音”。

例如主要人物说话时的道路交通/空气噪音?

谢谢

4

3 回答 3

4

去除背景噪音非常困难。如果是均匀噪声,例如飞机上的“白”噪声,则有算法可以去除这些频率分量。但是,如果噪音不均匀且性质与您的良好录音相似,例如背景中的人说话、街道噪音等,则很难将它们分开。对此已经做了很多研究。

至少,您需要确切地知道什么是好音频,什么是坏音频。例如,如果您正在捕获语音,可能有特殊的音频修复软件可用于将语音与其他声音分开,例如http://www.izotope.com/products/audio/rx/。如果您以立体声录制声音,您可以通过分析声音的左/右位置,然后通过左右关联来去除非声音成分,从而获得成功。

回复:mkb 的评论:

  1. 当(某些或所有频率分量的)电平低于阈值时,噪声门将使音频静音。根据您的背景噪音水平,这可能会有所帮助,但噪音门通常很烦人,因为只要您的“好”音频在那里,您就会听到背景,并且两者之间有沉默。
  2. 低通滤波器去除高频成分(它让低频通过)!因此,如果您的背景噪音是高频的,它可能会有所帮助。一个简单的 FIR 或 IIR 低通滤波器很容易实现。但如果它有高频成分,它也会影响你的“好”音频。
于 2011-08-09T10:20:09.727 回答
1

MARF(模块化音频识别框架)在他们的手册中提到了“噪声去除” (通过使用 2 阶段:噪声轮廓阶段然后噪声去除阶段,类似于Audacity 的噪声去除)......

...但不幸的是,它尚未实施。:(

于 2015-03-06T17:27:10.830 回答
0

一个非常简单的噪声门并不难实现。

于 2011-08-02T18:43:59.163 回答