public class HciCloudAsr
extends java.lang.Object
灵云ASR能力API
| 构造器和说明 |
|---|
HciCloudAsr() |
| 限定符和类型 | 方法和说明 |
|---|---|
static int |
hciAsrConfirm(Session session,
java.lang.String confirmResult)
提交确认结果函数
|
static int |
hciAsrInit(java.lang.String initParam)
灵云ASR能力 初始化
|
static int |
hciAsrLoadGrammar(java.lang.String config,
java.lang.String grammarData,
AsrGrammarId grammarId)
本地语法识别加载语法
|
static int |
hciAsrRecog(Session session,
byte[] recogVoiceData,
java.lang.String recogConfig,
java.lang.String grammarData,
AsrRecogResult outRecogResult)
语音识别
|
static int |
hciAsrRelease()
灵云ASR能力 反初始化
|
static int |
hciAsrSaveCompiledGrammar(AsrGrammarId grammarId,
java.lang.String fileName)
保存编译后的语法文件至WFST格式。
|
static int |
hciAsrSessionStart(java.lang.String sessionConfig,
Session outSession)
开始会话
|
static int |
hciAsrSessionStop(Session session)
结束会话
|
static int |
hciAsrUnloadGrammar(AsrGrammarId grammarId)
本地语法识别卸载语法
|
public static final int hciAsrInit(java.lang.String initParam)
灵云ASR能力 初始化
initParam - ASR初始化配置串,可以通过AsrInitParam类辅助生成| HCI_ERR_NONE | 操作成功 |
| HCI_ERR_SYS_NOT_INIT | HCI SYS 尚未初始化 |
| HCI_ERR_ASR_ALREADY_INIT | 已经初始化过了 |
| HCI_ERR_CONFIG_INVALID | 配置参数有误,如设定值非法、或格式错误等 |
| HCI_ERR_CONFIG_DATAPATH_MISSING | 缺少必需的dataPath配置项 |
| HCI_ERR_CONFIG_CAPKEY_NOT_MATCH | CAPKEY与当前引擎不匹配 |
| HCI_ERR_CAPKEY_NOT_FOUND | 没有找到指定的能力 |
| HCI_ERR_LOAD_FUNCTION_FROM_DLL | 加载库函数失败 |
public static final int hciAsrLoadGrammar(java.lang.String config,
java.lang.String grammarData,
AsrGrammarId grammarId)
本地语法识别加载语法
config - 语法配置串,可以通过AsrConfig类辅助生成 设置(AsrConfig.SessionConfig.PARAM_KEY_CAP_KEY ,AsrConfig.GrammarConfig)grammarData - 识别语法数据或文件,该数据必须以‘\0’结尾, 如果是语法数据,必须编码格式为UTF-8, 不可以为NULLgrammarId - 输出的语法id, 可以用于 hciAsrRecog(Session, byte[], String, String, AsrRecogResult) 和 hciAsrUnloadGrammar(AsrGrammarId) 函数| HCI_ERR_NONE | 操作成功 |
| HCI_ERR_ASR_NOT_INIT | HCI ASR尚未初始化 |
| HCI_ERR_PARAM_INVALID | 输入参数不合法 |
| HCI_ERR_ASR_LOAD_GRAMMAR_FAILED | 加载语法文件失败 |
| HCI_ERR_CONFIG_INVALID | 配置项不合法 |
| HCI_ERR_ASR_OPEN_GRAMMAR_FILE | 读取语法文件失败 |
| HCI_ERR_ASR_GRAMMAR_OVERLOAD | 加载语法数量已达上限值256 |
public static final int hciAsrUnloadGrammar(AsrGrammarId grammarId)
本地语法识别卸载语法
grammarId - 需要卸载的语法ID,从 hciAsrLoadGrammar() 获得| HCI_ERR_NONE | 操作成功 |
| HCI_ERR_ASR_NOT_INIT | HCI ASR尚未初始化 |
| HCI_ERR_ASR_GRAMMAR_ID_INVALID | 语法ID无效 |
| HCI_ERR_ASR_GRAMMAR_USING | 该语法正在使用中 |
| HCI_ERR_UNSUPPORT | 只编译云端版本时不支持 |
public static final int hciAsrSaveCompiledGrammar(AsrGrammarId grammarId, java.lang.String fileName)
保存编译后的语法文件至WFST格式。编译后的文件可以通过WFST类型的方式载入,对于大的语法文件可以大大提高语法加载速度。
grammarId - 需要保存的语法ID,从 hciAsrLoadGrammar() 获得fileName - 要保存的语法文件名称,不能为NULL或空串| HCI_ERR_NONE | 操作成功 |
| HCI_ERR_ASR_NOT_INIT | HCI ASR尚未初始化 |
| HCI_ERR_PARAM_INVALID | 输入参数不合法 |
| HCI_ERR_ASR_GRAMMAR_ID_INVALID | 语法ID无效 |
| HCI_ERR_ASR_OPEN_GRAMMAR_FILE | 写入语法文件失败 |
public static final int hciAsrSessionStart(java.lang.String sessionConfig,
Session outSession)
开始会话
sessionConfig - 会话配置串,可以通过AsrConfig类辅助生成outSession - 引擎分配的会话| HCI_ERR_NONE | 操作成功 |
| HCI_ERR_ASR_NOT_INIT | HCI ASR尚未初始化 |
| HCI_ERR_PARAM_INVALID | 输入参数不合法 |
| HCI_ERR_CONFIG_INVALID | 配置项不合法 |
| HCI_ERR_ASR_ENGINE_FAILED | 本地引擎识别失败 |
| HCI_ERR_TOO_MANY_SESSION | 创建的Session数量超出限制 |
| HCI_ERR_CONFIG_CAPKEY_MISSING | 缺少必需的capKey配置项 |
| HCI_ERR_URL_MISSING | 找不到对应的网络服务地址(HCI能力服务地址) |
| HCI_ERR_CONFIG_CAPKEY_NOT_MATCH | CAPKEY与当前引擎不匹配 |
| HCI_ERR_CAPKEY_NOT_FOUND | 没有找到指定的能力 |
| HCI_ERR_LOAD_FUNCTION_FROM_DLL | 加载库函数失败 |
| HCI_ERR_CONFIG_UNSUPPORT | 配置项不支持,云端暂不支持grammar的实时识别 |
| HCI_ERR_CONFIG_DATAPATH_MISSING | 缺少必需的dataPath配置项 |
public static final int hciAsrRecog(Session session, byte[] recogVoiceData, java.lang.String recogConfig, java.lang.String grammarData, AsrRecogResult outRecogResult)
语音识别
session - 会话IDrecogVoiceData - 要识别的音频数据,非实时识别中传入音频时长不应超过10s,否则建议使用实时识别recogConfig - 语音识别配置串,可以通过AsrConfig类辅助生成grammarData - 识别语法数据,该数据必须以‘\0’结尾,且编码格式为UTF-8,可以为NULLoutRecogResult - 输出的识别结果对象| HCI_ERR_NONE | 操作成功 |
| HCI_ERR_ASR_NOT_INIT | HCI ASR尚未初始化 |
| HCI_ERR_PARAM_INVALID | 输入参数不合法 |
| HCI_ERR_ASR_GRAMMAR_DATA_TOO_LARGE | 语法数据过大(0,64K] |
| HCI_ERR_DATA_SIZE_TOO_LARGE | Encode转化后的音频数据和语法数据总大小超过限制(0,320K],音频数据不宜过长,建议音频时长在60秒以内 |
| HCI_ERR_SESSION_INVALID | 传入的Session非法 |
| HCI_ERR_URL_MISSING | 找不到对应的网络服务地址(HCI能力服务地址) |
| HCI_ERR_CAPKEY_NOT_FOUND | 没有找到指定的能力 |
| HCI_ERR_SERVICE_CONNECT_FAILED | 连接服务器失败,服务器无响应 |
| HCI_ERR_SERVICE_TIMEOUT | 服务器访问超时 |
| HCI_ERR_SERVICE_DATA_INVALID | 服务器返回的数据格式不正确 |
| HCI_ERR_SERVICE_RESPONSE_FAILED | 服务器返回识别失败 |
| HCI_ERR_CONFIG_INVALID | 配置参数无效 |
| HCI_ERR_CONFIG_UNSUPPORT | 配置项不支持 |
| HCI_ERR_LOAD_CODEC_DLL | 加载音频编解码库失败 |
| HCI_ERR_ASR_OPEN_GRAMMAR_FILE | 读取语法文件失败 |
| HCI_ERR_ASR_GRAMMAR_ID_INVALID | 语法ID无效 |
| HCI_ERR_ASR_LOAD_GRAMMAR_FAILED | 加载语法文件失败 |
| HCI_ERR_ASR_ENGINE_FAILED | 本地引擎识别失败 |
| HCI_ERR_ASR_REALTIME_WAITING | 实时识别时未检测到音频末端,继续等待数据 |
| HCI_ERR_ASR_REALTIME_END | 实时识别时检测到音频末端 |
| HCI_ERR_ASR_REALTIME_NO_VOICE_INPUT | 实时识别时未检测语音 |
| HCI_ERR_ASR_VOICE_DATA_TOO_LARGE | 音频片段太长,应在(0,32K) |
public static final int hciAsrConfirm(Session session, java.lang.String confirmResult)
提交确认结果函数
session - 会话IDconfirmResult - 要提交的确认结果| HCI_ERR_NONE | 操作成功 |
| HCI_ERR_ASR_NOT_INIT | HCI ASR尚未初始化 |
| HCI_ERR_PARAM_INVALID | 输入参数不合法 |
| HCI_ERR_SESSION_INVALID | 传入的Session非法 |
| HCI_ERR_ASR_CONFIRM_NO_TASK | 没有可用来提交的任务,例如尚未识别,就调用本函数 |
| HCI_ERR_DATA_SIZE_TOO_LARGE | 确认数据超过范围(0,2K] |
| HCI_ERR_SERVICE_CONNECT_FAILED | 连接服务器失败,服务器无响应 |
| HCI_ERR_SERVICE_TIMEOUT | 服务器访问超时 |
| HCI_ERR_SERVICE_DATA_INVALID | 服务器返回的数据格式不正确 |
| HCI_ERR_SERVICE_RESPONSE_FAILED | 服务器返回识别失败 |
| HCI_ERR_UNSUPPORT | 本地识别不支持确认结果 |
public static final int hciAsrSessionStop(Session session)
结束会话
session - 会话| HCI_ERR_NONE | 操作成功 |
| HCI_ERR_ASR_NOT_INIT | HCI ASR尚未初始化 |
| HCI_ERR_SESSION_INVALID | 传入的Session非法 |
public static final int hciAsrRelease()
灵云ASR能力 反初始化
| HCI_ERR_NONE | 操作成功 |
| HCI_ERR_ASR_NOT_INIT | HCI ASR尚未初始化 |
| HCI_ERR_ACTIVE_SESSION_EXIST | 尚有未stop的Sesssion,无法结束 |