DSP

AECMicArry

2019-07-13 18:49发布

   该示例使用MMDevice、WASAPI、DeviceTopology和EndpointVolume API来捕获高质量的音频流。该示例通过使用回声消除(AEC) DMO(也称为Microsoft提供的语言捕获DSP)支持声学回声消除(AEC)和麦克风阵列处理。 描述    该示例演示了如下功能:   ·MMDevice:多媒体设备枚举和选择;   ·WASAPI:流管理操作,例如流的启动、停止、切换;   ·DeviceTopology:列举音频适配器;   ·EndpointVolume:控制音频会话的音量级别 前置条件 下载示例 构建示例    构建AecSDKDemo,需要按照下面的步骤:    1.打开一个SDK命令窗口;    2.跳转目录:cd %MSSDK%Setup;    3.运行 VCIntegrate.exe,至此,命令窗口将具备适当的环境来构建使用SDK的应用程序。    4.构建 运行示例    如果你成功构建了演示程序,则会生成一个i额可执行文件AecSDKDemo.exe。要运行它,需要在命令窗口中输入AecSDKDemo,后跟必需参数或可选参数,如下所示:      AecSDKDemo -out mic_out.pcm -mod system_mode [-option value]    参数如下表所示:   参数 描述 -out (必需) 指定输出文件名称. -mod (必需) 指定语音捕获系统模式. -feat (可选) 打开(1)或关闭(0)功能模式. -ns (可选) 打开(1)或关闭(0)的噪音抑制。要指定此功能,功能模式必须打开(-feat 1)。 -agc (可选) 打开(1)或关闭(0)数字AGC。要指定此功能,功能模式必须打开(-feat 1). -cntrclip (可选)打开(1)或关闭(0)中心裁剪功能。要指定此功能,功能模式必须打开(-feat 1). -spkdev (可选) 指定扬声器设备索引。如果未指定,则会要求用户选择 -micdev (可选) 指定麦克风设备索引。 如果未指定,则会要求用户选择。 -duration (可选)指定应用程序运行多长时间。    此示例应用程序不播放任何信号。 要正确运行演示以启用AEC模式(模式0和4),用户必须通过为DMO指定的扬声器设备(即,“-spkdev”选项指定的设备)播放一些音频信号,该设备模拟 双向聊天场景中的远端语音。 用户可以使用任何播放器播放任何音频信号。 如果所选扬声器设备上没有活动的渲染流,则DMO将无法处理。   参考: https://www.yuque.com/docs/share/2fcec0bb-6f58-4122-8703-c4d48818ec59