类 AILocalSignalAndWakeupConfig


  • public class AILocalSignalAndWakeupConfig
    extends java.lang.Object
    • 字段详细资料

      • implVadCk

        public boolean implVadCk
    • 构造器详细资料

      • AILocalSignalAndWakeupConfig

        public AILocalSignalAndWakeupConfig()
    • 方法详细资料

      • getMicType

        public int getMicType()
      • setMicType

        public void setMicType​(int type)
        设置启用麦克风阵列类型。默认以录音机类型进行加载相应的模块
        参数:
        type - 麦克风阵列类型
      • getMaxMessageQueueSize

        public int getMaxMessageQueueSize()
      • setMaxMessageQueueSize

        public void setMaxMessageQueueSize​(int maxMessageQueueSize)
        设置消息队列最大长度

        动态库方法运行在一个单独的线程里,通过消息队列依次调用。 在设备性能不好的设备上可以设置消息队列最大长度,防止算力不够导致内核无法及时处理完音频数据而导致内存过大的问题

        参数:
        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 资源时,无需设置 aecResourcebeamformingResource

        参数:
        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
      • 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 否