public class AIWakeupIntent extends BaseIntent
needCopyFeedData, needCopyResultData, useCustomFeed
Constructor and Description |
---|
AIWakeupIntent() |
Modifier and Type | Method and Description |
---|---|
void |
enableDulWakeup(java.lang.String[] customNet,
java.lang.String[] enableNet)
设置双唤醒,双唤醒即基于当前唤醒模型,对不同的唤醒词做更好的响应。普通的唤醒词对某些唤醒词响应较好,如对
"你好小驰"响应比较好,则对"小吃小吃"识别不是那么完美,双唤醒主要用于更好的兼容不同的唤醒词
设置的数量必须和唤醒词保持数量一致
setWakeupWord(String[], float[]) |
void |
enableDulWakeupWithE2E(java.lang.String[] customNet,
java.lang.String[] enableNet,
float[] threshHigh,
float[] threshLow)
E2E提供两个计算网络,使用双计算网络综合计算,综合最后的结果对特定的唤醒词达到提高唤醒率与降低误唤醒率的
作用。
Note:E2E仅支持资源内内置的唤醒词
设置的数量必须和唤醒词数量保持一致
setWakeupWord(String[], float[])
同时,E2E要求同时设置普通唤醒词和E2E的唤醒词,E2E唤醒词用下划线做拼音之间的连接,如"ni_hao_xiao_chi",
即如果唤醒词为 “你好小驰”,则需要同时配置普通网络模型的唤醒词"ni hao xiao chi",并将其网络模型设置为主网络
即,"0";同时,设置E2E网络模型唤醒词"ni_hao_xiao_chi",网络模型设置为"1",这样才完成了一个基本的E2E
双唤醒设置,可参考如下示例
setWakeupWord(new String[]{"ni hao xiao chi", "ni_hao_xiao_chi"}, new float[]{0.5f, 0.6f});
enableDulWakeupWithE2E(new String[] {"0","1"}, new String[] {"1", "1"}, new float[] {0.9f, 0.8f}, new float[] {0.1f, 0.2f});
|
java.lang.String[] |
getCustomNet() |
java.lang.String[] |
getDcheck() |
java.lang.String |
getDumpWakeupAudioPath() |
int |
getDumpWakeupTime() |
java.lang.String[] |
getEnableNet() |
int[] |
getMajors() |
java.lang.String[] |
getPinyin() |
java.lang.String |
getSaveAudioFilePath() |
float[] |
getThreshHigh() |
float[] |
getThreshLow() |
float[] |
getThreshold() |
boolean |
isAddExtraAudioWhenFeedNotContinuousAudio() |
boolean |
isInputContinuousAudio() |
boolean |
isUseOneShot() |
boolean |
isVadEnable() |
void |
setAiOneshotConfig(AIOneshotConfig aiOneshotConfig)
Deprecated.
|
void |
setDcheck(int[] dcheck)
设置唤醒是否开启校验,"1"表示开启校验,"0"表示不开启校验
|
void |
setDcheck(java.lang.String[] dcheck)
设置唤醒是否开启校验,"1"表示开启校验,"0"表示不开启校验
|
void |
setDumpWakeupAudioPath(java.lang.String dumpWakeupAudioPath)
设置dump唤醒音频保存的文件夹,比如/sdcard/speech/dumpwkp。不设置则不dump音频
|
void |
setDumpWakeupTime(int dumpWakeupTime)
设置dump唤醒点回退音频时长,默认5000ms。
|
void |
setInputContinuousAudio(boolean inputContinuousAudio)
设置是否输入实时的长音频,默认接受长音频为true(如果是一二级唤醒,即每个唤醒词独立且非实时,则需要设置为false,如果不设置会影响性能)
|
void |
setInputContinuousAudio(boolean inputContinuousAudio,
boolean addExtraAudioWhenFeedNotContinuousAudio)
设置是否输入实时的长音频,默认接受长音频为true(如果是一二级唤醒,即每个唤醒词独立且非实时,则需要设置为false,如果不设置会影响性能)
|
void |
setMajors(int[] majors)
设置唤醒词的major,主唤醒词为1,副唤醒词为0
|
void |
setSaveAudioFilePath(java.lang.String saveAudioFilePath)
Deprecated.
统一规范 这里不生效
|
void |
setThreshold(float[] threshold)
设置唤醒阈值
|
void |
setUseOneShot(boolean useOneShot)
设置是否使用 oneshot 功能,default is false
|
void |
setVadEnable(boolean vadEnable)
设置是否启动vad功能,需要资源配合。在资源支持vad功能的情况下,默认启动vad。
vad 需引擎 stop 后重新 start 才能生效 |
void |
setWakeupWord(java.lang.String[] pinyin,
float[] threshold)
设置唤醒词列表
|
void |
setWakeupWords(java.lang.String[] wakeupWords)
设置唤醒词列表
|
java.lang.String |
toString() |
isNeedCopyFeedData, isNeedCopyResultData, isUseCustomFeed, setNeedCopyFeedData, setNeedCopyResultData, setUseCustomFeed
public void setUseOneShot(boolean useOneShot)
oneshot 功能即 唤醒词+命令词,如用户说:你好小弛,打开设置。 “你好小弛”是唤醒词,唤醒回调出发,此时使用 asr识别,可以识别出“打开设置”
useOneShot
- useOneShot true 使用 oneshot 功能,false(default) 不使用public void setInputContinuousAudio(boolean inputContinuousAudio)
当设置为false时,每次送一段音频段都会给予是否唤醒的反馈,如果没有被唤醒,则抛出wakeupWord:null, confidence:0的信息
inputContinuousAudio
- 是否输入实时的长音频public void setInputContinuousAudio(boolean inputContinuousAudio, boolean addExtraAudioWhenFeedNotContinuousAudio)
当设置为false时,每次送一段音频段都会给予是否唤醒的反馈,如果没有被唤醒,则抛出wakeupWord:null, confidence:0的信息
当 inputContinuousAudio 设置为 false 时,可以设置 addExtraAudioWhenFeedNotContinuousAudio 为 true, 会在段音频尾部再加上一些音频,使本应能够唤醒的音频更容易唤醒
inputContinuousAudio
- 是否输入实时的长音频,默认为trueaddExtraAudioWhenFeedNotContinuousAudio
- false(默认)不增加额外音频,true 增加额外音频public void setWakeupWord(java.lang.String[] pinyin, float[] threshold)
pinyin
- 唤醒词的拼音,建议三到五字,如:["ni hao xiao chi","xiao chi ni hao"]
当设置E2E双唤醒的情形下,E2E支持的唤醒词需要_做拼音的连接,如["ni_hao_xiao_chi","xiao_chi_xiao_chi"]threshold
- 阈值,0-1,可根据需求自行调整,如:[0.1, 0.1]public void setWakeupWords(java.lang.String[] wakeupWords)
wakeupWords
- 唤醒词的拼音,建议三到五字,如:["ni hao xiao chi","xiao chi ni hao"]public void setThreshold(float[] threshold)
threshold
- 阈值,0-1,可根据需求自行调整,如:[0.1, 0.1]public void setMajors(int[] majors)
majors
- 如 [1,0,0]public void setDcheck(java.lang.String[] dcheck)
dcheck
- 校验值,如:["1","0"]public void setDcheck(int[] dcheck)
dcheck
- 校验值,如:[1,0]public boolean isUseOneShot()
public boolean isInputContinuousAudio()
public java.lang.String[] getPinyin()
public float[] getThreshold()
public java.lang.String[] getDcheck()
public boolean isVadEnable()
public void setVadEnable(boolean vadEnable)
vadEnable
- true 启动,false 不启动public java.lang.String getDumpWakeupAudioPath()
public void setDumpWakeupAudioPath(java.lang.String dumpWakeupAudioPath)
dumpWakeupAudioPath
- dump唤醒音频保存的文件夹public void setDumpWakeupTime(int dumpWakeupTime)
dumpWakeupTime
- dump唤醒点回退音频的时长public int getDumpWakeupTime()
public boolean isAddExtraAudioWhenFeedNotContinuousAudio()
public void setSaveAudioFilePath(java.lang.String saveAudioFilePath)
DUILiteConfig.setLocalSaveAudioPath(String)
没设置不会保存saveAudioFilePath
- 文件夹路径public java.lang.String getSaveAudioFilePath()
public void enableDulWakeup(java.lang.String[] customNet, java.lang.String[] enableNet)
setWakeupWord(String[], float[])
customNet
- 设置唤醒词对应的网络,分为主网络和自定义网络,主网络是"0",自定义网络设置"1"enableNet
- 设置是否启用当前唤醒词对应的网络,"0"为关闭,"1"为启用public void enableDulWakeupWithE2E(java.lang.String[] customNet, java.lang.String[] enableNet, float[] threshHigh, float[] threshLow)
setWakeupWord(String[], float[])
同时,E2E要求同时设置普通唤醒词和E2E的唤醒词,E2E唤醒词用下划线做拼音之间的连接,如"ni_hao_xiao_chi",
即如果唤醒词为 “你好小驰”,则需要同时配置普通网络模型的唤醒词"ni hao xiao chi",并将其网络模型设置为主网络
即,"0";同时,设置E2E网络模型唤醒词"ni_hao_xiao_chi",网络模型设置为"1",这样才完成了一个基本的E2E
双唤醒设置,可参考如下示例
setWakeupWord(new String[]{"ni hao xiao chi", "ni_hao_xiao_chi"}, new float[]{0.5f, 0.6f});
enableDulWakeupWithE2E(new String[] {"0","1"}, new String[] {"1", "1"}, new float[] {0.9f, 0.8f}, new float[] {0.1f, 0.2f});
customNet
- 设置唤醒词对应的网络,分为主网络和自定义网络,主网络是"0",E2E网络设置"1"enableNet
- 设置是否启用当前唤醒词对应的网络,"0"为关闭,"1"为启用threshHigh
- 高唤醒阈值,用于E2E的内部计算,设置数据请咨询思必驰研究threshLow
- 低唤醒阈值,用于E2E的内部计算,设置数据请咨询思必驰研究public java.lang.String[] getCustomNet()
public java.lang.String[] getEnableNet()
public float[] getThreshLow()
public float[] getThreshHigh()
public int[] getMajors()
@Deprecated public void setAiOneshotConfig(AIOneshotConfig aiOneshotConfig)
aiOneshotConfig
- public java.lang.String toString()
toString
in class java.lang.Object