资源简介
在远程会议等环境中,回声的存在会严重误导听者听取有用的语音,另外,在识别中影响识别效果等,因此AEC就显得尤为重要,这里的程序可以有效实现回声消除,不仅仅只是针对单通道,即便是立体声等都可以实现回声的消除;
代码片段和文件信息
/* Copyright (C) 2003-2008 Jean-Marc Valin
File: mdf.c
Echo canceller based on the MDF algorithm (see below)
Redistribution and use in source and binary forms with or without
modification are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright notice
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. The name of the author may not be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ‘‘AS IS‘‘ AND ANY EXPRESS OR
IMPLIED WARRANTIES INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT
INDIRECT INCIDENTAL SPECIAL EXEMPLARY OR CONSEQUENTIAL DAMAGES
(INCLUDING BUT NOT LIMITED TO PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE DATA OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY WHETHER IN CONTRACT
STRICT LIABILITY OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
*/
/*
The echo canceller is based on the MDF algorithm described in:
J. S. Soo K. K. Pang Multidelay block frequency adaptive filter
IEEE Trans. Acoust. Speech Signal Process. Vol. ASSP-38 No. 2
February 1990.
We use the Alternatively Updated MDF (AUMDF) variant. Robustness to
double-talk is achieved using a variable learning rate as described in:
Valin J.-M. On Adjusting the Learning Rate in Frequency Domain Echo
Cancellation With Double-Talk. IEEE Transactions on Audio
Speech and Language Processing Vol. 15 No. 3 pp. 1030-1034 2007.
http://people.xiph.org/~jm/papers/valin_taslp2006.pdf
There is no explicit double-talk detection but a continuous variation
in the learning rate based on residual echo double-talk and background
noise.
About the fixed-point version:
All the signals are represented with 16-bit words. The filter weights
are represented with 32-bit words but only the top 16 bits are used
in most cases. The lower 16 bits are completely unreliable (due to the
fact that the update is done only on the top bits) but help in the
adaptation -- probably by removing a “threshold effect“ due to
quantization (rounding going to zero) when the gradient is small.
Another kludge that seems to work good: when performing the weight
update we only move half the way toward the “goal“ this seems to
reduce the effect of quantization noise in the update phase. This
相关资源
- 数字通信定时同步算法,大牛写的,
- [北风网牛牛讲师8.21日LINQ入门到精通
- 奶牛快传,一个不限速的临时网盘的
- 机械原理牛头刨床课程设计
- 数据插值,拉格朗日,牛顿,埃尔米
- 拟牛顿法求解非线性方程组
- 编译原理课堂笔记 史上最详细 最牛
- 基于牛拉法的电力系统潮流计算程序
- spring boot cloud实战租房网平台(视频和
- toutiao_第二次课代码 解决spring-boot兼容
- 牛顿拉夫逊法算潮流
- 最牛的交通灯proteus仿真附keil程序
- 牛客网刷面试题遇到的一些问题的总
- 国产老木马网络公牛(netbull v1.1)
- rhino waterman插件随机建立各种异形
- 支持向量机大牛Vapnik的两篇论文
- Perl学习牛人必练习题
- fortran语言编写牛顿迭代法求方程的零
- 简单潮流计算——PQ分解法和牛顿-拉
- 条件随机场史上最牛条件随机场教程
- flash 蜗牛赛跑
- 简单极坐标下牛顿拉夫逊法潮流计算
- 超牛的多线程扫描网站后台
- 仿720云krpano全景制作网站源码配置七
- oss文件上传
- 牛顿-拉夫逊法的潮流计算程序
- 信息安全概论 第三版 牛少彰 习题答
- The Newton机器人最小惯性参数辨识 牛顿
- 史上最牛录屏软件 压缩功能超强 2小
- EXCEL牛人做的个人日常生活开支记账表
评论
共有 条评论