AIUIAgent参数和消息

AIUI参数字段说明

参数类型 说明 参数名称 说明
global 全局参数设置 scene 用户定制的场景参数,不同的场景可对应不同的云端处理流程。
clean_dialog_history 清除语义对话历史方式,取值:auto(默认),user(用户自己控制)。设置为auto时,在首次唤醒时消除对话历史,设置为user则需要用户发送CMD_CLEAN_DIALOG_HISTORY命令清除历史。
interact 人机交互参数 interact_timeout 交互超时(单位:ms),即唤醒之后,如果在这段时间内无有效交互(无有效语义结果返回),则重新进入待唤醒状态,取值:[10000,180000),默认为1min。
result_timeout 结果超时(单位:ms),即检测到语音后端点后一段时间内无结果返回则抛出超时错误,默认值:5000。
vad 音频端点检测参数 engine_type vad引擎类型,取值:meta(模型vad),fixfront(能量vad),默认值:meta。
res_type 资源类型,取值:assets资源(apk工程的assets文件),res资源(apk工程的res文件),path资源(sdcard文件)。使用模型vad时必须设置。
res_path 资源文件路径,使用模型vad时必须设置。
iat 语音识别参数 sample_rate 音频采样率(单位:Hz),取值:8000,16000,默认值:16000。
speech 语音业务相关参数 data_source 数据源,取值:user(由用户从外部写入),sdk(SDK内部录音机采集)。
interact_mode 交互模式,取值:oneshot(唤醒后一次交互后即休眠),continuous(默认,唤醒后可以持续交互)。

对于有默认值的参数,若参数中不存在对应的key-value设置,即表示取默认值。若某类型参数全部使用默认值,可以将该类型从配置文件中删除。

{
    /* login相关参数 */
    "login":{
        "appid":"XXXXXXXX"
    },

    /* 交互参数 */
    "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"
    }
}

AIUIMessage类型说明

msgType(消息类型) 取值 说明 返回
CMD_GET_STATE 1 获取服务状态。
CMD_WRITE 2 向AIUI服务写入数据。需要在params中指定数据类型、调用的业务等,例如:”data_type=audio,sample_rate=16000”,data为待写入的二进制数据(如音频、图像、文本等)。
CMD_STOP_WRITE 3 停止写入数据。需要在params中指定要停止写入的数据类型,如“data_type=audio,sample_rate=16000”即停止写入音频。
CMD_RESET 4 重置AIUI服务的状态。服务会立即停止并重新启动,进入到待唤醒状态。
CMD_START 5 启动AIUI服务。当AIUI服务停止后,使用此命令启动服务。
CMD_STOP 6 停止AIUI服务。服务停止之后,将不响应外部输入。
CMD_WAKEUP 7 唤醒消息。用于手动唤醒AIUI服务,arg1为唤醒后拾音的波束号,默认为0。关于波束的定义参见《麦克风设计参考V0.7》。
CMD_RESET_WAKEUP 8 重置唤醒状态。AIUI服务重置为待唤醒状态。若当前为唤醒状态,发送该消息重置后会抛出EVENT_SLEEP事件。
CMD_SET_BEAM 9 设置麦克风阵列的拾音波束。用arg1携带拾音波束号。
CMD_SET_PARAMS 10 设置参数配置。用params携带参数设置JSON字符串,具体格式参照aiui.cfg文件。暂时只可以用来修改scene参数,实时生效。示例:{“global”:{“scene”:”nlp31”} } 该示例将scene修改为nlp31。修改其他参数方法也是如此,即发送一条params字段为JSON字符串(指明待修改的参数类型、名称和取值,格式参照aiui.cfg)的CMD_SET_PARAMS消息。
CMD_UPLOAD_LEXICON 11 上传用户词表。将用户词表按格式组成JSON字符串,放在params字段传入SDK,具体格式:{“name”:”userword”, // 词表名称“content”:”XXXX” // 词表内容},其中XXXX也为一个JSON字符串,示例:{"userword":[{"name":"我的常用词","words":["佳晨实业","蜀南庭苑","高兰路","复联二"]},{"name":"我的好友","words":["李馨琪","鹿晓雷","张集栋","周家莉","叶震珂","熊泽萌"]}]}
CMD_SEND_LOG 12 发送应用日志到云端,可以帮助分析应用问题。需要将JSON格式的字符串放在params字段中携带。
CMD_SYNC 13 同步操作。arg1字段为待同步的数据类型,取值:SYNC_DATA_STATUS(状态同步,params字段为状态JSON字符串),SYNC_DATA_INDIVIDUAL(个性化数据同步,如联系人),SYNC_DATA_ACCOUNT(第三方账号关系同步),SYNC_DATA_ATHENA_INDIVIDUAL(雅典娜个性化数据同步)。
CMD_START_SAVE 14 开始保存数据。params字段为待保存的数据属性,如“data_type=raw_audio”则保存阵列原始音频。
CMD_BUILD_GRAMMAR 16 构建本地语法。用params字段携带bnf语法内容,bnf语法规则请参见《BNF语法开发指南》。
CMD_UPDATE_LOCAL_LEXICON 17 更新本地词表。当构建好本地语法之后,可以动态更新某个槽(声明为slot,实质上为词表)的内容,以动态变更支持的说法。将需要更新的槽名称和内容组成JSON字符串,用params字段携带。示例:{“name”:””, “content”:”张三\n李四\n” }注:只有在刚刚成功构建语法(即发送了CMD_BUILD_GRAMMAR消息并返回成功事件)之后才能更新本地词表。

注:“有返回”的含义是在向AIUI发送一条CMD消息后,AIUI会抛出一个对应的EVENT事件返回CMD消息的处理结果。

AIUIEvent 类型说明

eventType(事件类型) 取值 说明
EVENT_RESULT 1 结果事件。data字段携带结果数据,info字段为描述数据的JSON字符串。
EVENT_ERROR 2 出错事件。arg1字段为错误码,info字段为错误描述信息。
EVENT_STATE 3 服务状态事件。当向AIUI发送CMD_GET_STATE命令时抛出该事件,arg1字段取值为STATE_IDLE(空闲状态)、STATE_READY(就绪状态,待唤醒)、STATE_WORKING(工作状态,已唤醒)状态之一。
EVENT_WAKEUP 4 唤醒事件。info字段为唤醒结果JSON字符串。
EVENT_SLEEP 5 休眠事件。当出现交互超时,服务会进入休眠状态(待唤醒),或者发送了CMD_RESET_WAKEUP时,抛出该事件。arg1字段取值:TYPE_AUTO(自动休眠,即交互超时)、TYPE_COMPEL(外部强制休眠,即发送CMD_RESET_WAKEUP)。
EVENT_VAD 6 VAD事件。当检测到输入音频的前端点后,会抛出该事件,用arg1标识前后端点或者音量信息:0(前端点)、1(音量)、2(后端点)。当arg1取值为1时,arg2为音量大小。
EVENT_CMD_RETURN 8 某条CMD命令对应的返回事件。对于除CMD_GET_STATE外的有返回的命令,都会返回该事件,用arg1标识对应的CMD命令,arg2为返回值,0表示成功,info字段为描述信息。
Copyright © iflytek.com 2018 all right reserved,powered by Gitbook该文件修订时间: 2018-11-03 10:26:45

results matching ""

    No results matching ""