Linux上的软件声音消除(破坏性干扰)工具?

时间:2011-02-02 14:48:49

标签: linux audio noise

我正在寻找一些软件,这些软件可以让我在Skype上与某人交谈时听音乐。问题是,如果你用扬声器这样做,音乐也会转移到另一个用户,这是我想要避免的。

所以我正在考虑写一些东西,通过听我的音乐应用程序的输出,从发送到Skype的麦克风输入中取消那些声音。

我已经搜索了一下Google,但也许有人可以通过一些指示/想法等启动这个项目......

编辑:之前有人使用过JACK吗?

2 个答案:

答案 0 :(得分:7)

您想要做的与电话中的Echo取消基本相同。

http://www.voip-info.org/wiki/view/Asterisk+echo+cancellation简单介绍。还要看一下那里的mark和mark2 echo canceller以及提到的TI application note的页面。

此网站: http://www.embeddedstar.com/articles/2003/7/article20030720-1.html 很好地解释了这些机制。

您必须截取音乐播放器的输出和麦克风输入,然后通过某种IPC将样本传递到DSP过程中。 JACK实际上是这样做的,但是设置(例如ALSA-> JACK桥,如果你的音乐播放器和/或Skype本身不支持JACK作为声音接口)确实需要一些技巧。

我想它可以运行得相当好,但它可能需要相当多的CPU。特别是XRUNS(音频缓冲区欠载或溢出)对你的回声消除器来说真的很糟糕,即你可能需要实时的Linux内核补丁。实施也不是微不足道的。从音乐播放器获得立体声也会降低取消成功率。

HTH

答案 1 :(得分:0)

一般来说,在噪音消除方面,优先顺序是两件事:

  1. 硬件 - 具有降噪功能的MIC /耳机或已内置该功能的内置声卡MIC。

  2. 软件 - 一个很好的例子是Skype,AFAIK SKype允许您微调音频质量但不幸的是,到目前为止,调整部分仅存在于Windows平台中。在Linux中,您可以在Preference>处选中“允许Skype自动调整我的混音器级别”复选框。声音设备。

  3. 我的理解是,当涉及到噪音消除时,你必须处理声音汽车驱动程序编程,目前在未来的Ubuntu软件版本中发现了几个带有上述功能的噪音,有here提到