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