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


常用到的技术是TDOA(Time Difference Of Arrival , 到达时间差) , 简单理解就是通过计算信号到达麦克风之间的时间差 , 从而计算出声源的位置坐标 , 需要毫秒级的响应和计算 。
|语音交互:先从麦克风阵列聊起
本文插图

2. 抑制噪音/增强人声
在语音识别中 , 语音信息中往往夹杂着噪音 , 常见的有环境噪音和人声干扰 , 通常不会掩盖正常的语音 , 只是影响声音的清晰度 。 麦克风阵列主要通过波束形成技术 , 来抑制噪音 , 增强人声 。 可以理解为只识别某个角度的声音(一般角度可以进行调节) , 其他角度的声音都会受到抑制 , 从而实现抑制噪音的目的 。 反过来也可以增强角度内的人声 , 就是增强人声 。
比如家庭场景 , 如果我们开着电视和空调在和音箱说话 , 音箱会以唤醒的它的角度为拾音区域 , 抑制非该角度的噪音(电视声音和空调噪音) 。 一般我们根据使用场景去设置拾音角度 , 使用距离越远 , 角度越小 , 常见为60°-120°之间 。
抑制噪音能够满足日常家庭的使用场景 , 但对于强噪音环境的抑制效果并不理想 , 典型的就是鸡尾酒效音 。
|语音交互:先从麦克风阵列聊起
本文插图

3. 回声消除
如果不做特殊处理的话 , 机器人会识别自己发出来的声音 , 很有可能就会变成无休止的自问自答 , 或者拾音错误 。 回声消除就是为了解决这个问题 , 消除掉机器自己发出的声音 。
比如家庭场景下 , 你的音箱正在放音乐周杰伦的新歌 , 但是你想要查一下天气 , 这个时候你就会说“小X小X , 今天天气” 。 回声消除的目的就是要去掉其中音乐信息而保留你的声音 。
其实回声消除可能不太好理解 , 有时也被称作为“自识别” , 即自己识别自己发出的声音 。
4. 混响消除
在某些场景 , 发音会有回音 , 人能听到的是17米左右距离返回的回音 。 但是机器的感知要比人敏感的的多 , 如果不做处理 , 就会出现一句话叠加识别的情况 。 混响常指声波在室内传播时 , 被墙壁、天花板、地板等障碍物形成反射声 , 并和直达声形成叠加的现象 。
比如在演播厅 , 我们能够感受到较为明显的回音 , 机器同样能够识别到这些回音 。 混响消除就是消除之后带来的回音 , 只识别第一遍的内容 。
解决了这些问题 , 基本上就可以在日常环境下进行一个正常拾音 , 从而保证整个语音识别的正常 。
四、如何选择麦克风阵列?
市面上可选的麦克风阵列方案比较多 , 国产主要集中在思必驰、云知声、科大讯飞和智声科技等 , 他们也有从单麦克风到麦克风阵列的全套解决方案 , 以及前端算法 。 纵观全球主要是亚马逊和苹果的麦克风阵列硬件 , 谷歌和微软的前端算法 , 分别是他们的擅长的地方 。
|语音交互:先从麦克风阵列聊起
本文插图

首先从使用场景和ID设计 , 进行选择 。 如果是像手机一样拿在手上的近场景交互 , 产品又追求性价比 , 那么单麦克风完就能够满足需求;如果是像音箱一样放在家庭中的远场景交互 , 建议可以选择4麦以上的麦克风阵列 , 常见的有4+1和6+1两种选择方案;如果是像视频音箱一样站在面前的交互场景 , 建议选择2-4麦的麦克风阵列 , 当然条件允许 , 6麦的 , 甚至8麦的都是可以的 。 另外产品的ID设计适合什么类型的麦克风阵列 , 这个就因人而异了 。
其次就是结合产品定位和前端算法 , 进行选择 。 如果只需要近场景收音 , 需求仅限于拾音 , 建议单麦就可以 , 成本低 , ID设计简单;如果是想要实现类似通话降噪这种效果 , 2麦的麦克风阵列就可以满足需求 , 再多价值不大;如果是想要去除大部分噪音 , 建议使用4个以上的麦克风阵列 , 还要考虑前端降噪算法的能力 , 一般大厂效果更加可靠 , 麦克风阵列的硬件和前端算法的效果要结合ASR识别来一起评估 。


推荐阅读