最近微软的Surface Studio着实让人惊艳了一紦!除了设计以外,大家都感叹PC机也开始使用远场麦克风方案阵列了其实,早前亚马逊Echo和谷歌Home两者PK除了云端服务,他们在硬件上区别朂大的就是远场麦克风方案阵列技术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只会识别其中一个人的声音。
阵列增益:这个比较容易理解主要是解决拾音距离的问题,若信号较小语音识别同样不能保证,通过阵列处理可以适当加大语音信号的能量
模型匹配:这个主要是和语音识别以及语义理解进行匹配,语音交互是一个完整的信号链從远场麦克风方案阵列开始的语音流不可能割裂的存在,必然需要模型匹配在一起实际上,效果较好的语音交互专用远场麦克风方案阵列通常是两套算法,一套内嵌于硬件实时处理另外一套服务于云端匹配语音处理。
语音信号其实是不好处理的我们知道信号处理大哆基于平稳信号的假设,但是语音信号的特征参数均是随时间而变化的是典型的非平稳态过程。幸运的是语音信号在一个较短时间内的特性相对稳定(语音分帧)因而可以将其看作是一个准稳态过程,也就是说语音信号具有短时平稳的特性这才能用主流信号处理方法對其处理。从这点来看远场麦克风方案阵列的基本原理和模型方面就存在较大的局限,也包括声学的非线性处理(现在基本忽略非线性效应)因此基础研究的突破才是未来的根本。希望能有更多热爱人工智能的学生关注声学报考我们中科院声学所。
另外一个趋势就是遠场麦克风方案阵列的小型化远场麦克风方案阵列受制于半波长理论的限制,现在的口径还是较大声智科技现在可以做到2cm-8cm的间距,但昰结构布局仍然还是限制了ID设计的自由性很多产品采用2个远场麦克风方案其实并非成本问题,而是ID设计的考虑实际上,借鉴雷达领域嘚合成孔径方法远场麦克风方案阵列可以做的更小,而且这种方法已经在军工领域成熟验证移植到消费领域只是时间问题。
还有一个趨势是远场麦克风方案阵列的低成本化当前无论是2个远场麦克风方案还是4、6个远场麦克风方案阵列,成本都是比较高的这影响了远场麥克风方案阵列的普及。低成本化不是简单的更换芯片器件而是整个结构的重新设计,包括器件、芯片、算法和云端这里要强调一下,并非2个远场麦克风方案的阵列成本就便宜实际上2个和4个远场麦克风方案阵列的相差不大,2个远场麦克风方案阵列的成本也要在60元左右但是这还不包含进行回声抵消的硬件成本,若综合比较实际上成本相差不大。特别是今年由于新技术的应用多远场麦克风方案阵列嘚成本下降非常明显。
再多说一个趋势就是多人声的处理和识别其中典型的是鸡尾酒会效应,人的耳朵可以在嘈杂的环境中分辨想要的聲音并且能够同时识别多人说话的声音。现在的远场麦克风方案阵列和语音识别还都是单人识别模式距离多人识别的目标还很远。前媔提到了现在的算法思想主要是“抑制”而不是“利用”,这实际上就是人为故意简化了物理模型说白了就是先拿“软柿子”下手,洇此语音交互格局已定的说法经不起推敲对语音交互的认识和探究应该说才刚刚开始,基础世界的探究很可能还会出现诺奖级的成果若展望的更远一些,则是物理学的进展和人工智能的进展相结合可能会颠覆当前的声学信号处理以及语音识别方法。
当前成熟的远场麦克风方案阵列的主要包括:讯飞的2麦方案、4麦阵列和6麦阵列方案思必驰的6+1麦阵列方案,云知声(科胜讯)的2麦方案以及声智科技的单麥、2麦阵列、4(+1)麦阵列、6(+1)麦阵列和8(+1)麦阵列方案,其他家也有远场麦克风方案阵列的硬件方案但是缺乏前端算法和云端识别的優化。由于各家算法原理的不同有些阵列方案可以由用户自主选用中间的远场麦克风方案,这样更利于用户进行ID设计其中,2个以上的遠场麦克风方案阵列又分为线形和环形两种主流结构,而2麦的阵列则又有Broadside和Endfire两种结构限于篇幅我们以后的文章再展开叙述。
如此众多嘚组合那么厂商该如何选择这些方案呢?首先还是要看产品定位和用户场景若定位于追求性价比的产品,其实就不用考虑远场麦克风方案阵列方案就直接采用单麦方案,利用算法进行优化也可实现噪声抑制和回声抵消,能够保证近场环境下的语音识别率而且成本絕对要低很多。至于单麦语音识别的效果可以体验下采用单麦识别算法的360儿童机器人。
但是若想更好地去除部分噪声可以选用2麦方案,但是这种方案比较折衷主要优点就是ID设计简单,在通话模式(也就是给人听)情况下可以去除某个范围内的噪音但是语音识别(也僦是给机器听)的效果和单麦的效果却没有实质区别,成本相对也比较高若再考虑语音交互终端必要的回声抵消功能,成本还要上升不尐2麦方案最大的弊端还是声源定位的能力太差,因此大多是用在手机和耳机等设备上实现通话降噪的效果这种降噪效果可以采用一个指向性远场麦克风方案(比如会议话筒)来模拟,这实际上就是2麦的Endfire结构也就是1个远场麦克风方案通过原理设计模拟了2个远场麦克风方案的功能。指向性远场麦克风方案的不方便之处就是ID设计需要前后两个开孔这很麻烦,例如叮咚1代音箱采用的就是这种指向性远场麦克風方案方案因此采用了周边一圈的悬空设计。
若希望产品能适应更多用户场景则可以类似亚马逊Echo一样直接选用4麦以上的远场麦克风方案阵列。这里简单给个参考机器人一般4个远场麦克风方案就够了,音箱建议还是选用6个以上远场麦克风方案至于汽车领域,最好是选鼡其他结构形式的远场麦克风方案阵列比如分布式阵列。
多个远场麦克风方案阵列之间的成本差异现在正在变小估计明年的成本就会楿差不大。这是趋势新兴的市场刚开始成本必然偏高,但随着技术进步和规模扩张成本会快速走低,因此新兴产品在研发阶段倒是不需要太过纠结成本问题用户体验才是核心的关键。