当我使用JavaSound或第三方声音捕获工具捕获并将其录制到文件中时。然后读回文件来修改它,有没有办法用我的java应用程序消除“背景噪音”。
例如,当主要人物说话时,道路交通/空气噪音?
谢谢
发布于 2011-08-09 18:20:10
去除背景噪声是非常困难的。如果是均匀噪声,例如飞机上的“白”噪声,则有算法可以去除这些频率分量。但如果噪音不均匀,性质与你的好录音相似,例如背景中的人说话,街道噪音等,就很难将它们区分开来。在这方面已经做了大量的研究。
至少,你需要确切地知道什么是好的音频,什么是坏的音频。例如,如果您正在捕获语音,则可能有特殊的音频修复软件可用于将语音与其他声音分开,例如http://www.izotope.com/products/audio/rx/。如果您在立体声中录制语音,您可以通过分析语音的左/右位置,然后通过关联左和右来删除非语音成分,从而获得成功。
回复:mkb的评论:
当(部分或全部频率分量)的电平低于阈值时,
发布于 2015-03-07 01:27:11
MARF (Modular Audio Recognition Framework)在their manual中提到了“噪声去除”(通过使用两阶段:噪声剖面阶段,然后噪声去除阶段,类似于Audacity's Noise Removal)……
..。但不幸的是,它还没有实现。:(
发布于 2011-08-03 02:43:59
一个非常简单的noise gate实现起来并不困难。
https://stackoverflow.com/questions/6916779
复制相似问题