|语音交互:先从麦克风阵列聊起


随着智能音箱、智能家居等智能硬件的普及 , 语音交互热度也不断飙升 。 想要了解语音交互 , 第一步是了解麦克风阵列 , 本文从概念、分类、作用几个方面对麦克风阵列展开了说明 , 与大家分享 。
|语音交互:先从麦克风阵列聊起
本文插图

语音交互从亚马逊音箱(Echo)诞生的那一刻 , 就逐步走进了人们的视野 , 越来越多的人开始接触到语音交互的设备 。 从电视里的机器人 , 到家里的音箱 , 最后到手上的手机 , 语音交互变得触手可及 。
语音交互的第一步就是拾音 , 机器人先要有一个耳朵 , 因为听不到声音就不会有反馈 , 更谈不上交互了 , 而麦克风阵列就相当于机器人的耳朵 。
一、什么是麦克风阵列?
麦克风相信大家都见过 , 就是我们常见的话筒 , 麦克风阵列本质上和话筒没有区别 , 只是收音的单元比较多而已 , 基本上超过两个收音孔就可以说是麦克风阵列了 。 简单理解为一个麦克风就是麦克风 , 多个麦克风就是麦克风阵列 。
麦克风阵列是由一定数目的声学传感器(麦克风)按照一定规则排列的多麦克风系统 , 对声场的空间特性进行采样并滤波的系统 。
麦克风阵列除了看到的麦克风数量以外 , 还有一系列的前端算法 , 两者结合的系统才是完整的麦克风阵列 。 而麦克风阵列也只是完成了物理世界的音频信号处理 , 想要完成语音识别 , 还是需要云端的ASR模型 , 两个系统配合在一起才能得到最好的识别效果 。
|语音交互:先从麦克风阵列聊起
本文插图

二、麦克风阵列如何分类?
由于前端算法看不见 , 摸不着 , 我们对于麦克风阵列的分类 , 常常参考麦克风的布局和数量 。 目前常见的分类 , 基本上以麦克风布局的形状来做区分 , 参考我们中学课本讲的点线面体 , 可以将麦克风阵列分为:线性阵列 , 平面阵列 , 立体阵列(点就是一个麦克风) 。
当然也有根据形状的分类 , 比如:一字、十字、平面、螺旋、球形及无规则阵列等 。 这里我们按照点线面体的方法介绍 。
|语音交互:先从麦克风阵列聊起
本文插图

1. 线性阵列
常见的是两个麦克风的组成的线性阵列 , 目前几乎所有中高端手机和耳机都采用双麦克降噪技术来提升通话效果 , 也有部分智能音箱采用这种方案 。
两个麦克风组成的线性阵列最大的优势就是成本低 , 相对于多麦克风 , 功耗也更低 。 缺点也比较明显 , 降噪效果有限 , 就是对于远场景交互的效果并不好 。
2. 平面阵列
平面阵列的组合就比较多样化 , 常见的有4麦阵列和6麦阵列 , 还有升级的4+1麦阵列和6+1麦阵列 , 甚至8+1麦阵列 。 平面阵列常见于智能音箱和语音交互机器人上面 。
平面阵列的线性阵列可以实现平面360度等效试音 , 麦克风个数愈多 , 空间划分精细度高 , 远场景识别效果好 。 缺点就是功耗较高 , ID设计复杂 。
3. 立体阵列
立体阵列多是球状 , 或者圆柱体 , 可以实现真正的全空间360度无损拾音 , 解决了平面阵高俯仰角信号响应差的问题 , 效果是最好的 , 成本也是最高的 。 但是生活中用的比较少 , 常见于专业领域 。
三、麦克风阵列有什么作用?
前面从硬件的角度介绍了麦克风阵列的分类 , 接下来结合麦克风阵列前端算法 , 看看麦克风阵列到底有什么作用?
1. 声源定位
人有两个耳朵 , 可以通过声音判断发声的方向 , 机器人也同样可以做到 。 这个功能就是声源定位 , 通过声音感知人所在的方向 , 从而实现对目标声源方向的跟踪 。 这也为后续的波束形成做技术铺垫 。
比如机器人场景 , 我们在机器人左边叫它 , 机器人听到声音后就会把头转向左边 , 我们在机器人背后叫它 , 机器人听到声音后就会转过去 , 这就是声源定位最典型的应用 。 通常声源定位会应用在语音唤醒阶段 , 能够检测一个大致的方向 。


推荐阅读