我想通过类似Skype的回声消除功能运行音频文件。iChat 和其他 VoIP 也具有此功能,但我找不到任何可以导入或打开文件的软件。
2 回答
基本方法:
确定延迟。确定幅度偏移。
反转信号。应用延迟。调整幅度。播放两个音频文件。
任何多轨音频应用程序都能够做到这一点(例如大胆、原型或逻辑)。
对于更复杂的信号,您需要更加聪明地进行过滤,理想情况下,您会在信号干扰之前抑制信号(在 Skype 场景中)。
听起来很酷,理论上很有意义,但我仍然不知道我应该如何去做。我对逻辑相当有经验,但我不知道如何确定延迟。我应该只复制文件,将其反转并移动它直到听起来不错吗?
只需直观地排列 2 个信号的瞬态即可确定延迟。然后您必须放大并确定样本的延迟以实现最佳消除。如果未关闭,则不会取消,而是添加.
幅度偏移是什么意思,是原始噪声和回声噪声之间的音量差异吗?
确切地。除了非常不寻常的情况外,回波的幅度将与源不同(通常更低),您需要知道这种差异才能最好地消除它(这个偏移量应用于反相信号,顺便说一句)。如果幅度错误,那么您将引入反相信号(可听见),或者在奇怪的情况下,回声比声源响亮,只减少部分回声。
一旦瞬变(与样本)对齐并且信号反转,然后确定音量差异 - 如果它太高或太低,它不会尽可能多地消除。
同样,这是一种基本方法。您可以做很多事情来改进它,这取决于您拥有的信号和处理器。在大多数情况下,这种方法将导致抑制,而不是消除。
为了消除回声,您需要两个文件:mic 和 reference。麦克风是包含回声的信号。参考是包含产生回声的原始音频的信号。
拥有这两个文件后,您就可以开始构建回声消除的逻辑了。从有关该主题的 wiki 页面开始。