个性化的单芯片的回声消除(AEC)解决方案
概述
这些年随着智能化产品的广泛应用,各种新型音频产品也层出不穷,在这个古老的领域,传统的回声消除方案一般是功耗高,成本非常高,集成性差。无法满足新产品新市场对回声消除的低成本低功耗个性化需求等特点,鉴于此,本团队花费了不少时间来研究回声消除。并成功的推出了满足市场需求的个性化音频回声消除方案。

方案特色
该回声消除方案的特色有以下特点:
- 单芯片集成了轻量级的算法。可谓是小身材,大能量。
- 相比传统的回声消除方案,该方案的功耗超低,可以广泛应用在对功耗要求比较高的领域。
- aec有5种模式,可以根据具体的产品需求进行个性化的参数调试。
- 接口丰富,可以根据客户产品的需求进行个性化的接口输出定制。
- 不需要修改硬件,只需要不同的软件版本即可实现升级降噪和远场的需求。
原理介绍
回声消除的流程一般是这样的:获取远端的信号能量信息,获取近端的信号能量信息,两者信号做一个决策,当近端信号的能量大于一定阀值的情况下,默认是需要采集音频信号,这个时候要把回声消除的因子降到最低,同样,当近端信号能量小于一定的阀值的情况下,默认是采集的是回声信号,这个时候要加大回声信号的消除。后面就是使用NLP来估算 最后针对消除回声后的信号,产生默认噪声,让信号听觉上比较舒服一些。
个性化配置
该方案的一个比较大的特色就是个性化配置:可以根据产品的需求,使用麦克风作为参考信号,也可以通过软件直接获取内部的参考信号。在处理后的音频接口输出方面,该方案有着丰富的接口输出:
- USB接口输出,
- 3.5mm接口输出。
- I2S接口输出等。
应用领域
随着这些年语音识别及各种智能化产品的广泛使用。市面上涌现出来很多新的音频产品,很多音频产品对回声消除都有一定的需求。该方案已经服务于教育,机器人,消费电子等领域。
个性化的单芯片的回声消除(AEC)解决方案的更多相关文章
- webRTC中回声消除(AEC)模块编译时aec_rdft.c文件报错:
webRTC中回声消除(AEC)模块编译时aec_rdft.c文件报错. 原因是: 局部变量ip跟全局变量冲突的问题,可以将局部变量重新命名一下,就可以通过编译了. aec_rdft.c修改以后文件代 ...
- 回声消除(AEC)原理
一.前言 因为工作的关系,笔者从2004年开始接触回声消除(Echo Cancellation)技术,而后一直在某大型通讯企业从事与回声消除技术相关的工作,对回声消除这个看似神秘.高端和难以理解的技术 ...
- speex与webrtc回声消除小结
回声消除AEC包含: 延时估计对齐+线性自适应滤波器+NLP(双讲检测.处理)+舒适噪声CNG 一.speex aec 1.没有NLP 2.只考虑实时DSP系统,即是没有延时对齐等 3.自适应滤波 ...
- Speex Acoustic Echo Cancellation (AEC) 回声消除模块的使用
背景:回声与啸叫的产生 http://blog.csdn.net/u011202336/article/details/9238397 参考资料: http://www.speex.org/doc ...
- speex 回声消除的用法
speex 回声消除的用法 分类: speex AEC 回声消除 2012-11-13 11:24 1336人阅读 评论(0) 收藏 举报 speex的回声消息 就是speex_echo_cancel ...
- Flex Flash Player回声消除的最佳方法
Adobe Flash Player 已经成为音频和视频播放的非常流行的工具.实际上,目前大多数因特网视频均使用 Flash Player观看. Flash Player 通过将许多技术进行组合可以提 ...
- webrtc 的回声抵消(aec、aecm)算法简介(转)
webrtc 的回声抵消(aec.aecm)算法简介 webrtc 的回声抵消(aec.aecm)算法主要包括以下几个重要模块:1.回声时延估计 2.NLMS(归一化最小均方自适应算法) ...
- Flex回声消除的最佳方法
Adobe Flash Player 已经成为音频和视频播放的非常流行的工具.实际上,目前大多数因特网视频均使用 Flash Player观看. Flash Player 通过将许多技术进行组合可以提 ...
- Speex回声消除原理深度解析
这里假设读者具有自适应滤波器的基础知识.Speex的AEC是以NLMS为基础,用MDF频域实现,最终推导出最优步长估计:残余回声与误差之比.最优步长等于残余回声方差与误差信号方差之比,这个结论可以记下 ...
- 声学回声消除(Acoustic Echo Cancellation)
回声就是声音信号经过一系列反射之后,又听到了自己讲话的声音,这就是回声.一些回声是必要的,比如剧院里的音乐回声以及延迟时间较短的房间回声:而大多数回声会造成负面影响,比如在有线或者无线通信时重复听到自 ...
随机推荐
- Java多线程-ThreadLocal(六)
为了提高CPU的利用率,工程师们创造了多线程.但是线程们说:要有光!(为了减少线程创建(T1启动)和销毁(T3切换)的时间),于是工程师们又接着创造了线程池ThreadPool.就这样就可以了吗?-- ...
- 单片机 IAP 功能基础开发篇之APP升级(一)
引言 目的 主要介绍单片机 IAP 开发的设计思路,如何不使用下载烧录器的方式对单片机的程序进行升级,升级区域包括 bootloader 和用户程序的升级,升级方式有 UASRT 通信.CAN 通信和 ...
- IntelliJ IDEA 在电脑上安装多个JDK 切换的方法
在电脑上来回切换多个版本的JDK进行开发,方法很简单: 1.下载jdk 下载的时候不要下载安装包,而是下载zip包,这样直接解压就可,不污染注册表,难引起其他问题 2.解压后 把JDK配置到IDEA里 ...
- IntPtr 来把指针转换为 Int
由于想得到指针的值,这个时候,不能把指针强制转换为 integer 因为 integer 只适合32位的系统,64位的系统下,需要用 int64, 通过这个函数来转换,就可以屏蔽掉系统是32位 还是 ...
- Delphi批量替换工具Cnpack
操,delphi官方 没有 批量替换工具,需要用到cnpack才可以,
- Pandas 人口密度案例分析
from turtle import left import pandas as pd """ 需求: 1.导入文件,查看原始数据 2.将人口数据和各州简称数据进行合并 ...
- Codeforces Round #887 (Div. 2) A-D
比赛链接 A 代码 #include <bits/stdc++.h> using namespace std; using ll = long long; int a[507]; bool ...
- 如何设置mysql root密码
如何设置mysql root密码: 1.首次安装 root初始密码为空,注意就是没有密码,直接敲回车即可进入 D:\wamp\bin\mysql\mysql5.6.17\bin> mysql - ...
- Spring rce CVE-2022-22965
原理大致是这样:spring框架在传参的时候会与对应实体类自动参数绑定,通过"."还可以访问对应实体类的引用类型变量.使用getClass方法,通过反射机制最终获取tomcat的日 ...
- Kotlin 协程二 —— 通道 Channel
目录 一. Channel 基本使用 1.1 Channel 的概念 1.2 Channel 的简单使用 1.3 Channel 的迭代 1.4 close 关闭 Channel 1.5 Channe ...