类 AILocalSignalAndWakeupEngine
- java.lang.Object
-
- com.aispeech.export.engines2.AILocalSignalAndWakeupEngine
-
- 所有已实现的接口:
IFespxEngine
public class AILocalSignalAndWakeupEngine extends java.lang.Object implements IFespxEngine
多麦唤醒
-
-
方法概要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 说明 void
addOrUpdateWakeupword(WakeupWord... wakeupWord)
动态更新唤醒词void
addOrUpdateWakeupword(java.util.List<WakeupWord> wakeupWords)
static AILocalSignalAndWakeupEngine
createInstance()
创建前端信号处理引擎对象void
destroy()
销毁信号处理模块和唤醒引擎 该方法会停止录音机和销毁录音机void
feedData(byte[] data, int size)
传入数据,在不使用SDK录音机时调用void
forceRequestWakeupResult()
强制请求唤醒结果,即使没有唤醒也会给出唤醒词为null的结果int
getDriveMode()
获取 驾驶模式,只有车载双麦模块有这个功能FespxProcessor
getFespxProcessor()
int
getValueOf(java.lang.String param)
int
getVpCallbackLength()
获取vprintcut回调输出tlv数据包长度,资源需要带声纹。WakeupWord[]
getWakeupword()
java.util.Collection<WakeupWord>
getWakeupwordList()
void
init(AILocalSignalAndWakeupConfig config, AILocalSignalAndWakeupListener listener)
void
removeWakeupword(WakeupWord... wakeupWord)
移除唤醒词void
removeWakeupword(java.lang.String... wakeupWord)
void
removeWakeupword(java.util.List<WakeupWord> wakeupWords)
void
resetDriveMode()
void
setDynamicParam(java.lang.String json)
void
setDynamicParam(java.lang.String[] wakeupWord, float[] threshold, float[] threshold2, int[] majors)
动态调整参数void
setDynamicParam(java.lang.String[] wakeupWord, float[] threshold, float[] threshold2, int[] majors, boolean vad)
动态设置参数void
setDynamicParam(java.lang.String[] wakeupWord, float[] threshold, int[] majors)
动态调整参数void
setDynamicParam(java.util.Map<java.lang.String,?> dynamicParam)
动态设置唤醒参数,可以在引擎初始化成功后动态设置void
setDynamicParamEnv(java.util.Map<java.lang.String,?> dynamicParam)
动态调整参数,可以用来设置唤醒词,阈值等void
setWakeupword(WakeupWord... wakeupWord)
动态设置唤醒词void
setWakeupword(java.util.List<WakeupWord> wakeupWords)
void
start(AILocalSignalAndWakeupIntent aiLocalSignalAndWakeupIntent)
启动信号处理模块和唤醒引擎void
stop()
停止信号处理模块和唤醒引擎 该方法会停止接收录音数据和停止信号处理,唤醒,程序退出时可以调用
-
-
-
方法详细资料
-
createInstance
public static AILocalSignalAndWakeupEngine createInstance()
创建前端信号处理引擎对象- 返回:
- AILocalSignalAndWakeupEngine 返回实例对象,可支持多实例
-
getFespxProcessor
public FespxProcessor getFespxProcessor()
- 指定者:
getFespxProcessor
在接口中IFespxEngine
-
init
public void init(AILocalSignalAndWakeupConfig config, AILocalSignalAndWakeupListener listener)
-
start
public void start(AILocalSignalAndWakeupIntent aiLocalSignalAndWakeupIntent)
启动信号处理模块和唤醒引擎- 参数:
aiLocalSignalAndWakeupIntent
- 前端信号处理参数- 另请参阅:
AILocalSignalAndWakeupIntent
-
getValueOf
public int getValueOf(java.lang.String param)
获取AILocalSignalAndWakeupListener.onVprintCutDataReceived(int, byte[], int)
返回的音频通道 用于设置给VprintIntent.setAecChannelNum(int)
和VprintIntent.setBfChannelNum(int)
- 参数:
param
-AIConstant.KEY_FESPX_AEC_CHANNEL
和AIConstant.KEY_FESPX_BF_CHANNEL
- 返回:
- aecChannelNum或bfChannelNum
须在引擎初始化
AILocalSignalAndWakeupListener.onInit(int)
成功后才可以获取,若返回值为-1,则表示引擎未初始化
-
setDynamicParam
public void setDynamicParam(java.lang.String[] wakeupWord, float[] threshold, int[] majors)
动态调整参数mEngine.setDynamicParam(new String[]{"ni hao xiao le"}, new float[]{0.45f}, new int[]{1})
- 参数:
wakeupWord
- 唤醒词,参数示例:["ni hao xiao chi","xiao bu xiao bu"]threshold
- 唤醒词对应的阈值,参数示例:[0.2, 0.3]majors
- 是否主唤醒词,主唤醒词为1,副唤醒词为0,如 [1,0]
-
setDynamicParam
public void setDynamicParam(java.lang.String[] wakeupWord, float[] threshold, float[] threshold2, int[] majors)
动态调整参数mEngine.setDynamicParam(new String[]{"ni hao xiao le"}, new float[]{0.45f},new float[]{0.32f}, new int[]{1})
- 参数:
wakeupWord
- 唤醒词,参数示例:["ni hao xiao chi","xiao bu xiao bu"]threshold
- 唤醒词对应的阈值,参数示例:[0.2, 0.3]threshold2
- 设置大音量场景下的唤醒阈值majors
- 是否主唤醒词,主唤醒词为1,副唤醒词为0,如 [1,0]
-
setDynamicParam
public void setDynamicParam(java.lang.String[] wakeupWord, float[] threshold, float[] threshold2, int[] majors, boolean vad)
动态设置参数mEngine.setDynamicParam(new String[]{"ni hao xiao le"}, new float[]{0.45f},new float[]{0.32f}, new int[]{1}, false)
- 参数:
wakeupWord
- 唤醒词,参数示例:["ni hao xiao chi","xiao bu xiao bu"]threshold
- 唤醒词对应的阈值,参数示例:[0.2, 0.3]threshold2
- 设置大音量场景下的唤醒阈值majors
- 是否主唤醒词,主唤醒词为1,副唤醒词为0,如 [1,0]vad
- 内核是否使用vad功能
-
setDynamicParamEnv
public void setDynamicParamEnv(java.util.Map<java.lang.String,?> dynamicParam)
动态调整参数,可以用来设置唤醒词,阈值等
区别于Map envMap = new HashMap(); envMap.put("words", new String[]{"ni hao xiao le"}); envMap.put("thresh", new float[]{0.45f}); mEngine.setDynamicParamEnv(envMap);
setDynamicParamEnv(Map)
此方法仅可用于设置唤醒词和唤醒词阈值- 参数:
dynamicParam
- env 里的参数,key可以是 words thresh thresh2 major等, value 类型可以是 基础类型、字符串、数组、列表- 从以下版本开始:
- 2.11.1
-
setDynamicParam
public void setDynamicParam(java.util.Map<java.lang.String,?> dynamicParam)
动态设置唤醒参数,可以在引擎初始化成功后动态设置
区别于Map<String, Object> dynamicParam = new HashMap<>(); dynamicParam.put("env", "words=ni hao xiao le;thresh=0.45;major=1;"); // maxVolumeState 用于设置大音量状态,需配置AEC资源。启用大音量检测功能时,在每次 feed 之前调用,0 表示非大音量,1 表示大音量 dynamicParam.put("maxVolumeState", 1); //动态设置开关,1为开,0为关 dynamicParam.put("wakeupSwitch", 0); dynamicParam.put("doa", 90); mEngine.setDynamicParam(dynamicParam);
setDynamicParam(Map)
此方法可用于设置唤醒词和唤醒词阈值以外,还可以设置其他属性,如唤醒角度,环形开关,大音量等属性- 参数:
dynamicParam
- 动态参数, Map 类型,key 为 String 类型,可以是env ,maxVolumeState,wakeupSwitch,doa value 类型可以是 基础类型、字符串、数组、列表
-
setDynamicParam
public void setDynamicParam(java.lang.String json)
-
getDriveMode
public int getDriveMode()
获取 驾驶模式,只有车载双麦模块有这个功能- 返回:
- 0为定位模式, 按照声源定位;1为主驾模式;2为副驾模式;3为全车模式,-1 错误,没有获取到
-
getVpCallbackLength
public int getVpCallbackLength()
获取vprintcut回调输出tlv数据包长度,资源需要带声纹。 每次输出时该长度固定,输入声纹时也需要保持该长度- 返回:
- vprintcut回调 tlv数据包长度, 小于0 表示获取失败
-
stop
public void stop()
停止信号处理模块和唤醒引擎 该方法会停止接收录音数据和停止信号处理,唤醒,程序退出时可以调用
-
forceRequestWakeupResult
public void forceRequestWakeupResult()
强制请求唤醒结果,即使没有唤醒也会给出唤醒词为null的结果
-
destroy
public void destroy()
销毁信号处理模块和唤醒引擎 该方法会停止录音机和销毁录音机
-
feedData
public void feedData(byte[] data, int size)
传入数据,在不使用SDK录音机时调用- 参数:
data
- 音频数据流size
- 数据大小- 另请参阅:
AILocalSignalAndWakeupIntent.setUseCustomFeed(boolean)
-
addOrUpdateWakeupword
public void addOrUpdateWakeupword(java.util.List<WakeupWord> wakeupWords)
-
addOrUpdateWakeupword
public void addOrUpdateWakeupword(WakeupWord... wakeupWord)
动态更新唤醒词mEngine.addOrUpdateWakeupword(new WakeupWord("xiao bu xiao bu", 0.49f, 0.21f, 0, 0), new WakeupWord("xiao la hao ke", 0.38f, 0, 1, 0));
- 参数:
wakeupWord
- 增加或者更改的唤醒词
-
removeWakeupword
public void removeWakeupword(java.util.List<WakeupWord> wakeupWords)
-
removeWakeupword
public void removeWakeupword(WakeupWord... wakeupWord)
移除唤醒词mEngine.removeWakeupword(new WakeupWord("xiao bu xiao bu", 0.49f, 0.21f, 0, 0)); mEngine.removeWakeupword("xiao bu xiao bu");
- 参数:
wakeupWord
- 移除的唤醒词
-
removeWakeupword
public void removeWakeupword(java.lang.String... wakeupWord)
-
getWakeupword
public WakeupWord[] getWakeupword()
-
setWakeupword
public void setWakeupword(java.util.List<WakeupWord> wakeupWords)
-
setWakeupword
public void setWakeupword(WakeupWord... wakeupWord)
动态设置唤醒词mEngine.setWakeupword(new WakeupWord("xiao bu xiao bu", 0.49f, 0.21f, 0, 0), new WakeupWord("xiao la hao ke", 0.38f, 0, 1, 0));
- 参数:
wakeupWord
- 唤醒词,包括唤醒词,阈值,major等属性
-
getWakeupwordList
public java.util.Collection<WakeupWord> getWakeupwordList()
-
resetDriveMode
public void resetDriveMode()
-
-