【发布时间】:2018-10-03 17:25:54
【问题描述】:
我一直在使用 Web Audio API 并使用笔记本电脑的麦克风作为输入源。但是,当我收听输入时,我会听到很多白噪声;我怎样才能创建一个过滤器来减少噪音,使声音更清晰?是否有任何库为这种情况提供预先编写的噪声过滤器?
【问题讨论】:
-
没有魔法噪音过滤器这样的东西。引入噪音的方式有很多种,消除噪音的方式也很多,具体取决于您处理的噪音类型。此外,您是要在客户端还是在服务器上过滤这种噪音?当您过滤掉噪音时,您也会过滤信号,从而降低音频质量。也许你只需要一个简单的噪音门?你的申请是什么?
-
我意识到没有“魔术过滤器”,但我认为人们使用标准方法来构建噪声过滤器。我正在使用 Web Audio API,所以这将是客户端。也许我正在寻找一个噪音门,如何创建一个?
-
我对Web Audio API不太熟悉,但一般来说,门只是在级别达到某个阈值之前不允许音频通过。这个想法是,当你不说话时,没有音频通过。当电平低于阈值时,您听不到噪音(或任何声音)。当它在上面时,你会听到噪音,但它会被你的声音掩盖。另一种方法是获取噪声的频谱样本,然后从流中减去该频谱。这对于特定类型的噪音更好,例如 60hz 泄漏。它还会降低音频质量。
-
很难以听起来不刺耳的方式滤除环境噪音。录音工程师会在鼓上使用门限 - 但不自然的声音会被混音的其余部分掩盖。据我所知,没有任何用于实现门的 Web 音频 API 库 - 规范中也没有门或扩展器。你可以写一个,但这并不简单,因为你需要控制阈值、攻击/释放和保持。根据您要做什么,最好的选择可能是尝试找到一个噪音较小的环境。好房间 + 好来源 = 好信号。
标签: javascript html5-audio web-audio-api