类 AILocalSignalAndWakeupConfig
- java.lang.Object
-
- com.aispeech.export.config.AILocalSignalAndWakeupConfig
-
public class AILocalSignalAndWakeupConfig extends java.lang.Object
-
-
字段概要
字段 修饰符和类型 字段 说明 boolean
implVadCk
-
构造器概要
构造器 构造器 说明 AILocalSignalAndWakeupConfig()
-
方法概要
所有方法 实例方法 具体方法 已过时的方法 修饰符和类型 方法 说明 void
enableDulWakeup(java.lang.String[] customNet, java.lang.String[] enableNet)
设置双唤醒,双唤醒即基于当前唤醒模型,对不同的唤醒词做更好的响应。void
enableDulWakeupWithE2E(java.lang.String[] customNet, java.lang.String[] enableNet, float[] threshHigh, float[] threshLow)
E2E提供两个计算网络,使用双计算网络综合计算,综合最后的结果对特定的唤醒词达到提高唤醒率与降低误唤醒率的 作用。java.lang.String
getAecResource()
java.lang.String
getBeamformingResource()
int
getCloudWakeupCheckTimeout()
java.lang.String[]
getCnWakeupWord()
java.lang.String[]
getCustomNet()
int[]
getDcheck()
int
getEchoChannelNum()
java.lang.String[]
getEnableNet()
float[]
getHighThreshold()
float[]
getLowThreshold()
int[]
getMajors()
int
getMaxMessageQueueSize()
int
getMicType()
NearWakeupConfig
getNearWakeupConfig()
int
getPreUploadRollbackTime()
int
getRightMarginFrame()
int
getRollBackTime()
java.lang.String
getSspeResource()
int
getStateFrame()
int[]
getSubwordWakeup()
float[]
getThreshHigh()
float[]
getThreshLow()
float[]
getThreshold()
java.lang.String
getWakeupResource()
java.lang.String[]
getWakeupWord()
boolean
isImplAgcCk()
boolean
isImplBfCk()
boolean
isImplDoaCk()
boolean
isImplEchoCk()
boolean
isImplEchoVoipCk()
boolean
isImplInputCk()
boolean
isImplMultiBfCk()
boolean
isImplOutputCk()
boolean
isImplSevcDoaCk()
boolean
isImplSevcNoiseCk()
boolean
isImplVadCk()
boolean
isImplVprintCutCk()
boolean
isImplWakeupCk()
boolean
isSspe()
boolean
isVad()
void
setAecResource(java.lang.String aecResource)
已过时。2.23.0版本之后废弃void
setBeamformingResource(java.lang.String beamformingResource)
已过时。2.23.0版本之后废弃void
setCloudWakeupCheck(java.lang.String[] cnWakeupWord, float[] highThreshold, int cloudWakeupCheckTimeout, int preUploadRollbackTime)
使用云端ASR进行唤醒校验时需要设置 中文唤醒词和高阈值void
setDcheck(int[] dcheck)
设置唤醒是否开启校验,"1"表示开启校验,"0"表示不开启校验void
setEchoChannelNum(int echoChannelNum)
设置参考音路数,默认为0 即不含参考音void
setImplAgcCk(boolean implAgcCk)
设置是否输出经过前端信号处理放大后的agc音频数据void
setImplBfCk(boolean implBfCk)
设置是否输出Beamforming音频void
setImplDoaCk(boolean implDoaCk)
设置是否输出doavoid
setImplEchoCk(boolean implEchoCk)
设置是否输出消除回路之后的音频 数据void
setImplEchoVoipCk(boolean implEchoVoipCk)
设置是否输出经过回声消除的送给VoIP使用的音频数据void
setImplInputCk(boolean implInputCk)
设置是否回调输出送入内核的参考音频void
setImplMultiBfCk(boolean implMultiBfCk)
设置是否回调输出多路beamforming音频void
setImplOutputCk(boolean implOutputCk)
设置是否回调输出output音频回调,返回内核定制资源输出的音频数据void
setImplSevcDoaCk(boolean implSevcDoaCk)
设置是否输出信号处理后语音通信的beam index信息void
setImplSevcNoiseCk(boolean implSevcNoiseCk)
设置是否输出信号处理估计噪声最大的beam index 信息和该方向的音量信息,为 json 字符串void
setImplVadCk(boolean implVadCk)
设置是否回调输出vad结果void
setImplVprintCutCk(boolean implVprintCutCk)
设置是否输出用于声纹的音频void
setImplWakeupCk(boolean implWakeupCk)
设置是否回调输出唤醒回调,如果关掉了则无法唤醒void
setLowThreshold(float[] lowThreshold)
设置大音量场景下的预唤醒阈值,是否需要设置和唤醒资源有关系void
setMaxMessageQueueSize(int maxMessageQueueSize)
设置消息队列最大长度 默认-1 使用 DUILiteConfig#getMaxMessageQueueSize() 的配置 0表示不限制长度, 建议大于100void
setMicType(int type)
设置启用麦克风阵列类型。void
setNearWakeupConfig(NearWakeupConfig nearWakeupConfig)
就近唤醒的配置,包含 net 和 mds 的配置void
setRightMarginFrame(int rightMarginFrame)
void
setRollBackTime(int rollBackTime)
oneshot回退的时间,单位为ms(只有主唤醒词才会回退音频,即major为1)void
setSspeResource(java.lang.String sspeResource)
sspe 资源, 包含 AEC BSS 等,不同项目含义有所差别void
setStateFrame(int stateFrame)
void
setThreshold(float[] threshold)
设置唤醒词对应阈值,是否需要设置和唤醒资源有关系void
setUseSspe(boolean sspe)
已过时。void
setVad(boolean vad)
设置前端信号处理内核是否使用vad功能void
setWakeupResource(java.lang.String wakeupResource)
唤醒资源void
setWakeupword(WakeupWord... wakeupWords)
设置唤醒词信息config.setWakeupword(new WakeupWord("ni hao xiao le", 0.34f, 0.25f, 1, 0));
void
setWakeupword(java.util.List<WakeupWord> wakeupWords)
void
setWakeupWord(java.lang.String[] wakeupWord, int[] majors)
设置唤醒词以及是否作为主唤醒词,主唤醒词为1,副唤醒词为0void
setWakeupWord(java.lang.String[] wakeupWord, int[] majors, int[] subwordWakeup)
设置唤醒词,以及是否是主副唤醒词,以及是否是半字唤醒java.lang.String
toString()
-
-
-
方法详细资料
-
getMicType
public int getMicType()
-
setMicType
public void setMicType(int type)
设置启用麦克风阵列类型。默认以录音机类型进行加载相应的模块- 参数:
type
- 麦克风阵列类型
-
getMaxMessageQueueSize
public int getMaxMessageQueueSize()
-
setMaxMessageQueueSize
public void setMaxMessageQueueSize(int maxMessageQueueSize)
设置消息队列最大长度- 默认-1 使用 DUILiteConfig#getMaxMessageQueueSize() 的配置
- 0表示不限制长度, 建议大于100
动态库方法运行在一个单独的线程里,通过消息队列依次调用。 在设备性能不好的设备上可以设置消息队列最大长度,防止算力不够导致内核无法及时处理完音频数据而导致内存过大的问题
- 参数:
maxMessageQueueSize
- 消息队列最大长度
-
getSspeResource
public java.lang.String getSspeResource()
-
setSspeResource
public void setSspeResource(java.lang.String sspeResource)
sspe 资源, 包含 AEC BSS 等,不同项目含义有所差别1. 如在 sd 里设置为绝对路径 如/sdcard/speech/***.bin
2. 如在 assets 里设置为名称
sspe 资源,和
wakeupResource
配合使用。设置 sspe 资源时,无需设置
aecResource
和beamformingResource
- 参数:
sspeResource
- sspe 资源
-
isSspe
public boolean isSspe()
-
setUseSspe
public void setUseSspe(boolean sspe)
已过时。设置是否使用sspe- 参数:
sspe
- 是否使用sspe,默认为true
-
getStateFrame
public int getStateFrame()
-
setStateFrame
public void setStateFrame(int stateFrame)
-
getRightMarginFrame
public int getRightMarginFrame()
-
setRightMarginFrame
public void setRightMarginFrame(int rightMarginFrame)
-
setWakeupWord
public void setWakeupWord(java.lang.String[] wakeupWord, int[] majors)
设置唤醒词以及是否作为主唤醒词,主唤醒词为1,副唤醒词为0- 参数:
wakeupWord
- 唤醒词,如 ["ni hao xiao chi", "ni hao xiao le","bu ding bu ding"] 还需要设置唤醒词相应的阈值setThreshold(float[])
和setLowThreshold(float[])
majors
- 是否是主唤醒词,如 [1,0,0]
-
setWakeupWord
public void setWakeupWord(java.lang.String[] wakeupWord, int[] majors, int[] subwordWakeup)
设置唤醒词,以及是否是主副唤醒词,以及是否是半字唤醒- 参数:
wakeupWord
- 唤醒词,如 ["ni hao xiao chi", "ni hao xiao le","bu ding bu ding"] * 还需要设置唤醒词相应的阈值setThreshold(float[])
和setLowThreshold(float[])
majors
- 是否是主唤醒词,如 [1,0,0]subwordWakeup
- 是否是半字唤醒词,是的话设置为1,不是的话是0, 如[0,0,1]
-
getSubwordWakeup
public int[] getSubwordWakeup()
-
setCloudWakeupCheck
public void setCloudWakeupCheck(java.lang.String[] cnWakeupWord, float[] highThreshold, int cloudWakeupCheckTimeout, int preUploadRollbackTime)
使用云端ASR进行唤醒校验时需要设置 中文唤醒词和高阈值- 参数:
cnWakeupWord
- 中文唤醒词highThreshold
- 高阈值,当本地唤醒的 confidence 高于高阈值时不需要进行云端ASR校验cloudWakeupCheckTimeout
- 唤醒进行云端check时的超时设置,单位 毫秒,默认 600 毫秒preUploadRollbackTime
- 半字唤醒缓存的时间长度, 默认1000ms
-
getCnWakeupWord
public java.lang.String[] getCnWakeupWord()
-
getHighThreshold
public float[] getHighThreshold()
-
getCloudWakeupCheckTimeout
public int getCloudWakeupCheckTimeout()
-
getRollBackTime
public int getRollBackTime()
-
setRollBackTime
public void setRollBackTime(int rollBackTime)
oneshot回退的时间,单位为ms(只有主唤醒词才会回退音频,即major为1)- 参数:
rollBackTime
- 回退的时间,单位为ms.
-
getThreshold
public float[] getThreshold()
-
setThreshold
public void setThreshold(float[] threshold)
设置唤醒词对应阈值,是否需要设置和唤醒资源有关系- 参数:
threshold
- 置信度
-
getLowThreshold
public float[] getLowThreshold()
-
setLowThreshold
public void setLowThreshold(float[] lowThreshold)
设置大音量场景下的预唤醒阈值,是否需要设置和唤醒资源有关系- 参数:
lowThreshold
- lowThreshold
-
getWakeupWord
public java.lang.String[] getWakeupWord()
-
getMajors
public int[] getMajors()
-
getDcheck
public int[] getDcheck()
-
setDcheck
public void setDcheck(int[] dcheck)
设置唤醒是否开启校验,"1"表示开启校验,"0"表示不开启校验- 参数:
dcheck
- 是否开启校验,如 [1,0,0]
-
getWakeupResource
public java.lang.String getWakeupResource()
-
setWakeupResource
public void setWakeupResource(java.lang.String wakeupResource)
唤醒资源1. 如在 sd 里设置为绝对路径 如/sdcard/speech/***.bin
2. 如在 assets 里设置为名称
- 参数:
wakeupResource
- 唤醒资源
-
getBeamformingResource
public java.lang.String getBeamformingResource()
-
setBeamformingResource
@Deprecated public void setBeamformingResource(java.lang.String beamformingResource)
已过时。2.23.0版本之后废弃beamforming 资源,beamforming 即波束成形,将多路音频数据 beamforming 成单声道音频,方便后续做唤醒,识别等1. 如在 sd 里设置为绝对路径 如/sdcard/speech/***.bin
2. 如在 assets 里设置为名称
- 参数:
beamformingResource
- beamforming 资源
-
getAecResource
public java.lang.String getAecResource()
-
setAecResource
@Deprecated public void setAecResource(java.lang.String aecResource)
已过时。2.23.0版本之后废弃设置aec资源1. 如在 sd 里设置为绝对路径 如/sdcard/speech/***.bin
2. 如在 assets 里设置为名称
- 参数:
aecResource
- aec资源
-
setWakeupword
public void setWakeupword(java.util.List<WakeupWord> wakeupWords)
-
setWakeupword
public void setWakeupword(WakeupWord... wakeupWords)
设置唤醒词信息config.setWakeupword(new WakeupWord("ni hao xiao le", 0.34f, 0.25f, 1, 0));
- 参数:
wakeupWords
- 配置的唤醒词
-
isVad
public boolean isVad()
-
setVad
public void setVad(boolean vad)
设置前端信号处理内核是否使用vad功能- 参数:
vad
- 内核是否使用vad功能,default is true
-
getEchoChannelNum
public int getEchoChannelNum()
-
setEchoChannelNum
public void setEchoChannelNum(int echoChannelNum)
设置参考音路数,默认为0 即不含参考音- 参数:
echoChannelNum
- 参考音路数- 另请参阅:
setAecResource(String)
-
enableDulWakeup
public void enableDulWakeup(java.lang.String[] customNet, java.lang.String[] enableNet)
设置双唤醒,双唤醒即基于当前唤醒模型,对不同的唤醒词做更好的响应。普通的唤醒词对某些唤醒词响应较好,如对 "你好小驰"响应比较好,则对"小吃小吃"识别不是那么完美,双唤醒主要用于更好的兼容不同的唤醒词 设置的数量必须和唤醒词保持数量一致AIWakeupIntent.setWakeupWord(String[], float[])
- 参数:
customNet
- 设置唤醒词对应的网络,分为主网络和自定义网络,主网络是"0",自定义网络设置"1"enableNet
- 设置是否启用当前唤醒词对应的网络,"0"为关闭,"1"为启用
-
enableDulWakeupWithE2E
public void enableDulWakeupWithE2E(java.lang.String[] customNet, java.lang.String[] enableNet, float[] threshHigh, float[] threshLow)
E2E提供两个计算网络,使用双计算网络综合计算,综合最后的结果对特定的唤醒词达到提高唤醒率与降低误唤醒率的 作用。 Note:E2E仅支持资源内内置的唤醒词 设置的数量必须和唤醒词数量保持一致AIWakeupIntent.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的内部计算,设置数据请咨询思必驰研究
-
getCustomNet
public java.lang.String[] getCustomNet()
-
getEnableNet
public java.lang.String[] getEnableNet()
-
getThreshLow
public float[] getThreshLow()
-
getThreshHigh
public float[] getThreshHigh()
-
toString
public java.lang.String toString()
- 覆盖:
toString
在类中java.lang.Object
-
getNearWakeupConfig
public NearWakeupConfig getNearWakeupConfig()
-
setNearWakeupConfig
public void setNearWakeupConfig(NearWakeupConfig nearWakeupConfig)
就近唤醒的配置,包含 net 和 mds 的配置- 参数:
nearWakeupConfig
- 配置
-
getPreUploadRollbackTime
public int getPreUploadRollbackTime()
-
isImplVadCk
public boolean isImplVadCk()
-
setImplVadCk
public void setImplVadCk(boolean implVadCk)
设置是否回调输出vad结果- 参数:
implVadCk
-
-
isImplMultiBfCk
public boolean isImplMultiBfCk()
-
setImplMultiBfCk
public void setImplMultiBfCk(boolean implMultiBfCk)
设置是否回调输出多路beamforming音频- 参数:
implMultiBfCk
- true 是 false 否
-
isImplWakeupCk
public boolean isImplWakeupCk()
-
setImplWakeupCk
public void setImplWakeupCk(boolean implWakeupCk)
设置是否回调输出唤醒回调,如果关掉了则无法唤醒- 参数:
implWakeupCk
- true 是 false 否
-
isImplOutputCk
public boolean isImplOutputCk()
-
setImplOutputCk
public void setImplOutputCk(boolean implOutputCk)
设置是否回调输出output音频回调,返回内核定制资源输出的音频数据- 参数:
implOutputCk
- true 是 false 否
-
isImplInputCk
public boolean isImplInputCk()
-
setImplInputCk
public void setImplInputCk(boolean implInputCk)
设置是否回调输出送入内核的参考音频- 参数:
implInputCk
- true 是 false 否
-
isImplBfCk
public boolean isImplBfCk()
-
setImplBfCk
public void setImplBfCk(boolean implBfCk)
设置是否输出Beamforming音频- 参数:
implBfCk
- true 是 false 否
-
isImplDoaCk
public boolean isImplDoaCk()
-
setImplDoaCk
public void setImplDoaCk(boolean implDoaCk)
设置是否输出doa- 参数:
implDoaCk
- true 是 false 否
-
isImplVprintCutCk
public boolean isImplVprintCutCk()
-
setImplVprintCutCk
public void setImplVprintCutCk(boolean implVprintCutCk)
设置是否输出用于声纹的音频- 参数:
implVprintCutCk
- true 是 false 否
-
isImplEchoCk
public boolean isImplEchoCk()
-
setImplEchoCk
public void setImplEchoCk(boolean implEchoCk)
设置是否输出消除回路之后的音频 数据- 参数:
implEchoCk
- true 是 false 否
-
isImplEchoVoipCk
public boolean isImplEchoVoipCk()
-
setImplEchoVoipCk
public void setImplEchoVoipCk(boolean implEchoVoipCk)
设置是否输出经过回声消除的送给VoIP使用的音频数据- 参数:
implEchoVoipCk
- true 是 false 否
-
isImplSevcDoaCk
public boolean isImplSevcDoaCk()
-
setImplSevcDoaCk
public void setImplSevcDoaCk(boolean implSevcDoaCk)
设置是否输出信号处理后语音通信的beam index信息- 参数:
implSevcDoaCk
- true 是 false 否
-
isImplSevcNoiseCk
public boolean isImplSevcNoiseCk()
-
setImplSevcNoiseCk
public void setImplSevcNoiseCk(boolean implSevcNoiseCk)
设置是否输出信号处理估计噪声最大的beam index 信息和该方向的音量信息,为 json 字符串- 参数:
implSevcNoiseCk
- true 是 false 否
-
isImplAgcCk
public boolean isImplAgcCk()
-
setImplAgcCk
public void setImplAgcCk(boolean implAgcCk)
设置是否输出经过前端信号处理放大后的agc音频数据- 参数:
implAgcCk
- true 是 false 否
-
-