首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在人群区域录制音频时,如何用java去除背景噪音?

在人群区域录制音频时,如何用java去除背景噪音?
EN

Stack Overflow用户
提问于 2011-08-03 02:29:05
回答 3查看 9.4K关注 0票数 7

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

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

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-08-09 18:20:10

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

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

回复:mkb的评论:

当(部分或全部频率分量)的电平低于阈值时,

  1. 噪声门将使音频静音。根据你的背景噪声水平,这可能会有帮助,但噪声门通常是恼人的,因为只要你的“好”音频在那里,你就会听到背景,而在背景之间就会有静音。
  2. 低通滤波器去除了高频成分(它让低频通过)!因此,如果你的背景噪音是高频的,它可能会有所帮助。简单的FIR或IIR低通滤波器很容易实现。但它也会影响你的“好”音频,如果它有高频成分。
票数 4
EN

Stack Overflow用户

发布于 2015-03-07 01:27:11

MARF (Modular Audio Recognition Framework)their manual中提到了“噪声去除”(通过使用两阶段:噪声剖面阶段,然后噪声去除阶段,类似于Audacity's Noise Removal)……

..。但不幸的是,它还没有实现。:(

票数 1
EN

Stack Overflow用户

发布于 2011-08-03 02:43:59

一个非常简单的noise gate实现起来并不困难。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6916779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档