主动降噪,通话降噪及AI降噪之辨
近日,三星发布的Buds Pro 耳机中,宣传有以下功能。其中涉及到噪声的,有主动降噪,通话降噪及智能降噪,很多人对他们的具体用途容易混淆,今天我们来辨析一下。
主动降噪和通话降噪完全不是一个概念,无论从方法,目的,技术手段,应用场景都不一样。
1. 主动降噪ANC(Active Noise Cancellation),简单来说,耳机中的主动降噪是为了减少佩戴者自己听到的环境噪声,它是通过佩戴者耳机的扬声器发出与环境噪声相反相的声波,在佩戴者耳朵内部这个小小的声场环境里抵消了通过耳机物理结构传播进来的环境噪声,通过一下三张图就可以明白其基本原理:
为了实现主动降噪,其技术手段有Feedforward ANC (前馈主动降噪), Feedback ANC (反馈主动降噪) 以及 Hybrid ANC (混合主动降噪,其实就是前馈加上反馈)。
当前常见的算法: Filtered-X Least-Mean-Square (FXLMS) 滤波器,所以这么看来,ANC 实际和互联网常说的音频三剑客 3A 中的AEC还是近亲呢。
ANC的实现方法解释起来比较繁琐,这里推荐几篇帖子,欢迎有兴趣的同学深入研究:
Active Noise Control: A Tutorial Review: http://www2.coe.pku.edu.cn/tpic/2010913102917710.pdf
关于主动降噪耳机,你想知道的一切: https://zhuanlan.zhihu.com/p/133252284
这里给出一个例子供大家学习: https://github.com/875441459/Basic-demonstraion-of-Fxlms-Algo
2. 通话降噪是互联网常说的音频三剑客3A中的一员,严格来说3A是指:
AEC(Acoustic Echo Canceller),ANS(Ambient Noise Suppression), AGC(Automatic Gain Control)
通话降噪指的是 ANS(Ambient Noise Suppression),也就是常说的噪声抑制,也有叫做Automatic Noise Suppression,狭义上的语音增强和语音分离也是指噪声抑制,
广义的语音增强和语音分离就包含各自更广泛地范围了,有机会再详述。有人把ANC列为3A之一,很显然是混淆了二者的概念。
通话降噪,简单来说是要从已经混有噪声的语音信号中,把噪声给抑制掉,完全通过软件从信号处理层面实现的,不像ANC那样需要在声场层面解决问题。
通话降噪是为了降低耳机佩戴者在通话时传输给对方的语音中的噪声,其目的是把带噪语音变为清晰语音,当然也不一定非得用于通话,只要有这个需求的场景都可以用到。
噪声抑制作为研究了几十年的技术,有很多的方法,不过目前因为谷歌开源的实时通信引擎WebRTC中的噪声抑制效果很好,很多公司都借鉴了WebRTC的噪声抑制方案。
对于通话链路,不仅仅有一个通话降噪,其实它包含有如下的很多模块:
这篇文章介绍的比较全面,推荐大家:通话降噪超级简洁——简介 https://zhuanlan.zhihu.com/p/87340866
在github上有多的源码,这里给出一个例子供大家学习:https://github.com/cpuimage/WebRTC_NS
3. AI降噪
所谓的AI降噪,也就是智能降噪,其实是指的具体实现方法,不管是主动降噪,还是通话降噪,只要使用了深度学习技术,就可以称为AI降噪。
目前在通话降噪中,深度学习使用的比较多,近几年各大语音学术会议上的噪声抑制,基本是深度学习论文一统天下了,反而信号处理方案论文不多见了。
这里是业界交口称赞的一套开源的深度学习噪声抑制的方案:https://github.com/xiph/rnnoise
而目前在主动降噪领域,引入深度学习的确实不多,笔者猜测由于主动降噪本身就是自适应滤波器,带有一定的自我学习的特点了,所以引入深度学习的效果可能提升有限。
希望读者读过这篇文章后,对主动降噪,通话降噪及AI降噪有了初步的了解。
主动降噪,通话降噪及AI降噪之辨的更多相关文章
- 主动降噪(Active Noise Control)
智能耳机 人机交互 智能声学终端 智能耳机 智能音箱 智能听力器 喇叭单体 动圈喇叭 新材料 DLC 石墨烯 陶瓷单位 吸音材料 智能芯片 阵列式麦克风 声纹传感器 演算法 降噪算法 智能听力保护 A ...
- 一种高灵敏度自带DSP降噪算法的音频采集解决方案
背景调研 随着AI渗透到各行各业,人们对语音的需求也越来越大,最近一两年,各种AI音频设备如雨后春笋般冒出.各种智能AI设备的推出,意味者市场对低成本的音频采集设备越来越多.针对这种情况,我们开发 ...
- 高灵敏度自带DSP降噪算法的audio codec解决方案
背景调研 随着AI渗透到各行各业,人们对语音的需求也越来越大,最近一两年,各种AI音频设备如雨后春笋般冒出.各种智能AI设备的推出,意味者市场对低成本的音频采集设备越来越多.针对这种情况,我们开发 ...
- 集 降噪 美颜 虚化 增强 为一体的极速图像润色算法 附Demo程序
在2015年8月份的时候,决心学习图像算法. 几乎把当时市面上的图像算法相关书籍都看了一遍, 资金有限,采取淘宝买二手书,长期驻留深圳图书馆的做法, 进度总是很慢,学习算法不得其法. 虽然把手上所有书 ...
- Java基于opencv实现图像数字识别(四)—图像降噪
Java基于opencv实现图像数字识别(四)-图像降噪 我们每一步的工作都是基于前一步的,我们先把我们前面的几个函数封装成一个工具类,以后我们所有的函数都基于这个工具类 这个工具类呢,就一个成员变量 ...
- 验证码识别 图像降噪 Python (一)
原始图片: 降噪后的图片 实现代码: # coding:utf-8 import sys, os from PIL import Image, ImageDraw # 二值数组 t2val = {} ...
- 一种简单高效的音频降噪算法示例(附完整C代码)
近期比较忙, 抽空出来5.1开源献礼. 但凡学习音频降噪算法的朋友,肯定看过一个算法. <<语音增强-理论与实践>> 中提及到基于对数的最小均方误差的降噪算法,也就是LogMM ...
- camera数字降噪(DNR)
camera数字降噪(DNR) 闭路电视摄像机 无论多么出色和弱光,在黑暗中拍摄视频监控录像时都会不可避免地产生一些噪音.噪声是任何电子通信中不可避免的部分,无论是视频还是音频.本质上是静态的–视频信 ...
- 2018,从AI看安卓生态的变革
AI的发展与影响 与传统技术不同的是,AI技术算法清晰,优化目标明确,基础技术成熟,使得一众中小创企也看到了市场的机会.2017年中国企业动作频频,在自动驾驶,智能安防,智慧城市等领域都取得了不俗的成 ...
随机推荐
- ctfshow—web—web6
打开靶机 发现登录窗,首先想到SQL注入 抓包,进行SQL注入测试 测试发现空格符被过滤了 使用/**/代替空格符进行绕过,绕过后登录成功 检测回显位 开始查询数据库名 开始查询数据库内数据表名称 查 ...
- SAP里会话结束方法(杀死进程)
在SAP的ERP里,有很多方法可以结束一个会话,然而在不同情况下,需要使用的方法也不同.下面从先后顺序来简单说明:1.SM04:最常用的方法,在SM04点击工具栏的会话->结束会话,来关闭一个会 ...
- JDBC代码的优化
JDBC代码简化以及PreparedStatement和Statement接口 抽取 JDBC的Bug sql语句可以拼接导致登录功能中如果用户名或者密码中出现'or'2'='2则一定可以登录的bug ...
- 计算机网络安全 —— 对称加密算法 DES
一.对称加密算法概念 我们通过计算机网络传输数据时,如果无法防止他人窃听, 可以利用密码学技术将发送的数据变换成对任何不知道如何做逆变换人都不可理解的形式, 从而保证了数据的机密性.这种变换被称为加密 ...
- jackson学习之三:常用API操作
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- Cisco发现协议
CDP Cisco Discovery Protocol: 思科发现协议 是一个提供关于直接相连的交换机.路由器和其它Cisco设备的综合信息的专有工具 CDP 能够发现直接相邻的设备而不管这些设备所 ...
- Centos 7.x系统下忘记用户登录密码,重置root密码的方法
转载的,作为一个参考保存.谢谢:https://blog.csdn.net/userpass_word/article/details/81807316 1.开机后进入以下界面,然后按Esc或者E键编 ...
- mysqldump导出数据库导入数据库
使用mysqldump命令导出数据库,格式如下,请按实际要求对参数进行替换: mysqldump -u 用户名 -p 数据库名 > 导出的文件名 比如导出数据库business_db: mysq ...
- Python+Selenium+Unittest实现PO模式web自动化框架(7)
1.TestDatas目录的功能 TestDatas目录下存放的是测试数据,比如:登录功能的测试用例数据. # --^_^-- coding:utf-8 --^_^-- # @Remark:登录测试数 ...
- SpringBoot Web 学习
SpringBoot Web 开发 静态资源 打开WebMvcAutoConfiguration类里面的静态类WebMvcAutoConfigurationAdapter里面的addResourceH ...