3

我想通过类似Skype的回声消除功能运行音频文件。iChat 和其他 VoIP 也具有此功能,但我找不到任何可以导入或打开文件的软件。

4

2 回答 2

1

基本方法:

确定延迟。确定幅度偏移。

反转信号。应用延迟。调整幅度。播放两个音频文件。

任何多轨音频应用程序都能够做到这一点(例如大胆、原型或逻辑)。

对于更复杂的信号,您需要更加聪明地进行过滤,理想情况下,您会在信号干扰之前抑制信号(在 Skype 场景中)。


听起来很酷,理论上很有意义,但我仍然不知道我应该如何去做。我对逻辑相当有经验,但我不知道如何确定延迟。我应该只复制文件,将其反转并移动它直到听起来不错吗?

只需直观地排列 2 个信号的瞬态即可确定延迟。然后您必须放大并确定样本的延迟以实现最佳消除。如果未关闭,则不会取消,而是添加.

幅度偏移是什么意思,是原始噪声和回声噪声之间的音量差异吗?

确切地。除了非常不寻常的情况外,回波的幅度将与源不同(通常更低),您需要知道这种差异才能最好地消除它(这个偏移量应用于反相信号,顺便说一句)。如果幅度错误,那么您将引入反相信号(可听见),或者在奇怪的情况下,回声比声源响亮,只减少部分回声。

一旦瞬变(与样本)对齐并且信号反转,然后确定音量差异 - 如果它太高或太低,它不会尽可能多地消除。

同样,这是一种基本方法。您可以做很多事情来改进它,这取决于您拥有的信号和处理器。在大多数情况下,这种方法将导致抑制,而不是消除。

于 2012-05-10T20:29:28.720 回答
1

为了消除回声,您需要两个文件:mic 和 reference。麦克风是包含回声的信号。参考是包含产生回声的原始音频的信号。

拥有这两个文件后,您就可以开始构建回声消除的逻辑了。从有关该主题的 wiki 页面开始。

于 2012-05-12T05:57:01.513 回答