AIUI文档中心
AIUI文档导览
1. AIUI平台服务
1.1 AIUI平台介绍
1.2 AIUI应用介绍
1.3 AIUI服务链路介绍
1.4 AIUI平台能力概述
1.5 快速体验
2. AIUI应用配置
2.1 应用发布
2.2 语义精简协议介绍
2.3 基础配置
2.4 语义模型配置
2.5 回复角色配置
2.6 语音识别配置
2.7 结构化语义配置
2.8 星火大模型配置
2.9 语音合成配置
2.10 应用后处理配置
2.11 三方大模型配置
3. AIUI SDK开发
3.1 AIUI SDK接入流程
3.2 AIUI SDK基础信息
3.2.1 SDK接口说明
3.2.2 参数配置说明
3.2.3 消息事件说明
3.2.4 SDK状态说明
3.2.5 数据发送方式
3.2.6 回调解析说明
3.2.7 交互结果协议说明
3.3 AIUI SDK基础能力
3.3.1 流式识别
3.3.2 离线识别
3.3.3 语音唤醒
3.3.4 语音合成
3.3.5 用户个性化
3.3.6 自定义参数
3.4 传统语义链路接入
3.4.1 链路配置说明
3.4.2 个性化数据使用
3.5 通用大模型链路接入
3.5.1 链路配置说明
3.5.2 个性化数据使用
3.5.3 超拟人合成
3.5.4 声音复刻
3.6 极速超拟人链路接入
3.6.1 链路配置说明
3.6.2 个性化数据使用
3.6.3 流式合成
3.6.4 声音复刻
3.6.5 RTOS系统SDK接入
3.7 错误码列表
3.8 发音人列表
4. AIUI API开发
4.1 传统语义链路
4.1.1 交互API
4.1.2 用户个性化API
4.1.3 合成能力使用
4.2 通用大模型链路
4.2.1. 服务鉴权
4.2.2 交互API
4.2.3 用户个性化API
4.2.4 声音复刻API
4.2.5 合成能力使用
4.3 极速超拟人链路
4.3.1 服务鉴权
4.3.2 交互API
4.3.3 用户个性化API
4.3.4 声音复刻API
4.3.5 合成能力使用
5. 自定义业务
技能工作室概述
名词解析
技能
意图和语料
实体
动态实体
模糊匹配
填槽对话
技能设计规范
语音技能设计规范
开放技能接入审核规范
开放技能图标图片规范
技能开发
创建技能和意图
意图配置
技能测试
技能发布
技能后处理
技能导入导出
云函数APIv2.1
云函数APIv2.0
智能体开发
智能体对接
问答库开发
语句问答
关键词问答
文档问答
设备人设开发
技能协议
语义协议:重要字段和通用字段
技能后处理协议:标准请求
技能后处理协议:请求校验
技能后处理协议:Request_v2.1协议
技能后处理协议:Response_v2.1协议
技能资源限制
6. 硬件模组
RK3328 降噪板
RK3328降噪板白皮书
RK3328降噪板使用手册
RK3328降噪板规格书
RK3328降噪板协议手册
RK3328 AIUI评估板开发套件
RK3328评估板白皮书
RK3328评估板使用手册
RK3328评估板规格书
RK3328评估板开发手册
RK3588 AIUI多模态开发套件
RK3588一体机多模态产品规格书
RK3588多模态套件使用手册
视频传输协议
识别语义传输协议
音频传输协议
ZG803 离线语音识别套件
ZG803 产品白皮书
USB声卡套件
USB声卡产品白皮书
USB声卡使用指南
AC7911 AIUI语音开发套件
AC7911-产品白皮书
AC7911-快速体验指南
AC7911-开发指南
AC7911-协议手册
AC7911-硬件参数
AIUI评估板接入
集成方式
软件包说明
AIUIServiceKitSDK
串口SDK
评估板参数配置
调试升级
7. 常见问题处理
7.1 AIUI常见问题
7.2 评估板常见问题
7.3 动态实体常见问题
8. 联系方式
9. 服务条款
AIUI开放平台服务协议
AIUI开放平台隐私政策
小飞在家用户协议
小飞在家隐私政策
小飞在家开源软件使用许可
讯飞账号隐私政策
讯飞账号用户协议
讯飞带屏音箱用户协议
讯飞带屏音箱隐私政策
AIUI SDK隐私政策
AIUI SDK合规使用说明
本文档使用 MrDoc 发布
-
+
首页
评估板参数配置
AIUIService在启动时会读取参数配置,根据配置初始化各个内部模块。 ## 配置读取 ## AIUIService通过`android:authorities="com.iflytek.aiui.cfg.provider"`的ContentProvider读取配置,配置文件的格式和字段说明在[配置文件](https://aiui-doc.xf-yun.com/project-1/doc-13/#配置文件)有详细的说明。 ControlService中实现的提供AIUI配置的ContentProvider简略代码如下: ~~~ java public class AIUIConfigProvider extends ContentProvider { private static final String TAG = "AIUIConfigProvider"; @Override public Bundle call(String method, String arg, Bundle extras) { if ("readAIUICfg".equals(method)) { // /sdcard/AIUI/cfg/aiui.cfg配置文件由ControlService管理的,ControlService被卸载后,该配置文件就没用了 String config = ConfigUtil.readSdcardCfg(ServiceConstant.SDCARD_AIUI_CFG_PATH); Bundle bundle = new Bundle(); bundle.putString("config", config); return bundle; } return super.call(method, arg, extras); } } ~~~ Manifest中注册信息如下source: ~~~ xml <!-- AIUI配置provider --> <provider android:name="com.iflytek.aiui.devboard.controlservice.provider.AIUIConfigProvider" android:authorities="com.iflytek.aiui.cfg.provider" android:exported="true" android:multiprocess="false"> </provider> ~~~ 如上的配置可以参考开发包中AIUIDemo中`AIUIConfigProvider.java`的实现。 评估板控制端ControlClient配置的appid和key就是通过tcp发送给ControlService,ControlService再通过如上的ContentProvider提供给AIUIService。 <div style="display: flex; align-items: flex-start; background-color: #fff3cd; border-left: 6px solid #ffc107; border-radius: 4px; padding: 12px 16px; gap: 8px;"> <div style="width: 30px; height: 30px; flex-shrink: 0; margin-top: 3px;"> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <path d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"/> </svg> </div> <div style="flex: 1; line-height: 1.6;"> <h3 style="margin: 0 0 6px 0; font-weight: 600;">注意事项:</h3> <p style="margin: 0 0 8px 0; font-size: 0.95rem;">谁定义了配置的ContentProvider,就读取谁的配置。</p> <p style="margin: 0 0 8px 0; font-size: 0.95rem;">ControlService和AIUIDemo都定义了相同的ContentProvider,这是不能同时安装的原因。</p> <p style="margin: 0 0 4px 0; font-size: 0.95rem;"><strong>ControlService:</strong></p> <p style="margin: 0 0 8px 0; font-size: 0.95rem; padding-left: 16px;">配置文件位于/sdcard/AIUI/cfg/aiui.cfg</p> <p style="margin: 0 0 4px 0; font-size: 0.95rem;"><strong>AIUIDemo:</strong></p> <p style="margin: 0 0 8px 0; font-size: 0.95rem; padding-left: 16px;">配置文件位于工程assets/cfg/aiui.cfg下</p> <p style="margin: 0; font-size: 0.95rem;">/sdcard/AIUI/cfg/aiui.cfg配置文件由ControlService管理,如果ControlServie被卸载后,这个配置文件就没用了。</p> </div> </div> ## 配置文件 ## 除了使用上节中提到的AIUIMessage和AIUIEvent来控制使用AIUI的功能外,还可以通过修改配置文件中的不同字段来控制AIUI的运作。 ### 配置文件示例 ### AIUI的配置内容格式是json,配置了AIUI运行时各方面的参数: ~~~ json /* AIUI参数设置 */ { /* 语音云平台登录参数 */ "login":{ "appid":"xxxxxxxx", "key":"xxxxxxxx" }, /* 场景设置 */ "global":{ "scene":"main", "clean_dialog_history":"auto" }, /* 交互参数 */ "interact":{ "interact_timeout":"60000", "result_timeout":"5000" }, // 离线语法识别参数 "asr":{ "threshold":"50", "res_type":"assets", "res_path":"asr/common.jet" }, // 语音合成参数 "tts":{ "res_type":"assets", "res_path":"tts/common.jet;tts/mengmeng.jet", "voice_name":"mengmeng" }, // 唤醒参数 "ivw":{ "res_type":"assets", "res_path":"ivw/ivw_resource.jet" }, // 语音业务流程 "speech":{ "intent_engine_type":"mixed", "interact_mode":"continuous", //rec_only(仅使用当麦克风阵列录音)、intent(对音频进行处理,返回意图分析结果) "work_mode":"intent" }, /* 硬件参数设置 */ // alsa录音参数 "alsa":{ "sound_card":"2", "card_sample_rate":"96000" }, /* 音频参数(非必须)*/ "audioparams":{ "msc.lng": "", //经度 "msc.lat": "" //纬度 }, /* 用户参数,用于后处理(非必须)*/ "userparams":{ "xxxx": "xxx" //自定义字段 }, /* 日志设置 */ "log":{ "debug_log":"1", "save_datalog":"1", "datalog_path":"", "datalog_size":1024 } } ~~~ #### 配置字段说明 #### 公共参数说明:https://aiui-doc.xf-yun.com/project-1/doc-13/ 录音参数如下: <table border="1" class="docutils"> <colgroup> <col width="8%" /> <col width="18%" /> <col width="18%" /> <col width="56%" /> </colgroup> <tbody valign="top"> <tr class="row-odd"><td colspan="2">参数类型</td> <td colspan="2">参数名称</td> </tr> <tr class="row-odd"><td rowspan="2">alsa</td> <td rowspan="2">alsa录音参数</td> <td>sound_card</td> <td><div class="first last line-block"> <div class="line"><strong>声卡设备号</strong></div> <div class="line"><br /></div> <div class="line">请根据实际情况设置,在使用麦克风阵列时必须</div> <div class="line">设置正确的设备号。</div> </div> </td> </tr> <tr class="row-even"><td>card_sample_rate</td> <td><div class="first last line-block"> <div class="line"><strong>声卡采样率</strong></div> <div class="line"><br /></div> <div class="line">请根据实际情况设置,在使用麦克风阵列时必须</div> <div class="line">设置正确的采样率。</div> </div> </td> </tr> </tbody> </table> ## 唤醒/合成配置 ## AIUI允许开发者通过修改本地配置文件或者云端语义技能的配置,改变AIUI默认反馈。 ### 唤醒词配置 ### 评估板默认唤醒词为*叮咚叮咚*,如想体验其他唤醒词效果,可以根据以下步骤进行更新: ①获取新资源。登录[AIUI应用管理](https://www.xfyun.cn/aiui/manage),选择您的评估板应用,进入语音资源界面,制作并下载唤醒词资源。 ②拷贝资源。将下载的资源拷贝到评估板,路径可自定义。 ~~~ adb push xxxxxx.jet /sdcard/AIUI/ivw/xxxxxxxx.jet ~~~ ③更新配置。AIUI首次启动后会自动在`/sdcard/AIUI/cfg/aiui.cfg`生成aiui.cfg文件, 使用adb命令将文件导出。 ~~~ adb pull /sdcard/AIUI/cfg/aiui.cfg aiui.cfg ~~~ 修改配置文件中资源路径,确保和拷贝的资源路径一致,示例如下: ~~~ json // 注:资源在sdcard中,res_type一定要写path; // push资源前先确保目录已经创建; // 阵列参数---唤醒词资源 "ivw":{ "res_type":"path", "res_path":"/sdcard/AIUI/ivw/xxxxxxxx.jet" } ~~~ <div style="display: flex; align-items: center; background-color: #fff3cd; border-left: 6px solid #ffc107; border-radius: 4px; padding: 12px 16px; gap: 8px;"> <div style="width: 30px; height: 30px; flex-shrink: 0;"> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <path d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"/> </svg> </div> <div style="flex: 1; line-height: 1.6;"> <h3 style="margin: 0 0 6px 0; font-weight: 600;">注意:</h3> <p style="margin: 0; font-size: 0.95rem; font-weight: bold;">资源在sdcard中,res_type一定要写path;</p> </div> </div> 修改完成后使用adb导入配置文件: ~~~ adb push aiui.cfg /sdcard/AIUI/cfg/aiui.cfg ~~~ ④重启。使用adb命令重启系统:`adb shell reboot`,或者在手机端点击“同步配置”都可以让配置加载生效。 <div style="display: flex; align-items: center; background-color: #fff3cd; border-left: 6px solid #ffc107; border-radius: 4px; padding: 12px 16px; gap: 8px;"> <div style="width: 30px; height: 30px; flex-shrink: 0;"> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <path d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"/> </svg> </div> <div style="flex: 1; line-height: 1.6;"> <h3 style="margin: 0 0 6px 0; font-weight: 600;">注意:</h3> <p style="margin: 0; font-size: 0.95rem; font-weight: bold;">如需恢复默认配置,通过手机端ControlClient清空配置即可</p> </div> </div> ### 发音人配置 ### 评估板默认合成的发音人为*萌萌(mengmeng)*,如想体验其他发音人效果,可以根据以下步骤进行更新 ①获取新资源。登录[AIUI应用管理](https://www.xfyun.cn/aiui/manage),进入语音资源界面,下载您需要的发音人资源。 ②拷贝资源。将下载的资源拷贝到评估板,路径可自定义。 ~~~ adb push common.jet /sdcard/AIUI/tts/common.jet adb push xxxxxxxx.jet /sdcard/AIUI/tts/xxxxxxxx.jet ~~~ ③更新配置。AIUI首次启动后会自动在`/sdcard/AIUI/cfg/aiui.cfg`生成aiui.cfg文件, 使用adb命令将文件导出。 ~~~ adb pull /sdcard/AIUI/cfg/aiui.cfg aiui.cfg ~~~ 修改配置文件中资源路径,确保和拷贝的资源路径一致,示例如下: ~~~ json // 注:资源在sdcard中,res_type一定要写path; // 多个资源间用“;”分割;(合成需要同时替换common.jet 和 发音人.jet) // push资源前先确保目录已经创建; //阵列参数---唤醒词资源 // 合成参数 "tts":{ "engine_type":"local", "res_type":"path", "res_path":"/sdcard/AIUI/tts/common.jet;/sdcard/AIUI/tts/xiaoyan.jet", "voice_name":"xiaoyan" } ~~~ <div style="display: flex; align-items: center; background-color: #fff3cd; border-left: 6px solid #ffc107; border-radius: 4px; padding: 12px 16px; gap: 8px;"> <div style="width: 30px; height: 30px; flex-shrink: 0;"> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <path d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"/> </svg> </div> <div style="flex: 1; line-height: 1.6;"> <h3 style="margin: 0 0 6px 0; font-weight: 600;">注意:</h3> <p style="margin: 0; font-size: 0.95rem; font-weight: bold;">资源在sdcard中,res_type一定要写path;</p> </div> </div> 修改完成后使用adb导入配置文件: ~~~ adb push aiui.cfg /sdcard/AIUI/cfg/aiui.cfg ~~~ 第四步:重启。使用adb命令重启系统:`adb shell reboot`,或者在手机端点击“同步配置”都可以让配置加载生效。 <div style="display: flex; align-items: center; background-color: #fff3cd; border-left: 6px solid #ffc107; border-radius: 4px; padding: 12px 16px; gap: 8px;"> <div style="width: 30px; height: 30px; flex-shrink: 0;"> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <path d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"/> </svg> </div> <div style="flex: 1; line-height: 1.6;"> <h3 style="margin: 0 0 6px 0; font-weight: 600;">注意:</h3> <p style="margin: 0; font-size: 0.95rem; font-weight: bold;">如需恢复默认配置,通过手机端ControlClient清空配置即可</p> </div> </div> **AIUI支持在线发音人,在线发音人下不需要指定资源路径,按如下配置即可:** ~~~ json "tts":{ "engine_type":"cloud", "voice_name":"xiaoyan" } ~~~ #### 语速、音量及语调调节示例 #### ~~~ json "tts":{ "res_type":"assets", "res_path":"tts/common.jet;tts/mengmeng.jet", "voice_name":"mengmeng" "speed": 50 //语速,不设置情况默认50 范围 0~100 "volume": 50 //音量,不设置情况默认50 范围 0~100 "pitch": 50 //语调,不设置情况默认50 范围 0~100 } ~~~ ### 常见问题 ### **Q: 唤醒词替换后,无法唤醒** **A:** 查看手机端的错误码信息并且AIUI模块开机后立即开始保存logcat日志3分钟,发送给技术支持分析。 **Q: 发音人替换后其他声音改变,但是唤醒后还是萌萌的声音** **A:** 目前处理唤醒为了更好的体验效果,AIUIProductDemo播放的是录制好的音频,而不是合成的声音。所以换了合成资源,只会影响后面交互的合成播放。如需修改,可以通过修改开发包中开放的AIUIProductDemo中对应位置源码实现。 **Q: 替换配置文件后,开机后提示APPID未配置** **A:** 如果SD卡下的aiui.cfg配置文件不是**UTF-8无BOM的JSON**格式,配置文件会被自动清空,导致开机后出现该提示。 **Q: 替换发音人,闲聊技能下某些回答不能播报,音乐天气等技能正常** **A:** AIUI在闲聊的回答中带有情感标签,目前仅有萌萌的发音人支持[情感合成](https://aiui-doc.xf-yun.com/project-1/doc-23/#情感合成),所以替换不支持情感合成的发音人后,会导致不能播报的情况。 ## 动态配置 ## AIUI支持运行过程中动态修改配置参数,并且实时生效。 ### 切换场景 ### 配置文件中的情景模式和后台应用定义的情景模式对应,在后台可以为不同情景模式配置不同语义技能、问答库,通过本地的配置文件或者动态设置使用的情景模式。 动态切换场景代码示例如下: ~~~ java String setParams = "{\"global\":{\"scene\":\"main\"}}" AIUIMessage setMsg = new AIUIMessage(CMD_SET_PARAMS, 0 , 0, setParams, null); mAgent.sendMessage(setMsg); ~~~ ### 切换唤醒词 ### 通过构造`CMD_SET_PARAMS`消息,params字段包含新唤醒词设置的json即可动态切换唤醒词,实时生效。代码示例如下: ~~~ java String ivwParams = "{\"ivw\":{\"res_type\":\"path\",\"res_path\":\"/sdcard/AIUI/ivw/ivw_resource.jet\"}}" AIUIMessage setMsg = new AIUIMessage(CMD_SET_PARAMS, 0 , 0, ivwParams, null); mAgent.sendMessage(setMsg); ~~~ <IflyHeader />
admin
2025年9月15日 15:16
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码