简介

产品概述

智能语音开发套件 ,又可称为 USB语音开发套件,可适配于不同的软硬件平台,为用户提供完整的语音开发解决方案,加快产品的落地,下图为该套件的各部分介绍:

_images/usbmic_audio.png

请注意:目前该套件默认也是支持RK3566/RK3568(Android11),用户测试只需要更新测试Demo APK即可

  • 4/6 MIC阵列 适配 于 Firefly 多种软硬件平台 ,接口为USB2.0标准接口,搭配 XFM-AEC(分压板)与 PABasic(功放板),可快速搭建回采信号采样硬件系统;

  • 根据不同的MIC阵列 可匹配相应的CAE阵列算法,支持AIUI云服务,开发者可接入 AIUI 开放平台 获取SDK以及相应的API接口,如需获取测试用的语音软件Demo APK ,点击此资源下载 若想获取Demo源码并商用,可联系官方商务:sales@t-firefly.com

平台

目前 Firefly 支持 USB语音开发套件的平台为目前主流的rk3399,rk3288,rk3328,rk3128,rk3566,rk3568平台(Android5.1,Android7.1,Android9.0,Android10.0,Android11 等)。

阵列适配

MOD-MIC-4XAnalog (4MIC阵列)

产品视图

_images/4MIC_FRONT.jpg _images/4MIC_BACK.jpg

产品参数

  • 唤醒距离:3~5m

  • 识别距离:3~5m

  • 声源定位:4mic水平180度

  • 定位精度:±15°

更多特性,可见 产品规格书: 资源下载

XFM-USBMEMS-6MIC (6MIC阵列)

产品视图

_images/6MIC_FRONT.jpg _images/6MIC_BACK.jpg

产品参数

  • 唤醒距离:3~5m

  • 识别距离:3~5m

  • 声源定位:6mic360度定位

  • 定位精度:±15°

更多特性,可见 产品规格书: 资源下载

XFM-GXECM-46MIC (4/6MIC阵列

产品视图

_images/XFM-GXECM-46MIC-front.jpg _images/XFM-GXECM-46MIC-back.jpg

产品参数

  • 唤醒距离:3~5m

  • 识别距离:3~5m

  • 声源定位:4mic水平180度/6mic 360度

  • 定位精度:±15°

更多特性,可见 产品规格书: 资源下载

请注意,该款麦克风阵列分别可以支持4MIC和6MIC的使用,区别在于使用的时候硬件是接4个MIC头还是6个MIC头。,如下图所示

_images/XFM-GXECM-46MIC-front_withmic.jpg

所以在使用CAEDemo进行测试的时候,也需要在资源下载的时候区分4MIC和6MIC。

XFM-AEC && PABasic 部件

PABasic 产品视图

_images/PABasic_FRONT.jpg _images/PABasic_BACK.jpg

PABasic 产品参数

PABasic为基础版功放板,帮助客户产品快速获得模拟音频信号放大、DSP音效调节的能力。

更多产品特性,可见 产品规格书: 资源下载

XFM-AEC 产品视图

_images/XFM-AEC.jpg

XFM-AEC 产品参数

⽀持5~12V 回采信号输⼊切换,主要是对回采信号接入后做分压处理,再输出分压电路处理后的音频数据。

更多产品特性,可见 产品规格书: 资源下载

AIUI 演示

AIUI 提供以语音交互为核心的交互解决方案,将讯飞强大的单点交互能力(前端声学处理,语义理解,语音合成,丰富的内容信源)整合为全链路的交互方案提供给广大开发者,开发者可以根据实际的业务需求,利用热词、静态实体、动态实体、所见即可说等特性,进行个性化的优化和改进,提升交互准确率,让人机交互更加流畅,真正的满足和解决用户实际使用中所遇到的问题。

用户在使用 USB语音开发套件 的时候,可接入 AIUI 开放平台 ,利用其提供的丰富API接口,自定义地实现诸如语音唤醒,语音识别,语音降噪,语义理解,语音合成,内容(信源),回声消除(需搭配 XFM-AECPABasic 硬件来实现)、全双工交互(需搭配 XFM-AECPABasic 硬件来实现)等功能。

以下为搭配软硬件的 CAEDemo 演示(如需获取,点击此资源下载) ,均以 Firefly 平台,开源主板 ROC-RK3328-PC(建议使用Android8.1及以上版本) 为例 (注:以下的4/6MIC阵列均可与XFM-AECPABasic 进行自由搭配,下面的搭配只是作为例子参考,如果在同一块板子同时验证多种类型的MIC阵列的时候,需要把/sdcard/cae 目录删除,再安装对应的测试APK)

CAEDemo 演示1 (不含 XFM-AEC && PABasic 部件)

用户在拿到 MOD-MIC-4XAnalog 麦克风阵列的时候,可使用测试APK(CAEDemo),来进行4MIC阵列的使用和验证,若搭配不含 XFM-AEC && PABasic 部件,则适用于不需要具备回声消除使用场景,只需要多MIC降噪能力的客户。

验证语音识别

硬件接法

使用 usb Type-C 连接 主板和4MIC阵列,如图

_images/4MIC_ASR0.jpg

使用说明

用户在打开APK之前,可以先接入网络(网线或者WIFI),连接上服务器,在打开APK之后,看到

_images/4MIC_APK0.png

表示已连接上语音识别的服务器,在点击 开始录音之前,需要给 插入的声卡设备权限,APK默认会给插入的声卡读写权限,无需手动执行操作

  • 确认服务器连接上之后,点击 开始录音 ,如果界面打印开始录音成功 表示正在录音

  • 在录音的时候 打开 保存音频->开始保存

  • 录音的过程中,可以通过语音关键字 小言,小言 ) ,唤醒语音识别,并进行语音识别操作,示例效果见下文 示例

  • 在想结束录音的时候,点击停止录音停止保存,保存下来的录音可以在/sdcard/cae 目录,音频分3个文件夹,CAEAsrAudio, CAERawAudio,PcmAudio ,原始音频在 CAERawAudio 目录,语音识别音频保存在 CAEAsrAudio 目录。

  • 由于保存下来的音频都是原始的 PCM 格式的,所以在使用音频软件预览的时候,CAERawAudio 文件夹的音频转化格式为 :

    • 32bit

    • 默认字节序

    • 6 Channels(4MIC阵列,麦克风输入4通道+XFM-AEC输入2通道,如果没接XFM-AEC部件,音频只显示4通道有效)&& 8 Channels(6MIC阵列,麦克风输入6通道+XFM-AEC输入2通道,如果没接XFM-AEC部件,音频只显示6通道有效)

    • 16000Hz

  • CAEAsrAudio 文件夹的音频转化格式则是:

    • 16bit

    • 默认字节序

    • 1 Channel

    • 16000Hz

示例效果

在连接上服务器,并开始录音的时候,对着 4MIC 说 小言,小言,今天的天气怎么样 ,Demo 会反馈服务器的识别结果,如图: _images/4MIC_RECOGNIZE0.png

CAEDemo 演示2 (含 XFM-AEC && PABasic 部件)

用户在拿到 XFM-USBMEMS-6MIC 麦克风阵列的时候,可使用测试APK(CAEDemo),来进行6MIC阵列的使用和验证,若搭配 了 XFM-AEC && PABasic 部件,可适用于需要具备唤醒、降噪、回声消除、人机交互全链路能力的使用场景。

验证回声消除

硬件接法

XFM-USBMEMS-6MIC 搭配上 XFM-AEC && PABasic 部件 的时候,除了 前面的MOD-MIC-4XAnalog 所需的 网络,Tyet-C(6MIC使用的是 Micro USB 接口) 之外,还需要一对 SPeaker 以及 一条双头Linein线,连接如图所示

_images/6MIC-CONNECT.jpg

如果是含有XFM-AECPABasic部件的MOD-MIC-4XAnalog 阵列的话,硬件接法如下图: _images/4MIC-CONNECT.jpg

如果是含有XFM-AECPABasic部件的XFM-GXECM-46MIC阵列的话,硬件接法如下图(当前使用6MIC阵列,拔掉两个MIC头就是4MIC): _images/XFM-GXECM-46MIC-connect.jpg

使用说明

用户可在主板上播放任意的音频歌曲,当音频信息从耳机口经过 Line in 线 输出到 PABasic功放板后,信号经过放大和DSP处理之后,一边输出到SPEAKER,向外播放音频,会形成 AE(回声) 另一边则经由XFM-AEC分压板分压后输出到6MIC阵列处,形成 回采信号,此时按照之前的验证语音识别 来操作,6MIC阵列在这个时候就会捕捉到使用者的语音信号,通过算法以及硬件(XFM-AEC&&PABasic)对回声进行消除,利于语音的交互, 如:

AE(回声)≈ 回采信号 

语音信号 + AE(回声)- 回采信号 ≈ 语音信号 

通过 PC端软件查看 /sdcard/cae/CAEAsrAudio文件夹内的PCM格式音频 ,可以看到,发送到AIUI平台进行语音交互的音频只有使用者的语音,歌曲的声音是消除掉了。

_images/ASR_WATCH.png