在本文中,你将了解如何设计一个与语音 SDK 配合使用的自定义麦克风阵列。 如果你要为语音解决方案选择、指定或构建硬件,这是非常相关的。
语音 SDK 最适用于根据以下准则(包括麦克风几何结构、组件选择和架构)设计的麦克风阵列。
麦克风几何结构
建议将以下阵列几何结构用于 Microsoft 音频堆栈。 借助更多的麦克风以及与特定应用程序、用户方案和设备外形规格之间的依赖关系,可以改善音源定位和环境噪声的抑制。
| Array | 麦克风 | Geometry |
|---|---|---|
| 环形 - 7 个麦克风 |
|
6 个外围,1 个中心,半径 = 42.5 毫米,均匀分布 |
| 环形 - 4 个麦克风 |
|
3 个外部,1 个中心,半径 = 42.5 毫米,均匀排布 |
| 线形 - 4 个麦克风 |
|
长度 = 120 毫米,间距 = 40 毫米 |
| 线性 - 2 个麦克风 |
|
间距 = 40 毫米 |
应根据每个阵列前述的编号(从 0 开始升序)排列麦克风声道的顺序。 需要为 Microsoft Audio Stack 提供另一个音频播放参考流才能让它执行回声消除。
组件选择
应选择适当的麦克风组件来准确重现无噪声和失真的信号。
选择麦克风时建议的属性如下:
| 参数 | Recommended |
|---|---|
| 信噪比 | >= 65 dB(1 kHz 信号,94 dBSPL,A加权噪声) |
| 振幅匹配 | ± 1 dB @ 1 kHz |
| 相位匹配 | ± 2° @ 1 kHz |
| 声学过载点 (AOP) | >= 120 dBSPL (THD = 10%) |
| 比特率 | 最小要求为 24 位 |
| 采样率 | 最小 16 kHz* |
| 频率响应 | ± 3 dB,200-8000 Hz 浮动屏蔽* |
| Reliability | 存储温度范围:-40°C 到 70°C 工作温度范围:-20°C 到 55°C |
* 对于优质通信 (VoIP) 应用程序,可能需要更高的采样率或“更宽”的频率范围
要避免降低所用组件的性能,必须将良好的组件选择与出色的电声集成结合。 独特的用例可能还需要满足更多要求(如运行温度范围)。
麦克风阵列集成
集成到设备后,麦克风阵列的性能将与组件规格不同。 在集成后,必须确保麦克风良好匹配。 因此,在经过任何固定增益或均衡 (EQ) 之后测量的设备性能应符合以下建议:
| 参数 | Recommended |
|---|---|
| 信噪比 | >= 64 dB(1 kHz 信号,94 dBSPL,A加权噪声) |
| 输出灵敏度 | -26 dBFS/Pa @ 1 kHz(建议) |
| 振幅匹配 | ± 2 dB,200-8000 Hz |
| 总谐波失真率* | ≤ 1%,200-8000 Hz,94 dBSPL |
| 频率响应 | ± 6 dB,200-12000 Hz 浮动屏蔽** |
** 需要使用一个低失真扬声器(例如 Neumann KH120)来测量 THD
** 对于优质通信 (VoIP) 应用程序,可能需要“更宽”的频率范围
扬声器集成建议
由于包含扬声器的语音识别设备需要回声消除,因此我们在扬声器选择和集成方面提供了更多建议。
| 参数 | Recommended |
|---|---|
| 线性注意事项 | 在扬声器参考信号后面不要进行非线性处理,否则需要基于硬件的环回参考流 |
| 扬声器回路反馈 | 通过 WASAPI、专用 API、自定义 ALSA 插件 (Linux) 提供,或通过固件通道提供 |
| 总谐波失真率 (THD%) | 1/3 倍频程带,最低五阶,70 dBA 的播放音量在距离 0.8 米处 ≤ 6.3%,315-500 Hz ≤ 5%,630-5000 Hz |
| 麦克风回声耦合 |
> -10 dB TCLw,使用 ITU-T G.122 附录 B.4 方法,标准化为麦克风电平 TCLw = TCLwmeasured + (测量水平 - 目标输出灵敏度) TCLw = TCLwmeasured + (测量值 - (-26)) |
集成设计体系结构
将麦克风集成到设备时,需要遵守以下体系结构方面的准则:
| 参数 | 建议 |
|---|---|
| 麦克风端口相似性 | 阵列中的所有麦克风端口具有相同的长度 |
| 麦克风端口尺寸 | 端口大小:Ø0.8-1.0 毫米 端口长度/端口直径:< 2 |
| 麦克风密封性 | 在堆栈中使用统一的密封垫片。 建议对泡沫垫片实施压缩率为> 70%的压缩。 |
| 麦克风可靠性 | 应使用滤网来防止灰尘和浸入(安装在PCB与端口位于底部的麦克风的密封垫片/顶盖之间) |
| 麦克风隔离 | 在结构中安装橡胶垫片和振动解耦装置,专门用于隔离集成扬声器后出现的任何振动路径 |
| 采样时钟 | 设备音频应保持低抖动、无断续,并且偏差应尽量小。 |
| 录制功能 | 设备必须能够同时录制各个声道的原始流数据 |
| USB | 所有 USB 音频输入设备必须根据 USB 音频设备修订版 3 规范设置描述符 |
| 麦克风几何结构 | 驱动程序必须正确实现麦克风阵列几何描述符 |
| 可发现性 | 设备中不得包含任何无法被发现或控制的硬件、固件或第三方基于软件的非线性音频处理算法,这些算法涉及设备的输入或输出。 |
| 捕获格式 | 捕获格式必须使用最小 16 kHz 采样率和建议的 24 位深度 |
电力体系结构注意事项
如果适用,阵列可以连接到 USB 主机(例如运行 Microsoft Audio Stack (MAS) 的 SoC),并与语音服务或其他应用程序交互。
硬件组件(例如 PDM-TDM 转换组件)应确保在再采样器中保留麦克风的动态范围和信噪比。
高速 USB 音频类 2.0 应在任何音频 MCU 中受支持,以便在使用较高采样率和位深度时,为最多 7 个声道提供所需的带宽。