热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

主动降噪,通话降噪及AI降噪之辨

主动降噪,通话降噪及AI降噪之辨-近日,三星发布的BudsPro耳机中,宣传有以下功能。其中涉及到噪声的,有主动降噪,通话降噪及智能降噪,很多人对他们的具体用途容易混淆,今天我们

近日,三星发布的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降噪有了初步的了解。


推荐阅读
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
  • 采用IKE方式建立IPsec安全隧道
    一、【组网和实验环境】按如上的接口ip先作配置,再作ipsec的相关配置,配置文本见文章最后本文实验采用的交换机是H3C模拟器,下载地址如 ... [详细]
  • Redux入门指南
    本文介绍Redux的基本概念和工作原理,帮助初学者理解如何使用Redux管理应用程序的状态。Redux是一个用于JavaScript应用的状态管理库,特别适用于React项目。 ... [详细]
  • 本题探讨了在一个有向图中,如何根据特定规则将城市划分为若干个区域,使得每个区域内的城市之间能够相互到达,并且划分的区域数量最少。题目提供了时间限制和内存限制,要求在给定的城市和道路信息下,计算出最少需要划分的区域数量。 ... [详细]
  • 丽江客栈选择问题
    本文介绍了一道经典的算法题,题目涉及在丽江河边的n家特色客栈中选择住宿方案。两位游客希望住在色调相同的两家客栈,并在晚上选择一家最低消费不超过p元的咖啡店小聚。我们将详细探讨如何计算满足条件的住宿方案总数。 ... [详细]
  • 本文介绍了在Java环境中使用PDFBox和XPDF工具从PDF文件中提取文本内容的方法。重点讨论了处理中文字符集及解决相关错误的技术细节,特别是针对某些特定格式的PDF文件(如网上填写的报名表和下载的论文)遇到的问题及解决方案。 ... [详细]
  • 本文回顾了2017年的转型和2018年的收获,分享了几家知名互联网公司提供的工作机会及面试体验。 ... [详细]
  • 深入理解TCP/IP协议中的MTU与MSS及以太网数据帧
    本文详细探讨了TCP/IP协议中MTU(最大传输单元)和MSS(最大分段大小)的概念及其在以太网数据帧中的应用。通过分析这些关键参数的工作机制,帮助读者更好地理解网络通信中的数据包处理过程。 ... [详细]
  • springMVC JRS303验证 ... [详细]
  • Hybrid 应用的后台接口与管理界面优化
    本文探讨了如何通过优化 Hybrid 应用的后台接口和管理界面,提升用户体验。特别是在首次加载 H5 页面时,为了减少用户等待时间和流量消耗,介绍了离线资源包的管理和分发机制。 ... [详细]
  • 给定行数 numRows,生成帕斯卡三角形的前 numRows 行。例如,当 numRows 为 5 时,返回的结果应为:[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1]]。 ... [详细]
  • 在项目部署后,Node.js 进程可能会遇到不可预见的错误并崩溃。为了及时通知开发人员进行问题排查,我们可以利用 nodemailer 插件来发送邮件提醒。本文将详细介绍如何配置和使用 nodemailer 实现这一功能。 ... [详细]
  • 中科院学位论文排版指南
    随着毕业季的到来,许多即将毕业的学生开始撰写学位论文。本文介绍了使用LaTeX排版学位论文的方法,特别是针对中国科学院大学研究生学位论文撰写规范指导意见的最新要求。LaTeX以其精确的控制和美观的排版效果成为许多学者的首选。 ... [详细]
  • 搭建Jenkins、Ant与TestNG集成环境
    本文详细介绍了如何在Ubuntu 16.04系统上配置Jenkins、Ant和TestNG的集成开发环境,涵盖从安装到配置的具体步骤,并提供了创建Windows Slave节点及项目构建的指南。 ... [详细]
  • Django Token 认证详解与 HTTP 401、403 状态码的区别
    本文详细介绍了如何在 Django 中配置和使用 Token 认证,并解释了 HTTP 401 和 HTTP 403 状态码的区别。通过具体的代码示例,帮助开发者理解认证机制及权限控制。 ... [详细]
author-avatar
jytujtuyt
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有