在集成指南一节里,导入SDK时导入的cfg文件就是本节介绍的配置文件。AIUI初始化时会读取这些参数配置,根据配置初始化各个内部模块。
# 配置文件
# 配置文件示例
AIUI的配置内容格式是json,配置了AIUI运行时各方面的参数:
/* AIUI Mobile版本参数配置 */
{
/* 交互参数 */
"interact":{
"interact_timeout":"60000",
"result_timeout":"5000"
},
/* 全局设置 */
"global":{
"scene":"main",
"clean_dialog_history":"auto"
},
/* 业务相关参数 */
// 本地vad参数
"vad":{
"vad_enable":"1",
"engine_type":"meta",
"res_type":"assets",
"res_path":"vad/meta_vad_16k.jet"
},
// 识别(音频输入)参数
"iat":{
"sample_rate":"16000"
},
/* 业务流程相关参数 */
// 语音业务流程控制
"speech":{
"data_source":"sdk"
},
/* 用户参数,透传到后处理(非必须)*/
"userparams":{
"xxxx": "xxx" //自定义字段
},
"tts": {
"play_mode": "sdk", // 播放模式,取值:sdk(内部播放,默认),user(外部自行播放)
"buffer_time": "0", // 音频缓冲时长,当缓冲音频大于该值时才开始播放,默认值:0ms
"stream_type": "3", // 播放音频流类型,取值参考AudioManager类,默认值:3
"audio_focus": "0" // 播放音频时是否抢占焦点,取值:1, 0(默认值)
}
}
# 配置字段说明
用户定制的场景参数,不同的场景可对应不同的云端处理流程。
参数类型 | 参数名称 | ||
login | 语音云登录参数 | appid | 在讯飞开放平台上注册的8位应用唯一标识。 |
global | 全局参数设置 | scene | |
clean_dialog_history | 清除交互历史设置
| ||
interact | 交互参数 | interact_timeout | 交互超时(单位:ms) 即唤醒之后,如果在这段时间内无有效交互则重新进入待唤醒状态,取值:[10000,180000)。 默认为1min。 |
result_timeout | 结果超时(单位:ms) 即检测到语音后端点后一段时间内无结果返回则抛出10120错误码。 默认值:5000。 | ||
speech | 业务相关参数 | data_source | 录音数据来源配置
参见 录音处理 |
interact_mode | 交互模式设置
oneshot举例: 问:叮咚叮咚,给我唱首歌(说完后AIUI即进入休眠状态) 答:请欣赏xxxx。 后续AIUI因已休眠不能继续交互,需重新唤醒才能继续交互。 | ||
vad | 音频端点检测参数 | vad_enable | vad开启 取值: 1(vad开启) 0(vad关闭) 默认值:1。 |
engine_type | vad引擎类型 取值:meta(模型vad) 默认值:meta。 | ||
res_type | 资源类型 使用模型vad时必须设置,取值:
| ||
res_path | 资源文件路径 使用模型vad时必须设置。 | ||
vad_bos | VAD前端超时时间 单位:毫秒 示例 "5000" | ||
vad_eos | VAD后端超时时间 单位:毫秒 示例 "1000" | ||
cloud_vad_eos | 云端VAD后端超时时间 单位:毫秒 示例 "30000" | ||
cloud_vad_gap | 云端VAD分句间隔 上限值:1800 单位:毫秒 示例 "400" | ||
audioparams | 音频透传参数设置 | msc.lng | 经度 示例:117.16334474130745 |
msc.lat | 纬度 示例:31.821021912318592 | ||
log | 日志相关参数 | debug_log | Debug日志开关 取值:1(打开),0(关闭),默认值:0。 日志打开时会向logcat打印调试日志。 |
save_datalog | 是否保存数据日志 取值:1(打开),0(关闭),默认值:0。 打开之后会将所有上传到云端的音频和云端返回的结果保存到本地,保存的路径位于/sdcard/AIUI/data/,每一次唤醒后的交互音频都保存在此目录下wakeXX开始的文件夹下。 | ||
datalog_path | 数据日志的保存路径 当不设置或者为空值时,使用默认值:“/sdcard/AIUI/data/”。 | ||
datalog_size | 数据日志的大小限制(单位:MB) 取值:[-1,+∞) 默认值:-1(表示无大小限制)。 注意:设置成-1可能会造成SD卡被日志写满,从而导致AIUI性能下降,影响体验效果。 |
# 动态配置
配置文件中的情景模式和后台应用定义的情景模式对应,在后台可以为不同情景模式配置不同语义技能、问答库,通过本地的配置文件或者动态设置场景可使用不同情景模式下对应的业务。使用方法如下所示:
Android 示例代码
String setParams = "{\"global\":{\"scene\":\"main\"}}"
AIUIMessage setMsg = new AIUIMessage(CMD_SET_PARAMS, 0 , 0, setParams, "");
mAgent.sendMessage(setMsg);
iOS/Linux/Windows 示例代码
const char* setParams = "{\"global\":{\"scene\":\"main\"}}";
IAIUIMessage* writeMsg=IAIUIMessage::create(AIUIConstant::CMD_SET_PARAMS, 0, 0, setParams, NULL);
m_angent->sendMessage(writeMsg);
writeMsg->destroy();