多麦克风做拾音的波束_麦克风阵列是什么 有哪些关键技术?

4273fbab7624b9a6f66fe131c65dba72.png

麦克风阵列是什么 有哪些关键技术?

  亚马逊Echo和谷歌Home争奇斗艳,除了云端服务,他们在硬件上到底有哪些差异?我们先将Echo和Home两款音箱拆开来看,区别最大的还是麦克风阵列技术。Amazon Echo采用的是环形6+1麦克风阵列,而Google Home(包括Surface Studio)只采用了2麦克风阵列。这种差异我们在文章《对比Amazon Echo,Google Home为何只采用了2个麦克风?》做了探讨。但是好多朋友私信咨询,因此这里想稍微深入谈谈麦克风阵列技术,以及智能语音交互设备到底应该选用怎样的方案。

  什么是麦克风阵列技术?

  学术上有个概念是“传声器阵列”,主要由一定数目的声学传感器组成,用来对声场的空间特性进行采样并处理的系统。而这篇文章讲到的麦克风阵列是其中一个狭义概念,特指应用于语音处理的按一定规则排列的多个麦克风系统,也可以简单理解为2个以上麦克风组成的录音系统。

  麦克风阵列一般来说有线形、环形和球形之分,严谨的应该说成一字、十字、平面、螺旋、球形及无规则阵列等。至于麦克风阵列的阵元数量,也就是麦克风数量,可以从2个到上千个不等。这样说来,麦克风阵列真的好复杂,别担心,复杂的麦克风阵列主要应用于工业和国防领域,消费领域考虑到成本会简化很多。

  麦克风阵列是什么

  为什么需要麦克风阵列?

  消费级麦克风阵列的兴起得益于语音交互的市场火热,主要解决远距离语音识别的问题,以保证真实场景下的语音识别率。这涉及了语音交互用户场景的变化,当用户从手机切换到类似Echo智能音箱或者机器人的时候,实际上麦克风面临的环境就完全变了,这就如同两个人窃窃私语和大声嘶喊的区别。

  前几年,语音交互应用最为普遍的就是以Siri为代表的智能手机,这个场景一般都是采用单麦克风系统。单麦克风系统可以在低噪声、无混响、距离声源很近的情况下获得符合语音识别需求的声音信号。但是,若声源距离麦克风距离较远,并且真实环境存在大量的噪声、多径反射和混响,导致拾取信号的质量下降,这会严重影响语音识别率。而且,单麦克风接收的信号,是由多个声源和环境噪声叠加的,很难实现各个声源的分离。这样就无法实现声源定位和分离,这很重要,因为还有一类声音的叠加并非噪声,但是在语音识别中也要抑制,就是人声的干扰,语音识别显然不能同时识别两个以上的声音。

  显然,当语音交互的场景过渡到以Echo、机器人或者汽车为主要场景的时候,单麦克风的局限就凸显出来。为了解决单麦克风的这些局限性,利用麦克风阵列进行语音处理的方法应时而生。麦克风阵列由一组按一定几何结构(常用线形、环形)摆放的麦克风组成,对采集的不同空间方向的声音信号进行空时处理,实现噪声抑制、混响去除、人声干扰抑制、声源测向、声源跟踪、阵列增益等功能,进而提高语音信号处理质量,以提高真实环境下的语音识别率。

  事实上,仅靠麦克风阵列也很难保证语音识别率的指标。麦克风阵列还仅是物理入口,只是完成了物理世界的声音信号处理,得到了语音识别想要的声音,但是语音识别率却是在云端测试得到的结果,因此这两个系统必须匹配在一起才能得到最好的效果。不仅如此,麦克风阵列处理信号的质量还无法定义标准。因为当前的语音识别基本都是深度学习训练的结果,而深度学习有个局限就是严重依赖于输入训练的样本库,若处理后的声音与样本库不匹配则识别效果也不会太好。从这个角度应该非常容易理解,物理世界的信号处理也并非越是纯净越好,而是越接近于训练样本库的特征越好,即便这个样本库的训练信号很差。显然,这是一个非常难于实现的过程,至少要声学处理和深度学习的两个团队配合才能做好这个事情,另外声学信号处理这个层次输出的信号特征对语义理解也非常重要。看来,小小的麦克风阵列还真的不是那么简单,为了更好地显示这种差别,我们测试了某语音识别引擎在单麦克风和四麦克风环形阵列的识别率对比。另外也要提醒,语音识别率并非只有一个WER指标,还有个重要的虚警率指标,稍微有点声音就乱识别也不行,另外还要考虑阈值的影响,这都是麦克风阵列技术中的陷阱。

  为什么需要麦克风阵列?

  麦克风阵列的关键技术

  消费级的麦克风阵列主要面临环境噪声、房间混响、人声叠加、模型噪声、阵列结构等问题,若使用到语音识别场景,还要考虑针对语音识别的优化和匹配等问题。为了解决上述问题,特别是在消费领域的垂直场景应用环境中,关键技术就显得尤为重要。

  噪声抑制:语音识别倒不需要完全去除噪声,相对来说通话系统中需要的技术则是噪声去除。这里说的噪声一般指环境噪声,比如空调噪声,这类噪声通常不具有空间指向性,能量也不是特别大,不会掩盖正常的语音,只是影响了语音的清晰度和可懂度。这种方法不适合强噪声环境下的处理,但是应付日常场景的语音交互足够了。

  混响消除:混响在语音识别中是个蛮讨厌的因素,混响去除的效果很大程度影响了语音识别的效果。我们知道,当声源停止发声后,声波在房间内要经过多次反射和吸收,似乎若干个声波混合持续一段时间,这种现象叫做混响。混响会严重影响语音信号处理,比如互相关函数或者波束主瓣,降低测向精度。

  麦克风阵列的关键技术

  回声抵消:严格来说,这里不应该叫回声,应该叫“自噪声”。回声是混响的延伸概念,这两者的区别就是回声的时延更长。一般来说,超过100毫秒时延的混响,人类能够明显区分出,似乎一个声音同时出现了两次,我们就叫做回声,比如天坛著名的回声壁。实际上,这里所指的是语音交互设备自己发出的声音,比如Echo音箱,当播放歌曲的时候若叫Alexa,这时候麦克风阵列实际上采集了正在播放的音乐和用户所叫的Alexa声音,显然语音识别无法识别这两类声音。回声抵消就是要去掉其中的音乐信息而只保留用户的人声,之所以叫回声抵消,只是延续大家的习惯而已,其实是不恰当的。

  声源测向:这里没有用声源定位,测向和定位是不太一样的,而消费级麦克风阵列做到测向就可以了,没必要在这方面投入太多成本。声源测向的主要作用就是侦测到与之对话人类的声音以便后续的波束形成。声源测向可以基于能量方法,也可以基于谱估计,阵列也常用TDOA技术。声源测向一般在语音唤醒阶段实现,VAD技术其实就可以包含到这个范畴,也是未来功耗降低的关键研究内容。

  波束形成:波束形成是通用的信号处理方法,这里是指将一定几何结构排列的麦克风阵列的各麦克风输出信号经过处理(例如加权、时延、求和等)形成空间指向性的方法。波束形成主要是抑制主瓣以外的声音干扰,这里也包括人声,比如几个人围绕Echo谈话的时候,Echo只会识别其中一个人的声音。

  阵列增益:这个比较容易理解,主要是解决拾音距离的问题,若信号较小,语音识别同样不能保证,通过阵列处理可以适当加大语音信号的能量。

  模型匹配:这个主要是和语音识别以及语义理解进行匹配,语音交互是一个完整的信号链,从麦克风阵列开始的语音流不可能割裂的存在,必然需要模型匹配在一起。实际上,效果较好的语音交互专用麦克风阵列,通常是两套算法,一套内嵌于硬件实时处理,另外一套服务于云端匹配语音处理。

麦克风阵列是什么 有哪些关键技术?

http://www.audioapp.cn/thread-27205-1-1.html

(出处: 音频应用)

1041ad2cecf9027a317bb23887712bb9.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/258380.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何用AD20打开ddb文件

用AD20直接打开ddb文件会报错,在AD20中使用导入向导才是ddb文件的正确打开方式。 1.用AD20直接打开ddb文件的报错提示 2.使用导入向导打开ddb文件 除了以下两处关键设置的地方,一路next就行。

Codeforces Round #419 (Div. 2)

1.题目A:Karen and Morning 题意: 给出hh:mm格式的时间,问至少经过多少分钟后,该时刻为回文字符串? 思路: 简单模拟,从当前时刻开始,如果hh的回文rh等于mm则停止累计。否则&#xff…

Java NIO 系列教程

Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。本系列教程将有助于你学习和理解Java NIO。感谢并发编程网的翻译和投递。 (关注ITeye官微,随时随地查看最新开发资讯、技术文章…

使用语句修改数据表结构

查询表信息: sp_help dbo.T_User; 修改columnName 字段为空 alter table dbo.T_User alter column columnName datetime null; 修改columnName 默认值 ALTER TABLE dbo.T_User ADD CONSTRAINT [DF_T_User_columnName ] DEFAULT 0 FOR [columnName ];转载于:https://…

变换上三角矩阵_关于马尔可夫矩阵的一些个人研究成果、思考过程及相关解释...

在几个月以前,曾经有一位知乎好友邀请我回答一个问题:“如何证明马尔可夫矩阵至少存在一个所有分量均不小于零的特征向量。”当时我思考了大概半个小时,给出了严谨的证明。事后由该问题引发我至少三度思考,对于此问题,…

Multisim14仿真入门笔记

本文是B站北京邮电大学邓刚老师《Multisim仿真入门》的学习笔记,视频地址:【电路仿真】Multisim仿真入门(北京邮电大学 邓刚主讲)_哔哩哔哩_bilibili。 1.Multisim简介 Multisim14是一种专门用于电路仿真和设计的软件之一&#x…

你研究过单例么?这样写单例效率最高.

首先,小汤我在这里,要表示一下歉意,本来是想要每天写一篇Swift的学习小tip的,无奈近期手头的money花差的差点儿相同了,仅仅能迫不得已,出门找工作去了,没能履行承诺之处还请大家见谅. 那么,废话不多说了,開始我们今天的主题: 单例 ! 单例介绍: 说到单例,大家应该都不陌生,在传说…

office365在win7上使用订阅+win7在线升级win10就用它(亲测有效)

前言: 作为office365的重度使用用户,最近两天订阅到期,续订之后一直显示无法验证此订阅(仅查看),office365未经授权,大多数功能已停用,狂晕!!! 在…

HDU 4414 Finding crosses(搜索)

题目链接:HDU 4414 Finding crosses 【题目大意】 给你一张n*n的图,由o #这两个元素组成,让我们找其中有多少十字架。 十字架由#构成 十字架的纵向长度等于横向长度 , 且这个长度要为大于等于3的奇数。 构成十字架的#周围不能有多…

mongodb检查点_Mongodb 日志原理和操作

日志原理:WiredTiger使用检查点在磁盘上提供一致性数据视图,并允许MongoDB从上一个检查点恢复。 但是,如果MongoDB在检查点之间意外退出,则需要使用日志记录来恢复上次检查点之后发生的信息。通过日志记录,恢复过程如下…

UILabel 根据text的内容来调整大小

有时候,在UILabel的text过长的时候,我们需要让label进行自适应大小,之前我们必须要获得这个UILabel的size,这便是根据text的内容和性质(字体,行间距等决定的)。 在ios7中,使用boundi…

递归和分治思想及其应用

目录 递归和分治思想一些实例逆序输出字符串查找数组元祖是否存在汉诺塔问题八皇后问题更多:递归和分治思想 如果可以使用迭代,尽量别使用递归。由编译原理可以知道,每次自调用的时候,计算机都需要保存在调用,浪费时间…

AM+PM+FM基本调制原理及相关理论

总论: 调制信号: 模拟信号m(t),可以是正弦波信号、方波信号等任意信号,又称基带信号 载波信号:一般为正弦波信号 已调信号: 幅度调制AM---A(t)随m(t)成比例变化----线性调制 相位调制PM---随m(t)成比…

unix网络编程 的环境配置

<unix网络编程> 的环境配置 首先在网上下载UNP的库文件&#xff0c;然后就可以安装学了。我的系统环境&#xff1a; 2.6.32-131.0.15.el6.i686 #1 SMP Sat Nov 12 17:30:50 CST 2011 i686 i686 i386 GNU/Linux LSB Version: :base-4.0-ia32:base-4.0-noarch:core-4.0-…

win32 api 文件操作!

CreateFile打开文件要对文件进行读写等操作&#xff0c;首先必须获得文件句柄&#xff0c;通过该函数可以获得文件句柄&#xff0c;该函数是通向文件世界的大门。ReadFile从文件中读取字节信息。在打开文件获得了文件句柄之后&#xff0c;则可以通过该函数读取数据。WriteFile向…

小说里的lt什么意思_游戏cpdd网络用语是什么意思 王者荣耀里很常见

[闽南网]随着互联网的发展&#xff0c;越来越多的流行语横空出世&#xff0c;在网络上得到广泛使用。当一个网络语流行的时候&#xff0c;不管在微博上还是贴吧里&#xff0c;都会看见和流行语有关的句子和表情包。眼下在各种游戏里&#xff0c;总是能看到游戏玩家们说“cpdd”…

POJ 1637 Sightseeing tour 混合图欧拉回路存在性判断

没有想到网络流还能解决这一类问题&#xff0c;完全想不到_ 一开始把所有的无向边制定任意方向有当做有向边看&#xff0c;然后统计每个点的入度和出度。以前有向图的欧拉回路判定是每个点的入读都等于出度&#xff0c;这样可以保证可以回到起点&#xff0c;现在在一些边可以调…

linux系统 硬链接和软链接

背景&#xff1a; 当几个用户同在一个项目里工作时。经常须要共享文件。假设一个共享文件同一时候出如今属于不同用户的不同文件夹下。工作起来就非常方便。比如B和C文件夹下有一文件D是两者都能够訪问和改动的共享文件&#xff0c;这样是非常方便&#xff0c;但也会有一些问题…

jquery纯数字验证

$(document).ready(function(){ //纯数字验证,只让输入数字,比如-号等都不然输入。 $(#user-defined).unbind(); $(#user-defined).bind(keyup change,function () { $(this).val($(this).val().replace(/\D/g,));}); });转载于:https://www.cnblogs.com/kuiyeit/p/47940…

闪电模型数学_最经典的数学模型

最经典的数学模型怎样得到最好的女孩子的数学模型【关键词】怎样得到最好女孩子数学模型由于老天爷在你的生命中安排的异性并不是同时出现任你挑选&#xff0c;因此无论你在何时选择结婚都是有机会成本的。人们常常希望能够获得一个最可爱的人作为自己的伴侣。但是&#xff0c;…