有哪些开源的回声消除算法?
其实声学回声的算法在60年代的贝尔实验室就有了理论基础,但由于处理器部件运算速度的限制,直到90年代才投入使用。声学回声抵消算法分为两部分:线性抵消和非线性抵消。线性部分最多能抵消40dB,剩下的就用非线性来处理(目前能处理20dB)。国际上处理AEC(声学回声)的及格线是45dB。POLYCOM是国外这方面的专业公司,朗谷和快嵌在国内也有研究,浙大也有这方面的。背景噪声消除算法是在20世纪70年代使用的,但是噪声门的阈值需要提前设置,而且在环境发生变化时往往需要重新设置。二是利用麦克风阵列的算法进行处理。典型的芯片是AUDIENCE(用于IPHONE4手机,华为、三星、摩托罗拉的智能手机都在用),国产的FORTMEDIA芯片都是用2-3个以上的麦克风进行处理,一个麦克风采集人声,另一个麦克风采集背景噪声,在DSP中产生一个等幅反向的波形来抵消背景噪声。另一个是语音分离技术,源于日本理化学研究所为日本机器人所做的研究。从控制论的角度,用AI(人工智能算法)区分噪声和语音(两个声源的特征信号不同),用自适应滤波滤除背景噪声,最多能消除15dB的背景噪声,用单个麦克风就能消除。。另外,webrtc现在用的是以前的GIPS,挺好的。Skype在回音消除方面做的很好,雅马哈和JBL也做的很好,但是消耗很大。还有speex和webrtc的aec和aecm,比如OpenSSL,CyaSSL,jsCrypto,pidCrypt,Botan等等。