public class AILocalSemanticEngine
extends java.lang.Object
限定符和类型 | 字段和说明 |
---|---|
static java.lang.String |
TAG |
限定符和类型 | 方法和说明 |
---|---|
void |
cancel()
取消本次识别操作
|
static boolean |
checkLibValid() |
static AILocalSemanticEngine |
createInstance() |
void |
destroy()
销毁本地识别引擎
|
void |
feedData(byte[] data)
已过时。
|
void |
feedData(byte[] data,
int size)
传入数据,在不使用SDK内部录音机时调用
|
java.util.List<java.lang.String> |
getVocab(java.lang.String vocabName)
获取 ldm contents 同步方法 读取联系人需要在线程中调用
|
void |
init(AIASRListener listener)
已过时。
|
void |
init(AILocalSemanticConfig config,
AIASRListener listener)
初始化本地识别引擎
|
void |
notifyWakeup()
告知识别引擎已经唤醒,该接口在oneshot功能中使用,内部会记录唤醒的时间点,
之后在vad end的时候来判断到底用户说的是不是唤醒词+指令,还是只有唤醒词
|
void |
setAsrNetBin(java.lang.String asrNetBin)
设置识别网络资源名, 适用于识别网络资源放在assets目录下
须在init之前设置才生效
|
void |
setAsrNetBinPath(java.lang.String path)
设置识别网络资源自定义路径, 适用于通过语法构建引擎动态生成网络资源或者网络资源放在自定义路径
须在init之前设置才生效
|
void |
setAsrResBin(java.lang.String asrResBin)
设置识别声学资源名
须在init之前设置才生效, 适用于识别声学资源放在assets目录下
|
void |
setAsrResBinPath(java.lang.String path)
设置识别声学资源名
须在init之前设置才生效, 适用于识别声学资源放在自定义目录下
|
void |
setDomain(java.lang.String domain)
设置前一轮对话领域信息,start之前设置生效
|
void |
setExpandFnPath(java.lang.String path)
ExpandFn 文件路径,用于动态拆分net.bin文件
start 之前传入有效
|
void |
setLanguages(Languages languages)
已过时。
已过时 使用 AILocalASRConfig 统一配置
init(AILocalSemanticConfig, AIASRListener) |
void |
setMaxSpeechTimeS(int seconds)
设置音频最大录音时长,达到该值将取消语音引擎并抛出异常
允许的最大录音时长 单位秒 0 表示无最大录音时长限制 默认大小为60S 须在start之前设置才生效 |
void |
setNoSpeechTimeOut(int milliSecond)
设置无语音超时时长,单位毫秒,默认值为5000ms ;如果达到该设置值时,自动停止录音并放弃请求识别内核
须在start之前设置才生效
|
void |
setPauseTime(int pauseTime)
设置VAD右边界
|
void |
setSaveAudioPath(java.lang.String path)
设置保存的音频路径,最终的音频路径为path + local_semantic_+ recordId + ".pcm"
需要在start之前调用
|
void |
setSelectRuleThreshold(double threshold)
设置 grammar 与 ngram 最终输出结果的决策阈值
|
void |
setSemLuaFolder(java.lang.String semLuaFolder)
设置语义lua资源所在文件夹, 适用于语义lua资源所在文件夹放在assets目录下
须在init之前设置才生效
|
void |
setSemLuaFolderPath(java.lang.String semLuaFolderPath)
设置语义lua资源所在文件夹自定义路径, 适用于语义lua资源所在文件夹放在自定义路径
须在init之前设置才生效
|
void |
setSemResFolder(java.lang.String semResFolder)
设置语义资源文件夹,名 适用于语义资源文件夹放在assets目录下
须在init之前设置才生效
|
void |
setSemResFolderPath(java.lang.String semResFolderPath)
设置语义资源文件夹自定义路径, 适用于语义资源文件夹放在自定义路径
须在init之前设置才生效
|
void |
setSkillID(java.lang.String skillID)
设置SKILLID
|
void |
setTask(java.lang.String task)
设置前一轮的对话task信息,start之前设置生效
|
void |
setUseConf(boolean useConf)
设置是否开启置信度
须在start之前设置才生效
|
void |
setUseCustomFeed(boolean useCustomFeed)
设置是否自行feed数据,不使用内部录音机(包括MockRecord和AIAudioRecord),
需要在init之前调用, 默认为false
|
void |
setUseDelimiter(java.lang.String delimiter)
添加识别结果分割符,如设置 "," 识别结果显示 : "打,开,天,窗"
start 之前设置生效
|
void |
setUseFormat(boolean useFormat)
设置是否开启语义格式归一化,默认 false
|
void |
setUseFrameSplit(boolean useFrameSplit)
设置是否开启识别中间结果
|
void |
setUseMaxSpeechResult(boolean useMaxSpeechResult)
设置是否使用录音超时之后的识别结果,默认返
AIError.ERR_MAX_SPEECH
开启后则尝试将录音识别结果返回
须在start之前设置才生效 |
void |
setUsePinyin(boolean usePinyin)
设置是否开启拼音输出
须在start之前设置才生效
|
void |
setUseRefText(boolean useRefText)
设置是否关闭识别并只传入语义文本功能,
|
void |
setUseSelectRule(boolean useSelectRule)
设置是否使用SDK内部的 grammar 与 ngram 决策规则,默认 false
|
void |
setUseXbnfRec(boolean useXbnfRec)
设置是否启用基于语法的语义识别
须在start之前设置才生效
|
void |
setVadEnable(boolean vadEnable)
设置是否启用vad
须在init之前设置才生效
|
void |
setVadRes(java.lang.String vadRes)
设置VAD资源名,适用于VAD资源放置在assets目录
须在init之前设置才生效
|
void |
setVadResPath(java.lang.String path)
设置VAD资源名绝对路径,适用于VAD资源放置在自定义目录下
须在init之前设置才生效
|
void |
start()
已过时。
已过时, 不推荐使用
|
void |
start(AILocalSemanticIntent intent)
识别+语义模式启动引擎
|
void |
startWithRecording()
启动录音,开始语音识别
|
void |
startWithText(java.lang.String refText)
已过时。
|
void |
startWithText(java.lang.String refText,
java.lang.String pinyin)
启动引擎,输入文本和拼音,拼音可从识别结果中获取
|
void |
stopRecording()
停止录音,等待识别结果
|
void |
updateNetBinPath(AIUpdateListener listener,
java.lang.String asrNetBin)
更新 netBin
|
void |
updateNetBinPath(java.lang.String asrNetBin)
已过时。
该接口不支持结果回调,请使用新接口
updateNetBinPath(AIUpdateListener, String) |
void |
updateVocabs(AIUpdateListener updateListener,
Vocab... vocabs)
更新 ldm 词库
|
public static final java.lang.String TAG
public static AILocalSemanticEngine createInstance()
public static boolean checkLibValid()
public void setAsrResBin(java.lang.String asrResBin)
asrResBin
- 资源名public void setAsrResBinPath(java.lang.String path)
path
- 资源名全路径public void setAsrNetBin(java.lang.String asrNetBin)
asrNetBin
- 资源名public void setAsrNetBinPath(java.lang.String path)
path
- 资源名全路径public void setSemResFolder(java.lang.String semResFolder)
semResFolder
- 语义资源文件夹public void setSemResFolderPath(java.lang.String semResFolderPath)
semResFolderPath
- 语义资源文件夹全路径public void setSemLuaFolder(java.lang.String semLuaFolder)
semLuaFolder
- 语义lua资源所在文件夹public void setSemLuaFolderPath(java.lang.String semLuaFolderPath)
semLuaFolderPath
- 语义lua资源所在文件夹全路径public void notifyWakeup()
public void updateNetBinPath(java.lang.String asrNetBin)
updateNetBinPath(AIUpdateListener, String)
AIError.ERR_NET_BIN_INVALID
错误asrNetBin
- 资源完整路径,如:sdcard/aispeech/net.binpublic void updateNetBinPath(AIUpdateListener listener, java.lang.String asrNetBin)
listener
- 更新接口回调 AIUpdateListener
asrNetBin
- asr 加载使用 net.bin 资源public void setDomain(java.lang.String domain)
domain
- 领域信息,如 地图public void setSkillID(java.lang.String skillID)
skillID
- 离线技能IDpublic void setTask(java.lang.String task)
task
- task信息,如:导航 、 附件检索 等public void setVadEnable(boolean vadEnable)
vadEnable
- true:使用Vad;false:禁止Vad,默认为truepublic void setVadRes(java.lang.String vadRes)
vadRes
- vadResNamepublic void setVadResPath(java.lang.String path)
path
- vad资源名全路径public void setPauseTime(int pauseTime)
pauseTime
- pauseTime 单位:ms,默认300public void setUseDelimiter(java.lang.String delimiter)
delimiter
- 分割符 , 离线语义引擎不推荐打开,会导致识别结果送入语义引擎无法出结果public void setUseConf(boolean useConf)
useConf
- true 启用,默认为falsepublic void setUseXbnfRec(boolean useXbnfRec)
useXbnfRec
- true 启用,默认为falsepublic void setExpandFnPath(java.lang.String path)
path
- ExpandFn 文件的绝对路径
slots 文件示例{"slot": [{"name": "DEVICE","path": "device.slot.bin" }, {"name": "WAKEUP_WORD","path": "wakeup_word.slot.bin" }]}public void setUsePinyin(boolean usePinyin)
usePinyin
- usePinyin,默认为falsepublic void setUseFormat(boolean useFormat)
useFormat
- booleanpublic void setSelectRuleThreshold(double threshold)
threshold
- 决策阈值,默认是 0.63public void setUseSelectRule(boolean useSelectRule)
useSelectRule
- boolean,自定义决策阈值见setSelectRuleThreshold(double)
public void setNoSpeechTimeOut(int milliSecond)
milliSecond
- 超时时长,单位毫秒public void setMaxSpeechTimeS(int seconds)
seconds
- secondspublic void setUseMaxSpeechResult(boolean useMaxSpeechResult)
AIError.ERR_MAX_SPEECH
开启后则尝试将录音识别结果返回
须在start之前设置才生效useMaxSpeechResult
- useMaxSpeechResultpublic void setUseFrameSplit(boolean useFrameSplit)
useFrameSplit
- true 启用,默认为falsepublic void setUseCustomFeed(boolean useCustomFeed)
useCustomFeed
- the useCustomFeed to setpublic void setUseRefText(boolean useRefText)
useRefText
- 默认为false,开启识别功能public void setLanguages(Languages languages)
init(AILocalSemanticConfig, AIASRListener)
Languages.CHINESE
languages
- Languages
public void setSaveAudioPath(java.lang.String path)
path
- 路径public void init(AIASRListener listener)
init(AILocalSemanticConfig, AIASRListener)
listener
- 本地识别回调接口public void init(AILocalSemanticConfig config, AIASRListener listener)
config
- 初始化参数 AILocalSemanticConfig
listener
- 本地识别回调接口AIASRListener
public void updateVocabs(AIUpdateListener updateListener, Vocab... vocabs)
updateListener
- 状态回调vocabs
- 词库public java.util.List<java.lang.String> getVocab(java.lang.String vocabName)
vocabName
- 文件名public void start()
public void start(AILocalSemanticIntent intent)
intent
- 启动参数AILocalSemanticIntent
public void startWithRecording()
public void startWithText(java.lang.String refText)
startWithText(java.lang.String)
refText
- 文本public void startWithText(java.lang.String refText, java.lang.String pinyin)
refText
- 文本pinyin
- 拼音@Deprecated public void feedData(byte[] data)
data
- 音频数据流setUseCustomFeed(boolean)
public void feedData(byte[] data, int size)
data
- 音频数据流size
- 音频数据大小setUseCustomFeed(boolean)
public void stopRecording()
public void cancel()
public void destroy()