环形六麦开发套件

套件说明

思必驰DUI平台推出的环形六麦开发套件解决方案, 为开发者在居家、出行、服务、娱乐、消费、安防等各领域的智能体验提供软硬一体化的技术支持。本方案为远场语音交互方案,采用AISpeech前段语音信号处理技术,支持360°广范围拾音,±10°声源定位,5米远场交互识别率92%,唤醒率95%。语音定向增强,有效解决远场环境下的噪音干扰。拥有业内一流的声学处理技术,输出标准采样单声道信号。

套件内容及组装步骤详见AISPEECH 6麦采集板体验开发套件V2.0使用说明手册


如果开发者想要将麦克风阵列采集模组集成到自行设计的硬件上,请参考采AISPEECH CPLD 麦克风阵列采集模组设计手册V1.1.2

操作说明

体验预置产品demo

开发套件的R16体验板刷入Android4.4.2的eng系统,该系统对音频采集部分进行了修改,开放root权限,同时预装DUI Dev的体验程序和可直接体验的语音产品Demo.
点击如图所示的DUI-DEV APP,通过说“你好小驰”来唤醒产品,体验语音交互过程,具体操作说明请参考产品demo体验说明书
Minion

使用自定义语音产品

DUI平台上创建Android产品,创建过程详见5步定制自定义产品
配置过程中采集模组需要选择使用远场6麦,发布产品。

Minion

回到开发板上,联网后,打开DUI Dev,进入设置后,填入DUI平台上发布的产品ID和分支号,即可体验效果。

Minion

接入DUI

获取开发套件

前往Android环形六麦开发套件购买开发套件。

step1: Android HAL层准备工作

在HAL层整合AEC功能,应用层可采集到经过回声消除之后的音频数据,将AudioSource.VOICE_RECOGNITION作为6麦克风的数据源。

采样率支持48kHz,16bit采样位宽,通道支持AudioFormat.CHANNEL_IN_STEREO

step2: 与Android DDS SDK对接工作

Android 系统定制完成后,可以开始DDS SDK的集成,参考Android SDK集成

只需要在DUI平台的产品配置界面,选择采集模组为环形六麦模组,然后保存,发布产品即可。

特殊定制

定制采集板规格

如果您希望自己定制6麦硬件的规格,不使用72mm作为采集板直径,请联系技术支持申请对应规则的资源文件。

因为AEC做在了HAL层,所以只需要申请beamforming资源和wakeup_cfg资源。

  • 比如:
    beamforming资源名为:UCA_asr_ch6-2-ch6_80mm_common_20170725_v3.0.12.bin
    wakeup_cfg资源名为:UCA_wakeup_ch6-2-ch6_80mm_common_20170725_v3.0.12.bin

请将这两个文件提前放到机器某个目录下,或者由代码在程序启动时copy到机器某个目录下。

  • 比如:
    放在了/data/目录下,那么在dds初始化的时候需要把资源的路径名设置到ddsconfig中:
ddsConfig.addConfig(DDSConfig.K_MIC_ARRAY_BEAMFORMING_CFG, "/data/UCA_asr_ch6-2-ch6_80mm_common_20170725_v3.0.12.bin");
ddsConfig.addConfig(DDSConfig.K_MIC_ARRAY_WAKEUP_CFG, "/data/UCA_wakeup_ch6-2-ch6_80mm_common_20170725_v3.0.12.bin");

不在HAL层集成AEC功能

如果不希望在HAL层集成AEC模块,可以选择使用DDS SDK中提供的应用级别AEC模块,同时采用外部录音机的模式(不使用DDS SDK内部的录音机)。录音机由客户自己开发,DDS SDK提供接口,客户将录音数据通过该接口送到DDS SDK中。


线下请对接思必驰技术支持,申请对应的资源(说明录音数据有几个通道,这几个通道分别是外录还是参考音,参考音有几个通道,环麦采集板的直径)


因为AEC做在了DDS SDK 中,所以需要申请AEC资源,beamforming资源和wakeup_cfg资源。

  • 比如:
    aec资源名为:AEC_ch6-2-ch4_2ref_20170807_v0.8.0.bin
    beamforming资源名为:UCA_asr_ch6-2-ch6_80mm_common_20170725_v3.0.12.bin
    wakeup_cfg资源名为:UCA_wakeup_ch6-2-ch6_80mm_common_20170725_v3.0.12.bin

请将这三个文件提前放到机器某个目录下,或者由代码在程序启动时copy到机器某个目录下,

  • 比如:
    放在了/data/目录下,那么在dds初始化的时候需要把资源的路径名设置到ddsconfig中:
ddsConfig.addConfig(DDSConfig.K_MIC_ARRAY_AEC_CFG, "/data/AEC_ch6-2-ch4_2ref_20170807_v0.8.0.bin");
ddsConfig.addConfig(DDSConfig.K_MIC_ARRAY_BEAMFORMING_CFG, "/data/UCA_asr_ch6-2-ch6_80mm_common_20170725_v3.0.12.bin");
ddsConfig.addConfig(DDSConfig.K_MIC_ARRAY_WAKEUP_CFG, "/data/UCA_wakeup_ch6-2-ch6_80mm_common_20170725_v3.0.12.bin");

另外,请在初始化时申明使用外部录音机,并且通过相关接口将音频数据块送给SDK。

config.addConfig(DDSConfig.K_RECORDER_MODE, "external"); //在dds初始化的时候设置录音机为外部录音机,不使用sdk内部的录音机
  
DDS.getInstance().getAgent().feedPcm(bytes);//把录音数据送给sdk