我试图让语音识别“忽略”它自己的输出(使用文本到语音的系统),因此希望使用回声消除器。我实际上“知道”tts-输出,我甚至可以将其存储为wave文件(或pcm或其他文件),因此,对于未知输入,回声消除所使用的整个“估计器”是不必要的。然而,我真的不知道如何开始。我读到,"speex“对此很有用,但根据它的文档,它不能与2个独立的声卡一起工作。长话短说:有什么想法吗?以下是我的当前设置:
输入用麦克风,输出用扬声器。麦克风非常接近输出,需要留在那里。麦克风使用usb声卡插入,扬声器连接到正常的板载声音设备。
操作系统是fedora (12),应用程序将用Java编写...
感谢任何帮助;)
发布于 2011-02-23 01:13:58
我也尝试过做同样的事情。我使用speex不成功。实际上,我刚刚写了我自己的回声消除算法,它工作得相当好。它并没有那么复杂,允许我根据自己的具体情况来调整它。回声消除是数字信号处理中一次又一次出现的问题之一,因此有许多信息来源。
我已经附上了两篇论文,其中甚至包括了源代码示例。它们是用C编写的,但可以通过JNI或将其转换为Java代码在Java中使用。
Paper 1
1) Echo cancelation Thesis is the one implemented. Look into section 3.3.2 Normalized Least Mean Square (NLMS) Algorithm. That is the code implemented
Paper 2
2) Acoustic Echo paper has the same thing with the code in the appendix. But it is slightly differing from what is already there
https://stackoverflow.com/questions/5080654
复制相似问题