# MT8516 开发套件使用指南

# 产品介绍

# 概述

MT8516开发套件是一款基于MTK平台MT8516处理器和科大讯飞环形 6麦阵列结构的语音整体解决方案。此外还提供红外、串口、ZigBee 等多种接口,小巧易扩展,搭载 iFLYOS 生态,提供海量内容服务与定制化接口,满足多种远、近场语音交互场景。

# 产品特性

# 远/近场拾音

方案前端采用科大讯飞6麦克风阵列,能够实现家居场景 5-10m 左右的用户指令音频拾取,通过新一代神 经网络降噪算法对拾取音频进行处理,提供高品质降噪后音频给到后端,以保障唤醒、识别效果。

# 噪声抑制

该功能基于科大讯飞6麦克风阵列中的声源定位和波束增强等算法特性,通过采集指令声源(控制设备 的发音人)所在波束范围内的声音,抑制或者不处理其它波束所接收的声音,以提升采集声音的效果, 为后续唤醒和命令词识别效果提供保障。

# 回声消除

支持用户交互过程中,实现一次唤醒,多轮交互的控制方式,即用户可以中断播报进程进行下一轮交 互,让交互更加自然,流畅。

# 自定义唤醒词

浅定制唤醒词:通过iFLYOS开放平台使用免费文本训练功能,一秒生成,快速上线。

生成地址:https://www.iflyos.cn/custom-awake-words

深定制唤醒词:唤醒效果行业领先,闭环优化训练,不断迭代优化效果。

服务流程:请联系商务黄光辉,手机:18110901149 ,邮箱:ghhuang@iflytek.com

# 自定义发音人

提供十几个精品发音人,可根据产品定位免费选用;并提供发音人定制服务,给你的产品独一无二的音库。

定制音库服务及流程:请联系商务黄光辉,手机:18110901149 ,邮箱:ghhuang@iflytek.com

# 支持二次开发

可通过更换client id的方式实现自定义技能,设备端底层开放常用接口,支持二次开发。

# 搭载iFLYOS平台

自研发优秀技能超200多款,20 余个智能家居品牌设备控制,海量音频内容。高自定义,可通过前置拦截器,连接品牌自己的特有服务或其他第三方服务。

# 儿童模式

提供儿童模式切换,在儿童模式下有专属的发音人、闲聊、儿歌、教育资源等。

#

# 硬件说明

# 芯片框图

1

图1 MT8516芯片框图
产品属性 芯片信息
设备系统 Linux操作系统
扬声器 1.77英寸全频4Ω,额定功率3W
麦克风 6麦
内核 四核心64位ARM®Cortex-A35,主频达1.3GHz
内存 1Gbit
闪存 1Gbit
WiFi 支持WiFi 802.11 b/g/n和蓝牙4.0,支持蓝牙和WLAN的2.4GHz天线间的单天线共享
连接通道 USB 2.0 OTG、10/100 以太网 MAC、具有 ARC 的 HDMI 1.4 Tx、SPDIF 和嵌入式两声道音频 DAC 和 ADC
接口 支持I2Sx2,8个TDM通道和2个PDM输入,适用于远场(Far -field)麦克风语音控制
特点 提高了同步语音、数据和音频传输的整体质量。占板面积小,功耗低,极大减少了PCB布局资源。

# 系统设计框图

1

图2 系统设计框图
iFLYOS MT8516 开发套件是面向智能语音产品设计的低成本硬件参考方案。

硬件规格:

  • 产品尺寸:97mm×97mm×92mm
  • 重量:160g
  • CPU:MT8516
  • 内存:外置128/256MB DDR3 + 外置128/256MB FLASH
  • 麦克风阵列:6 Amics 远场设计
  • Network:无线网络802.11 b/g/n
  • Bluetooth:BT4.0+BLE
  • 音频输出:4Ω3W Speaker
  • LED:彩色 RGB*8
  • 电源输入:USB-Type C,5V
  • 视频输出:不支持

软件规格:

  • 系统:Linux
  • 内核:Kernel4.4
  • 语音操作系统:iFLYOS
  • 支持BT、A2DP音乐
  • 支持BLE配网WiFi网络

# 开发套件

# 整机

1

图3 整机示意图
- 垂直结构设计:灯光按键板 + CPU主板 + USB小板&按键小板&喇叭 - 灯光按键板有8颗RGB的全彩LED和4个物理轻触开关:VOL-/VOL+/MIC禁音/播放和暂停 - TYPEC接口提供USB信号和供电,可通过标准TYPEC线连接PC - TYPEC接口旁有一个物理轻触开关,用于配网

# 灯光按键板

1

图4 灯光按键板正面和背面
#### 核心板

1

图5 核心板正面
##### PCBA TOP层接口定义
序号 接口名称 说明
1 USB接口 5V/1.5A DC适配器,TYPEC接口
2 IR 红外 IN/OUT 红外遥控模块接口
3 耳机输出接口 3.5mm耳机连接器
4 喇叭输出接口 喇叭音腔连接器,4欧姆
5 UART 串口调试使用/用于扩充zigbee模组
6 天线座子 连接天线

1

图6 核心板背面
##### PCBA Bottom层接口定义
序号 接口名称 说明
1 MIC 6 Amic
2 按键与RGB接口1 连接按键与灯板
3 按键与RGB接口2 按键板与灯板备用的扩展口
4 板载天线 连接天线

# USB小板&按键小板&喇叭

1

图7 USB小板&按键小板&喇叭
## 操作说明
  1. 下载小飞在线APP并登陆
https://www.iflyos.cn/download/app/
  1. 长按设备配网键5秒,听到语音和黄色呼吸灯提示后松手,进入配网模式

1

  1. 在小飞在线APP点击添加设备,点击连接

    27

  2. 输入账号密码,等待设备联网即可

    28

  3. 完成设备联网后,你可以说“蓝小飞,今天天气怎么样”进行语音交互。

    29

# 按键说明

  • 配网键——长按5秒:进入配网模式
  • MIC禁音键——单击:禁用/启用麦克风
  • 播放/暂停键——单击:暂停/继续播放音频
  • VOL+键——单击:增加音量
  • VOL-键——单击:减少音量
  • 在配网模式下,长按音量+键/音量-键5秒,设备恢复出厂模式

# 灯光说明

  • 黄色灯光过渡为青色灯光后消失:联网成功
  • 青色:唤醒→正在听
  • 蓝色:思考中
  • 红色:联网失败/禁用或启用麦克风/系统错误
  • 黄色:固件升级中

# 串口通信

# 概述

套件支持通过串口与上位机进行通信,您可以通过串口协议实现业务数据传输。串口不限制传输数据的具体报文,用户可以按照自己需求来定义、传输。详情请参考如下示例。

通信协议要求

设备节点: /dev/ttyS1
数据长度: 8位
奇偶校验位:无
停止位:  1位
波特率:  B921600

# 串口示例

#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <fcntl.h>
#include <termios.h>
#include <errno.h>
#include <string.h>

#define DEVICE "/dev/ttyS1"

//打开串口并初始化设置
int init_serial(void) {
	int serial_fd = open(DEVICE, O_RDWR | O_NOCTTY | O_NDELAY);
	if (serial_fd < 0) {
		perror("open serial port failed!");
		return -1;
	}

	//串口主要设置结构体termios <termios.h>
	struct termios options;

	/**1. tcgetattr函数用于获取与终端相关的参数。
	 *参数fd为终端的文件描述符,返回的结果保存在termios结构体中
	 */
	tcgetattr(serial_fd, &options);
	/**2. 修改所获得的参数*/
	options.c_cflag |= (CLOCAL | CREAD); //设置控制模式状态,本地连接,接收使能
	options.c_cflag &= ~CSIZE; //字符长度,设置数据位之前一定要屏掉这个位
	options.c_cflag &= ~CRTSCTS; //无硬件流控
	options.c_cflag |= CS8; //8位数据长度
	options.c_cflag &= ~CSTOPB; //1位停止位
	options.c_iflag |= IGNPAR; //无奇偶检验位
	options.c_oflag = 0; //输出模式
	options.c_lflag = 0; //不激活终端模式
	cfsetospeed(&options, B921600); //设置波特率

	/**3. 设置新属性,TCSANOW:所有改变立即生效*/
	tcflush(serial_fd, TCIFLUSH); //溢出数据可以接收,但不读
	tcsetattr(serial_fd, TCSANOW, &options);

	return serial_fd;
}

/**
 *串口接收数据
 *@fd:串口描述符
 *@data:接收数据的缓冲区
 *@datalen:缓冲区的大小
 */
int uart_recv(int fd, char *data, int datalen) {
	int len = 0, ret = 0;
	fd_set fs_read;

	FD_ZERO(&fs_read);
	FD_SET(fd, &fs_read);
	//printf("uart wait receive data... ...\n");
	ret = select(fd + 1, &fs_read, NULL, NULL, NULL);
	if (FD_ISSET(fd, &fs_read)) {
		len = read(fd, data, datalen);
		return len;
	} else {
		perror("select");
		return -1;
	}
}

/**
 *串口发送数据
 *@fd:串口描述符
 *@data:待发送数据
 *@datalen:数据长度
 */
int uart_send(int fd, char *data, int datalen) {
	int len = write(fd, data, datalen); //实际写入的长度
	if (len == datalen) {
		return len;
	} else {
		tcflush(fd, TCOFLUSH); //TCOFLUSH刷新写入的数据但不传送
		return -1;
	}
}

#define BUF_SIZE 512
#define RECV_MODE 1
#define SEND_MODE 0

int main(int argc, char **argv) {
	int serial_fd = init_serial();
	if (serial_fd < 0) return -1;

#if RECV_MODE
	char buffer[BUF_SIZE] = { 0 };
	int recv_len = 0;

	while (1) {
		recv_len = uart_recv(serial_fd, buffer, BUF_SIZE);
		printf("----> receive data: %s\n", buffer);
		printf("----> receive length: %d\n\n", recv_len);
	}
#endif

#if SEND_MODE
	char buf[] = "FF 66 06 00 01 01 0D 03 00";
	int send_len = uart_send(serial_fd, buf, sizeof(buf)/sizeof(char));
	printf("----> send length: %d\n\n", send_len);
#endif

	close(serial_fd);
	return 0;
}

# 二次开发

iFLYOS MT8516套件是通过EVS协议与iFLYOS服务端通信实现语音交互和技能调用的。更多关于EVS协议的介绍,可通过 https://doc.iflyos.cn/device/evs/ 详细了解。MTK8516套件基于iotjs开发平台实现了与硬件、网络与文件系统等进行交互的能力,并使用JS语言完成了EVS协议逻辑。

# 准备

  1. Linux 环境,建议选择Ubuntu 16.04及以上。
  2. 下载MTK8516交叉编译工具链 (opens new window)

# 编译环境搭建

  1. 解压缩工具链,如果系统没有 7z 请先安装,安装方式:

    sudo apt-get install p7zip
    

    解压:

    7z x yocto_toolchain_7.3.7z
    
  2. 安装

    chmod +x oecore-x86_64-aarch64-toolchain-nodistro.0.sh
    
    ./oecore-x86_64-aarch64-toolchain-nodistro.0.sh
    

    选择安装目录,推荐安装如下目录 /etc/iflyosBoards/mtk8516 ,等待直到安装完成。

    image-20200319180736375

  3. 设置环境变量:

    source /usr/local/oecore-x86_64/environment-setup-aarch64-poky-linux
    
  4. 控制台输出 $CC 如果提示如下信息说明安装成功。

    aarch64-poky-linux-gcc
    
  5. 添加第三方依赖库

    下载第三方依赖库 (opens new window) 并复制到第 2 步选择的安装目录下的sysroot目录。

    mv /Users/admin/Desktop/MT8516第三方依赖库/lib/*
    /etc/iflyosBoards/mtk8516/sysroots/aarch64-poky-linux/usr/lib/
    
    mv /Users/admin/Desktop/MT8516第三方依赖库/lib/*  /etc/iflyosBoards/mtk8516/sysroots/aarch64-poky-linux/usr/lib64/
    

工具链 sysroot 中已经预编译了一些第三方的库如:

alsa cjson mbedtIs NE10 sqlite3
ffmpeg json-c dbus opus libxml2
c-ares jansson expat nghttp2 libz
curl openssl libev paho-mqtt-c

其它库请查看:/etc/iflyosBoards/mtk8516/sysroots/aarch64-poky-linux/usr/lib64

这里的 /etc/iflyosBoards/mtk8516 是实际的安装路径。

# 编译部署

  1. 下载开源工程项目 (opens new window)

  2. 解压后目录如下

    build_mt8516.sh
    
    jsruntime
    
    smartSpeakerApp
    
  3. 编译

    source build_mt8516.sh
    

    目标文件目录: /etc/iflyosBoards/mtk8516-edu/install

    
    /etc/iflyosBoards/mt8516-edu/install
    ├── bin
    │ └── iotjs 			  #jsruntime可执行程序
    ├── iFLYOS.json     #主程序启动配置文件
    ├── lib
    │ └── libiotjs.so   #jsruntime库
    ├── smartSpeakerApp #js应用层文件目录
    
  4. 部署

    4.1 首先,终止当前进程

    adb shell
    systemctl stop iotjs
    

    4.2 如果修改了jsruntime目录下的代码,把 install/bin/iotjs 推到音箱的 /usr/bin 目录下 把

    ​ install/lib/libiotjs.so 推送到 /usr/lib64 目录下

    adb push /install/bin/iotjs /usr/bin/
    adb push /install/lib/libiotjs.so /usr/lib64/
    

    4.3 如果修改了js代码, 将smartSpeakerApp目录推到 /usr/share/iflyos/iotjs目录下,将smartSpeakerApp重命名为js

    adb push /install/smartSpeakerApp /usr/share/iflyos/iotjs/
    mv  smartSpeakerApp  js
    

    4.3 修改iFLYOS.json 中的clientID和clientSecert

    注意:clientidclientSecret 由开发者在平台创建产品后生成,deviceid为用户自定义并导入设备平台白名单,其它选项修改请参考 更换配置文件

    4.4 将iFLYOS.json的 deviceID 导入用户的设备白名单之中 4.5 更新iFLYOS.json 后重启设备生效

    adb push iFLYOS.json /data/iflyos/
    adb reboot
    

# 开发文档

对于需要在MT8516做二次开发的开发者,我们提供了基础的接口调用说明,如播放器接口,蓝牙Sink接口,配网接口等,还有如何获取原始音频的说明。详细可见以下文档:

https://cdn.iflyos.cn/docs/mt8516_development_documents.zip

# EVS代码文件介绍

EVS 实现了云端协议的基础功能,同时实现了比较复杂的设备逻辑(如播放控制逻辑、音效焦点管理等),开发者可参考以下逻辑,在此基础上做二次开发。只需将拉取下来的文件进行修改,然后推送回设备即可在设备上体验。

文件目录:/usr/share/iflyos/iotjs/js

文件 说明
evsAlertPlayer.js 闹钟播放控制逻辑
evsAudioMgr.js 音频焦点控制逻辑
evsAudioPlayer.js 内容播放控制逻辑
evsAuthorizeMgr.js 用户授权管理逻辑
evsCapAlarm.js 本地闹钟端能力实现
evsCapAudioPlayer.js 音频播放端能力实现
evsCapInterceptor.js 拦截器端能力实现
evsCapRecognizer.js 语音识别端能力实现
evsCapSpeaker.js 本地播放器管理
evsCapSystem.js 音箱系统控制管理能力实现
evsClient.js 管理设备与服务端的连接,以及指令的接收和派发工作
evsContextMgr.js 设备Context的维护
evsMediaPlayer.js 本地播放器控制的基础实现
evsModuleConfig.js 配网逻辑管理,包括wifi配置以及授权的过程控制
evsModuleInteraction.js 用户交互逻辑管理,包括用户唤醒,用户按键,网络中断恢复等逻辑
evsModuleLed.js 灯效管理
evsModuleStartup.js 设备上电启动过程的逻辑管理,处理是否第一次启动,是否有授权,是否有网络等问题
evsPlayerHandler.js 音频播放控制逻辑的基础实现
evsSoundPlayer.js 本地TTS播放控制逻辑
main.js 入口程序

文件目录:/usr/share/iflyos/iotjs/js/platform/MTK8516

文件 说明
evsBleControl.js 配网时的蓝牙控制逻辑
evsButtonControl.js 按键控制逻辑
evsEffectPlayer.js 本地音效播放控制逻辑
evsWifiControl.js 配置wifi网络逻辑

# 个性化配置

将音箱的电源线USB口插至电脑,等待音箱开机启动。建议使用一个独立供电,并且电流在1.5A 以上的USB HUB 接入,避免出现供电不足导致的不稳定现象。

# 可以做什么

通过开发者模式,你可以使用 adb工具(点击下载) (opens new window) 执行 adb shell 命令连接到音箱,修改唤醒词及提示音效。

# 更换配置文件

  1. 配置文件名为 iFLYOS.json,可通过以下命令,将取配置文件拉取到本地。

    adb pull /data/iflyos/iFLYOS.json <保存本地路径>
    

    配置文件参数解释:

    参数 说明
    deviceID 设备的唯一ID,每个设备具备不同的deviceId,此ID用于OS的鉴权,请勿更改。如有出货需求可通过平台 (opens new window)选择您的设备解决方案,并填写您的联系方式,我们商务同事会联系您。
    clientID 设备的clientID,从设备接入平台 (opens new window)中获取
    clientSecret 设备的clientSecret,从设备接入平台 (opens new window)中获取
    otaSecret 设备的OTA密钥,从设备接入平台 (opens new window)中获取
    caeResPath 唤醒词文件的存放路径,可更新为自定义唤醒词的路径
  2. 完成修改后,可通过以下命令, 将修改后的配置文件推送至设备目录。

    adb push <配置文件路径> /data/iflyos/iFLYOS.json
    

    然后执行adb shell sync命令即可生效,注意 iFLYOS.json文件不要存放在有中文名称的本地路径下,否则有可能会导致 adb push 失效。

  3. 更换配置文件后,系统会优先应用配置文件中的参数,此时原有的授权信息会失效,需要重新授权绑定音箱。

注意

更换client_id完成,设备重启后,你需要为设备重新配置网络。在小飞在线 App (opens new window)中添加设备,选择相应产品,按照APP流程指引为音箱配置一个可用的 WLAN 网络。即可通过蓝小飞智能音箱体验你自己创建的设备的相关功能。

# 设备加入白名单

当你把设备更改成自己的ClientID后,需要在设备管理后台的“产品发布 - 设备ID”选项,把device id添加至白名单,设备才能完成鉴权操作。

# 自定义唤醒词

在蓝小飞智能音箱中,我们支持了自定义唤醒词的更换。

# 生成唤醒词资源

请访问自定义唤醒词平台 (opens new window)选择“平台通用唤醒词”生成你的专属唤醒词,后续只需在设备手动替换即可。

# 修改唤醒词资源

  1. 将生成好的唤醒词,push到/usr/share/iflyos/ivw/目录下,并在/data/iflyos/iFLYOS.json里修改caeResPath的对应资源路径。
  2. 替换完成后,执行adb shell sync 命令并启音箱。

1.0.1.038版本以及后续版本采用如下方法更新

  1. 将生成好的唤醒词,push到/usr/share/iflyos/ivw/目录下,并在/usr/share/iflyos/ivw/lanxiaofei.bin里修改IVW_RES的对应资源路径。
  2. 替换完成后,执行adb shell sync 命令并启音箱。

lanxiaofei.bin

[CAE]
CAE_RES = /usr/share/iflyos/ivw/res_6mic_tv_1024.bin ;
[IVW]
IVW_RES = /usr/share/iflyos/ivw/xiaofeixiaofei.bin ;
HLW_LOG = 1;
参数 说明
CAE_RES 前端降噪资源文件(配置绝对路径)
IVW_RES 唤醒资源文件(配置绝对路径)

注意

在推送唤醒词资源的时候到MT8516的时候,需使用adb shell df -h /usr 查看MT8516中的存储空间,确保存储空间足够存放唤醒词资源,如不够,可以删除其他的唤醒词资源

# 更换提示音

开发者可以在 TTS合成页面 (opens new window) 选择对应的发音人,生成专属开机欢迎语,推送至设备即可替换。

  1. 下载设备音频

    adb pull /usr/share/iflyos/ring <保存本地路径>
    
  2. 替换音频

    根据文件名寻找要替换的音频文件,将新的音频改名成与pull下来的文件同名

  3. 推送音频

    adb push <资源文件路径> /usr/share/iflyos/ring
    
  4. 注意

    • 完成替换后需执行adb shell sync命令生效
    • 注意音频文件需转换为m4a格式
    • 替换ring目录下的音频后,需保持音频文件名前后一致。

# 固件烧录

固件烧录支持window和Ubuntu两种烧录方式,平台提供所需工具,开发者按需选择即可。

# Windows 平台

# 准备

# 环境配置

# 1 安装Python

下载上面的 刷机固件包后选择python进行安装,使用默认配置,一直Next按键完成安装操作

1584613354985

1584613392261

1584613494234

2 配置python环境变量,在桌面右键计算机——>选择属性——>高级系统权限——>环境变量。

添加用户环境变量

1584614220488

​ 添加系统环境变量

1584614471772

​ 保存环境变量配置

1584614521498

1584614551654

至此,完成python环境变量配置。

# 2 MT8516驱动安装

  1. 双击运行刷机工具中的 MT8516-DriverInstall.exe,开始安装驱动。

选择Next

1584611231353

选择Install

1584611886131

选择“是”,并拔掉电脑上USB设备

1584612017596

选择确定,结束安装流程后手动重启电脑

1584612198082

点击Finish,完成安装驱动,并重启电脑

1584612245336

  1. 如果提示电脑已经安装过驱动,可以选择取消,退出安装;或者选择Install ,后续流程同上。

1584609977529

# 3 adb安装和配置

adb是一个命令行调试软件,可以用电脑操控硬件设备,比如把文件拷贝到设备里面。如果是已经安装了android开发环境或者已经配置过adb,此过程请忽略。

1 下载adb工具

2 把adb工具解压到C:\admin(这是我的电脑目录,每人电脑不一样)

3 验证adb配置,使用win+r,打开命令行

1584615542225

4、进入控制台,输入 adb version,标识安装成功

1584615697211

5、配置adb系统环境变量,配置方法参考python环境变量配置。

# 4 刷机步骤

1 解压缩下载的固件包,并在当前目录的地址栏里输入cmd,进入命令行控制台

2 进入控制台后,执行命令python flashimage.py -t

1584616687599

3 长按按键“静音键” ,插入 USB 接口

1584617024600

4 命令行提示符窗口中,有进度展示,表示正在刷机。

1584617150530

​ 刷机完成:

5 固件烧录完成后开发者即可编译部署运行自己的工程,请参考上文 二次开发 章节

# Ubuntu 平台

# 准备

# 环境配置

# 1 安装Python

打开Terminal,安装python2.7

sudo apt-get install python

在Terminal下输入python2 能够进入交互模式,则标识安装成功

$ python2
Python 2.7.17 (default, Nov  7 2019, 10:07:09)
[GCC 7.4.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

至此,完成python环境变量配置。

# 2 adb安装和配置

adb是一个命令行调试软件,可以用电脑操控硬件设备,比如把文件拷贝到设备里面。如果是已经安装了android开发环境或者已经配置过adb,此过程请忽略。

1 安装adb工具

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install android-tools-adb

2、进入控制台,输入 adb version,标识安装成功

$ adb version
Android Debug Bridge version 1.0.39
Version 1:8.1.0+r23-5~18.04
Installed as /usr/lib/android-sdk/platform-tools/adb

3、用Type-c线连接电脑和MT8516开发板,输入如下命令$ lsusb

98df9b0ad60addbc50ea73c122300 可见已发现usb设备

3、输入如下命令adb devices,可见已发现adb设备 260a21f6fd9dfe215cb48dec898d6f6

# 3 刷机步骤

1 解压缩下载的固件包

$ unzip Firmware_mt8516-pub-new_1.0.1.038_PUBLIC_20200313_20_15_02.zip -d Firmware_mt8516-pub-new_1.0.1.038_PUBLIC_20200313_20_15_02

2 进入解压后的目录,执行命令python2 flashimage.py -t

2020032601

3 长按按键“静音键” ,插入 USB 接口 4 命令行提示符窗口中,有进度展示,表示正在刷机。

2020032602

刷机完成:

2020032603

5 固件烧录完成后开发者即可编译部署运行自己的工程,请参考上文 二次开发 章节

# 如何获取更多帮助?

开发过程中遇到接入问题,可以通过 iFLYOS官网(www.iflyos.cn)的工单系统或论坛咨询,我们会在12小时内响应回复,也可以通过邮件联系我们:aiui_support@iflytek.com.