[TOC]
语音是小鹏汽车的主要交互方式,而语音交互高度依赖网络,导致用户存在以下痛点:
- **无网不可用:**在地库、高速等无网、弱网环境下,语音成功率很低,甚至基础操作也不能响应。(如:地库无网时无法语音开后备箱)
- **弱网响应慢:**语音交互速度受网速影响较大,网络不佳时用户等待时长可达2-3s,体验较差。
- **隐私担忧:**用户对语音上传云端的隐私顾虑,成为语音交互功能推广普及的阻力;另外免唤醒功能也需要完全在本地运行,以保护用户隐私
**本地语音优势:**无需连网即可运行,在处理简单明确且不依赖服务资源的指令时,比在线方案更稳定、更快、更隐私。
在build.gradle dependencies中添加
//目前最新版本未0.0.21
api ('com.xiaopeng.lib:lib_dialog_engine:0.0.21-SNAPSHOT'){
exclude group: 'org.apache.commons'
}
将配置传入本地对话引擎构造函数,并调用初始化方法,完成本地对话疫情的启动
//“D55”是车型编号,对应com.xiaopeng.carspeech.carapi.common.CarApi中定义的车型
//“280”为carspeechservice对应的dui版本号
//最后一个参数为模型配置文件路径
ConfigParams configParams = new ConfigParams(getApplication(),"D55","280",false,"/sdcard/aispeech/assets/");
LocalDialogEngine.getInstance().init(configParams, mListener);
ILocalDialogEngineListener mListener = new ILocalDialogEngineListener() {
@Override
public void onResult(LocalDialogResult result) {
//本地对话解析结果
}
@Override
public void onNativeReq(String event, String type) {
//返回本地查询相关的事件以及类型
}
@Override
public void onError(int code) {
//暂时没用
}
@Override
public void onInitialized(int code) {
//初始化结果,错误码参考文档最后的错误码表
}
};
//query:语音识别结果或者其他指令文本
//soundLocation:说话人所处的音区,具体值对应com.xiaopeng.speech.common.SpeechConstant里面的常量 ALL_LOCATION = 0;DRIVE_LOCATION = 1; PASSENGER_LOCATION = 2; REAR_LEFT = 3; REAR_RIGHT = 4; REAR_MIDDLE = 5;
//asrParam:asr识别相关的属性,可以为null confidence置信度、asrResource asr类型,
LocalDialogEngine.getInstance().feedAsrResult(query, 1,null,"test_id");
//暂未实现
LocalDialogEngine.getInstance().feedEvent(String event)
//暂未实现
LocalDialogEngine.getInstance().syncDialogStatus(int status)
- 车控
- 导航
- 全局
错误码 | 错误类型/阶段 | 领域/模块 | 错误含义 |
---|---|---|---|
-100000 | 初始化 | 未指定 | 未说明 |
-100001 | 初始化 | 未指定 | NLU worker管理初始化失败 |
-100002 | 初始化 | 未指定 | 模型管理初始化失败 |
-100003 | 初始化 | 未指定 | 模型加载错误 |
-100004 | 初始化 | 未指定 | 模型配置文件加载失败 |
-100005 | 初始化 | 未指定 | 模型数据文件加载失败 |
-100006 | 初始化 | 未指定 | 分词器初始化失败 |
-103001 | 初始化 | CAR | 模板NLU错误 |
-103002 | 初始化 | CAR | 知识决策,同义词不存在 |
-103003 | 初始化 | CAR | 关键词填槽文件不存在 |
-103004 | 初始化 | CAR | 意图映射文件不存在 |
-103005 | 初始化 | CAR | 意图映射解析异常 |
-103006 | 初始化 | CAR | 车控意图理解初始化失败 |
-104002 | 初始化 | NAVIGATION | 同义词不存在配置文件不存在 |
-104003 | 初始化 | NAVIGATION | 关键词填槽文件不存在 |
-105001 | 初始化 | DIALOGUE | 系统信息文件解析异常 |
-105002 | 初始化 | DIALOGUE | 对话worker初始化失败 |
-300000 | 运行时 | 未指定 | 未说明 |
-500000 | 资源销毁 | 未指定 | 未说明 |
-x99xxx | 预留(10年):比如模块或者垂域超过100个,需要突破当前错误码的时候,其他模块合并到此做缓冲,直到淘汰当前错误码规则 |