Microsoft音频堆栈(MAS)是针对语音处理方案(如关键字识别和语音识别)优化的一组音频处理增强功能。 语音 SDK 集成了 MAS,允许任何应用程序或产品在输入音频上使用其音频处理功能。
音频处理管道
Microsoft音频堆栈提供两个音频处理管道,每个管道针对不同的方案进行了优化:
基于 DSP 的管道(默认值)
默认管道(AUDIO_INPUT_PROCESSING_ENABLE_DEFAULT)使用传统的数字信号处理(DSP)算法,并提供一整套增强功能:波束形成、去混响、声学回声消除、自动增益控制和噪声抑制。 可以禁用单个增强功能以匹配您的场景。 此管道支持所有麦克风阵列几何图形,可在 Windows 和 Linux 上使用。
有关 DSP 增强功能和代码示例的详细信息,请参阅 DSP 的音频处理与 Microsoft 音频堆栈。
基于模型的回声消除流程
基于模型的管道(AUDIO_INPUT_PROCESSING_ENABLE_V2)将基于 DSP 的回声取消器替换为机器学习模型,以改进回声抑制。 此流程专注于声学回声消除,并为回声抑制质量至关重要的场景而设计。
有关详细信息和代码示例,请参阅使用Microsoft音频堆栈的模型回声消除技术。
管道比较
音频增强功能
| Feature | 基于 DSP (默认值) | 基于模型 (V2) |
|---|---|---|
| 声学回声消除 | ✔ | ✔✔ |
| 噪声抑制 | ✔ | ✘ |
| Dereverberation | ✔ | ✘ |
| 自动增益控制 | ✔ | ✘ |
| 波束形成 | ✔ | ✘ |
| 禁用单个增强功能 | ✔ | ✘ |
✔✔ = ML 增强 ✔ = 支持 ✘ = 不支持
平台和语言支持
| Feature | 基于 DSP (默认值) | 基于模型 (V2) |
|---|---|---|
| Windows x64 | ✔ | ✔ |
| Windows ARM64 | ✔ | ✔ |
| Linux | ✔ | ✘ |
| C++ | ✔ | ✔ |
| C# | ✔ | ✔ |
| Java | ✔ | ✘ |
语音 SDK 集成
这两个管道都可通过语音 SDK 的 AudioProcessingOptions 类使用。 关键功能包括:
- 实时麦克风输入和文件输入 - 音频处理可应用于实时麦克风输入、流和基于文件的输入。
-
说话人参考通道 - 可以通过使用
SpeakerReferenceChannel.LastChannel选项为回声消除指定说话人参考通道。
隐私和数据处理
处理是在使用语音 SDK 的纯粹本地环境中进行的。 Microsoft音频堆栈不会将音频数据流式传输到Microsoft的云服务进行处理。 唯一的例外是对话听录服务,其中原始音频发送到Microsoft云服务进行处理。
相关内容
- 基于 DSP 的音频处理与 Microsoft 音频栈结合使用
- 基于模型的Microsoft音频堆栈中的回声消除技术