当我使用 JavaSound 或第三方声音捕获工具进行捕获并将其记录到文件中时。之后读回文件进行修改,有没有办法用我的java应用程序去除“背景噪音”。
例如主要人物说话时的道路交通/空气噪音?
谢谢
当我使用 JavaSound 或第三方声音捕获工具进行捕获并将其记录到文件中时。之后读回文件进行修改,有没有办法用我的java应用程序去除“背景噪音”。
例如主要人物说话时的道路交通/空气噪音?
谢谢
去除背景噪音非常困难。如果是均匀噪声,例如飞机上的“白”噪声,则有算法可以去除这些频率分量。但是,如果噪音不均匀且性质与您的良好录音相似,例如背景中的人说话、街道噪音等,则很难将它们分开。对此已经做了很多研究。
至少,您需要确切地知道什么是好音频,什么是坏音频。例如,如果您正在捕获语音,可能有特殊的音频修复软件可用于将语音与其他声音分开,例如http://www.izotope.com/products/audio/rx/。如果您以立体声录制声音,您可以通过分析声音的左/右位置,然后通过左右关联来去除非声音成分,从而获得成功。
回复:mkb 的评论:
MARF(模块化音频识别框架)在他们的手册中提到了“噪声去除” (通过使用 2 阶段:噪声轮廓阶段然后噪声去除阶段,类似于Audacity 的噪声去除)......
...但不幸的是,它尚未实施。:(
一个非常简单的噪声门并不难实现。