麦克风阵列npg151如何实现回声消除,降噪等功能?

:light_bulb: 建议使用本模板发帖,也可以自由编辑,但必须完整描述产品及问题(至少包含:产品名称、版本、问题描述)。

产品型号 / 套件:科大讯飞 远场麦克风环形阵列模块ROS
版本 / 规格:
控制板 / 主板:NGX
操作系统 / 软件 / 固件版本:Linux
参考的教程或步骤:

问题描述:麦克风阵列npg151如何实现回声消除,降噪等功能?

报错信息 / 日志 / 截图:

复现步骤:
1.
2.
3.

已尝试的排查:

补充说明:

您好!您使用的科大讯飞远场麦克风环形阵列(NPG151)本身已内置讯飞语音算法,回声消除(AEC)和环境降噪不需要您自行编写算法,但正确的接线与使用方式是让这两项功能生效的前提,说明如下:

1. 降噪(环境噪声消除)原理
模块利用麦克风阵列的空域滤波特性:通过唤醒人的角度定位,形成定向拾音波束,并对波束以外的噪声进行抑制,从而提升远场拾音质量。录音时主麦方向的声音会被加强、其它方向减弱,因此建议先通过唤醒词唤醒,或手动设置主麦方向后再录音,降噪效果最佳。

2. 回声消除(AEC)原理与关键接线
回声消除必须引入“参考信号”——即把扬声器正在播放的声音接入模块,算法据此在麦克风信号中抵消喇叭声。接线要点:

  • 将麦克风阵列的参考信号接口(J2)用 2pin 参考信号线接到功放后端(即功放到喇叭之间的 SPK+ 与 SPK-);
  • 要求输入参考信号的峰峰值不超过 300mV;
  • 若使用 R818 降噪板方案,其“参考信号接口”同样接功放/回采信号,可用一根 3.5mm 音频线与上位机音频输出接口连接。
    如果参考信号没接或接错位置,回声消除不会生效,会出现“自言自语”或啸叫现象。

3. 使用效果验证(Linux 环境)

  • Linux SDK 下运行 mic_demo_sample 测试用例:输入“1”启动麦克风、“11”设置唤醒词、按“6”开始同时录制降噪音频和原始音频、按“7”结束录制;
  • 会生成两个文件:
    • mic_demo_vvui_deno.pcm——降噪音频(单声道,16kHz 16bit),用于语音识别;
    • mic_demo_vvui_ori.pcm——原始音频(8 通道,其中 1-6 通道为 6 路麦克风,7-8 通道为参考信号);
  • 播放命令参考:aplay -r16000 -fS16_LE -c1 mic_demo_vvui_deno.pcm(降噪音频)。
  • ROS 环境下开启麦克风初始化节点:roslaunch xf_mic_asr_offline mic_init.launch。

4. 注意事项

  • 喇叭应尽量远离麦克风,避免大音量下直接截幅失真;
  • 播放音量过大时,回声消除会连带削弱录音音量,属正常现象;
  • 立体声(左右声道不一致)时需要接入两路参考信号;
  • 参考信号最好取自功放后端(最接近真实发声信号),若只能取功放前端信号,请确保功放不做 EQ 音效。

以上为科大讯飞环形远场麦克风阵列/R818 降噪板方案的通用实现说明。若您的 NPG151 接口或结构与上述描述有差异,请补充产品铭牌型号和接口照片,我们进一步为您确认。


若您觉得本回复有帮助,可以点击下方按钮将其标记为解决方案。

将麦克风阵列的参考信号接口(J2)用 2pin 参考信号线接到功放后端(即功放到喇叭之间的 SPK+ 与 SPK-);这里如何实现?

您好!J2 参考信号接口的接线目的,是把“扬声器正在播放的信号”回采一份给麦克风阵列,算法据此在麦克风信号中抵消喇叭声。具体实现步骤如下:

1. 接线步骤(断电状态下操作)

  • 找到麦克风阵列板上的 J2 参考信号接口(旁边有丝印标注),将随附的 2pin 参考信号线一端插入 J2。该接口采用防反插设计,插不进去不要硬塞,可换一个面再插。
  • 另一端的两根线,接到功放输出端与喇叭之间的 SPK+ 和 SPK- 端子上。注意:这是与喇叭并联的关系——把两根线分别搭在功放到喇叭的那两个端点上(SPK+ 对 SPK+,SPK- 对 SPK-),而不是把喇叭线断开串联进去。若接线端子是螺丝式,松开螺丝压入线头再拧紧即可。
  • 确认正负对应无误后,再上电测试。

2. 关键注意事项

  • 参考信号最好取自功放后端(功放→喇叭之间),因为这个信号最接近真实发声;如果只能取功放前端(主板音频输出→功放之间)的信号,请确保功放不要做 EQ 音效,否则前端与后端信号不一致,回声消除基本失效。
  • 输入参考信号的峰峰值不能超过 300mV。如果功放输出功率较大,信号过强,需要先做分压再接入参考信号通道,否则截幅会导致回声消除失效。
  • 若喇叭为立体声且左右声道不一致,需要接入两路参考信号(左右各一路)。
  • 喇叭尽量远离麦克风放置,避免大音量下录音截幅失真(爆音)。

3. 验证方法
接好后运行录音测试(如 mic_demo_sample,按“6”同时录制降噪音频和原始音频),原始音频为 8 通道文件,其中 第 7、8 通道就是参考信号,播放喇叭时这两个通道应有与喇叭输出一致的信号;正常接好后,喇叭播放时麦克风录音中不应再出现明显的回声或啸叫。

如果您上传的照片中 J2 接口或功放端子的位置与上述描述有出入(比如接口形状、丝印编号不同),请补充清晰的标注照片,我们再为您进一步确认。


若您觉得本回复有帮助,可以点击下方按钮将其标记为解决方案。

这是我的所有设备,麦克风阵列板上的 J2 参参考信号接口没有找到,是需要将扬声器接到参考信号接口吗?

正在为您安排官方支持人员处理。

若需要我继续协助,可以回复或@我。 @hiwonder_wanchenccc

麻烦尽快安排回复下,谢谢

您好,官方支持人员正在为您处理,请稍候。若仍需我协助,可以在此回复并@我。 @hiwonder_wanchenccc

@iwonder_wanchenccc

抱歉,我无法处理您的问题,请耐心等待支持人员为您解答。我将不再在此贴中继续回复。如仍需要我的帮助,请@我处理。

@hiwonder_wanchenccc

您好!目前我们暂未提供关于该功能实现原理的详细资料,AI 回复内容仅供参考,具体实现还请以实际产品和开发环境为准。您也可以前往【综合讨论】或【开发讨论】板块,与其他开发者交流讨论,获取更多建议。