iphone有一个实时音频应用程序,它增加了一些效果(混响、延迟等)。输入声音并回放。所以我有一个经典的放大的音频回路问题。你可能对此很熟悉。当你把麦克风靠近扬声器时,这种情况经常发生(输入的声音被放大,输出,回到扬声器,等等)。
如果能听到如何解决这个问题的想法,那就太好了。
(我已经试过:
谢谢。
发布于 2013-02-24 13:33:57
你的数字3和2号加起来可能是最好的。查找自适应声回波抵消。
使用nLMS的AEC很容易实现,但需要一些CPU。如果使用较低的采样率,则可能会起作用,这取决于回波在ms中的时间长短。
有一个快速版本,使用FFT进行适应。它没有那么快地适应,但在没有长回音尾的移动应用程序上可能会很好。
AEC的工作方式是将扬声器和麦克风之间的回声路径收敛到声学模型上,然后使用该模型从麦克风输入中减去输出回波。它知道出了什么,它把它通过模型,并得到一个回声将是什么猜测,然后从输入移除回声。随着时间的推移,模型变得越来越好,回声也越来越小。
发布于 2013-03-07 10:13:16
你可能已经知道了这一点,但为了安全起见--确保你正在将输出路由到正确的扬声器。正如它所指出的,当您设置“播放和录制”音频会话类别时,默认的输出是最高的扬声器(您在通话期间听的那个)。底部还有另一个扬声器,因为它离麦克风更近,它会产生更多的反馈。如果您设置了“播放和录制”类别,通常需要手动操作才能路由到错误的(底部)扬声器,但我想我可以肯定地提到它。
发布于 2013-03-09 14:24:33
为了帮助其他人解决这个问题: AEC加上高通、低通滤波器的组合.
http://speex.org,这是AEC的工作。高通,低通过滤器很容易实现。(有关LP、HP过滤器的实现,请参阅Apple示例)
https://stackoverflow.com/questions/15046327
复制相似问题