当我使用JavaSound或第三方声音捕获工具捕获并将其记录到文件中时。之后再读取文件进行修改,有没有办法用我的java应用程序删除“背景噪音”。
当主要人士说话时道路交通/空气噪音?
由于
答案 0 :(得分:4)
去除背景噪音非常困难。如果它是均匀的噪声,例如飞机上的“白色”噪声,则存在去除那些频率分量的算法。但是,如果噪音不均匀且性质与您的良好录音相似,例如人们在后台说话,街道噪音等,将它们分开是很困难的。已经对此进行了大量研究。
至少,你需要确切地知道好音频是什么,以及什么是坏音频。例如。如果您正在捕获语音,可能会有特殊的音频修复软件可用于将语音与其他声音分开,例如http://www.izotope.com/products/audio/rx/。如果您正在以立体声录制语音,则可以通过分析语音的左/右位置,然后通过左右关联来移除非语音组件来成功。
回复:mkb的评论:
答案 1 :(得分:1)
一个非常简单的noise gate并不难实现。
答案 2 :(得分:1)
MARF (Modular Audio Recognition Framework)在their manual中提到“噪音消除”(通过使用2阶段:噪音配置阶段然后消除噪音阶段,类似于Audacity's Noise Removal)...
......但不幸的是,它还没有实施。 :(