如何在人群区域录制音频的同时用java删除背景噪音?

7 java audio microphone javasound

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

主要人说话时道路交通/空气噪音等?

谢谢

Flo*_*ian 5

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

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

回复:mkb 的评论:

  1. 当(某些或所有频率分量)的水平低于阈值时,噪声门将使音频静音。根据背景噪音的级别,这可能会有所帮助,但噪音门通常很烦人,因为只要存在“良好”的音频,您就会听到背景声,而中间却是一片寂静。
  2. 低通滤波器消除高频成分(它让低频通过)!因此,如果您的背景噪音频率较高,这可能会有所帮助。简单的 FIR 或 IIR 低通滤波器很容易实现。但如果它具有高频成分,它也会影响您的“良好”音频。