Linux 上的软件声音消除(破坏性干扰)工具? [关闭]
Posted
技术标签:
【中文标题】Linux 上的软件声音消除(破坏性干扰)工具? [关闭]【英文标题】:Software sound cancelling (destructive interference) tools on Linux? [closed] 【发布时间】:2011-06-20 00:51:20 【问题描述】:我正在考虑编写一些软件,让我可以一边听音乐一边在 Skype 上与某人交谈。问题是,如果您使用扬声器执行此操作,音乐也会传输给其他用户,这是我想要避免的。
所以我正在考虑编写一些东西,通过收听我的音乐应用程序的输出,消除来自发送到 Skype 的麦克风输入中的那些声音。
我在谷歌上搜索了一下,但也许这里有人可以用一些指针/想法/等来启动这个项目......
编辑:以前有人用过JACK吗?
【问题讨论】:
【参考方案1】:您想要做的与电话中的回声消除基本相同。
http://www.voip-info.org/wiki/view/Asterisk+echo+cancellation 简单介绍。还可以查看 mark 和 mark2 回声消除器的页面以及提到的 TI application note。
还有这个网站: http://www.embeddedstar.com/articles/2003/7/article20030720-1.html 很好地解释了机制。
您必须同时截取音乐播放器的输出和麦克风输入,然后通过某种 IPC 将样本传递到您的 DSP 进程中。 JACK 实际上是这样做的,但是设置(例如 ALSA->JACK 桥,如果您的音乐播放器和/或 Skype 本身不支持 JACK 作为声音接口)确实需要一些技巧。
我想它可以很好地工作,但它可能需要相当多的 CPU。尤其是 XRUNS(音频缓冲区不足或溢出)可能对您的回声消除器非常不利,即您可能需要实时 linux 内核补丁。实施也不是微不足道的。音乐播放器的立体声也会降低取消成功率。
HTH
【讨论】:
感谢您的回答。我现在将尝试潜入:-)【参考方案2】:一般来说,当谈到降噪时,它是由于2个优先顺序的事情:
硬件 - 具有降噪功能的 MIC/耳机或已内置该功能的内部声卡 MIC。
软件 - 一个很好的例子是 Skype,AFAIK SKype 允许您微调音频质量,但不幸的是,到目前为止,微调部分仅存在于 Windows 平台中。在 Linux 中,您可以在“首选项”>“声音设备”中选择“允许 Skype 自动调整我的混音器级别”复选框。
我的理解是,在降噪方面,你必须处理声音汽车驱动程序的编程,目前在未来的 Ubuntu 软件版本中注意到了一些带有上述功能的噪音,其中提到了here。
【讨论】:
感谢您的链接。然而,这并不是我想要做的。从理论上讲,声音是来自skype/msn/etc还是音乐来自哪里并不重要,因为我想在声音接口级别(在Skype下面)进行管理。 Skype 甚至不应该知道这个应用程序正在运行。我想在 Skype 的输入(麦克风)信号到达 Skype 之前对其进行修改...以上是关于Linux 上的软件声音消除(破坏性干扰)工具? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章