类 NearWakeupConfig


  • public class NearWakeupConfig
    extends java.lang.Object
    就近唤醒的配置,包含 net 和 mds 的配置
    • 方法概要

      所有方法 静态方法 实例方法 具体方法 
      修饰符和类型 方法 说明
      int getChannels()  
      int getDebounceWnd()  
      java.lang.String getDebugPath()  
      java.util.Map<java.lang.String,​java.lang.Object> getExtraParam()  
      java.lang.String getIp()  
      static java.lang.String getIPAddress​(android.content.Context context)  
      int getLogLevel()  
      java.lang.String getMac()  
      java.lang.String getMdsResource()  
      boolean getNegSelected()  
      boolean getRemoteJudge()  
      java.lang.String getServerName()  
      java.lang.String getWakeupWord()  
      double getWeight()  
      int getWkpWnd()  
      int getWsPort()  
      boolean isAudioAdoptAEC()  
      static boolean isIpAddress​(java.lang.String address)
      校验字符串是否是合法IP
      void putExtraParam​(java.lang.String key, java.lang.Object value)
      设置额外的参数, key:value 的形式。
      void setAudioAdoptAEC​(boolean audioAdoptAEC)
      就近唤醒是否采用带aec的音频
      void setChannels​(int channels)
      输入音频通道数
      void setDebounceWnd​(int debounceWnd)
      防抖窗口期,单位毫秒,范围50-1000,默认450ms。
      void setDebugPath​(java.lang.String debugPath)
      中间音频、原始音频的存放路径
      void setIp​(java.lang.String ip)
      设备ip地址(必须是真实联网IP地址,127.0.0.1不参与组网)
      void setLogLevel​(int logLevel)
      设置就近唤醒的日志级别 用来设置 decision 模块日志级别, 对应的数值越小可打印日志级别越多; 反之至越少。
      void setMac​(java.lang.String mac)
      设备mac地址
      void setMdsResource​(java.lang.String mdsResource)
      mds 资源
      void setNegSelected​(boolean negSelected)
      控制在决策失败时(即当前设备没有最优的snr值)是否抛出唤醒结果,默认值为false(remoteJudge开启时有效) 为false时,不抛出 为true时抛出,(fespx_cb输出)如果唤醒成功在结果中包含 {"nwtkType", "neglected" },唤醒失败时包含 { "nwtkType", "selected" }
      void setRemoteJudge​(boolean remoteJudge)
      (慎改)是否开启自组网服务(就近唤醒开关),默认值为 true 为 true 时设备之间会自动组网,并且自动选择,唤醒时自动决策出最优唤醒设备 为false时唤醒结果会抛出,(fespx_cb输出)同时在结果中新增一个"snr"值
      void setServerName​(java.lang.String serverName)
      服务点名称,相同的服务名才能相互发现和连接。
      void setWakeupWord​(java.lang.String wakeupWord)
      config.setWakeupWord("ni hao xiao yi, ni hao xiao chi")
      void setWeight​(double weight)
      (慎改)选举权重,默认值1.0。
      void setWkpWnd​(int wkpWnd)
      单次决策窗口期,单位毫秒,范围50-800,默认350ms。
      void setWsPort​(int wsPort)
      (慎改)服务绑定的端口号
      org.json.JSONObject toMdsJson()
      mds 配置
      org.json.JSONObject toNetJson()
      网络设置,默认配置如下
      • 从类继承的方法 java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 构造器详细资料

      • NearWakeupConfig

        public NearWakeupConfig()
    • 方法详细资料

      • getRemoteJudge

        public boolean getRemoteJudge()
      • setRemoteJudge

        public void setRemoteJudge​(boolean remoteJudge)
        (慎改)是否开启自组网服务(就近唤醒开关),默认值为 true
        • 为 true 时设备之间会自动组网,并且自动选择,唤醒时自动决策出最优唤醒设备
        • 为false时唤醒结果会抛出,(fespx_cb输出)同时在结果中新增一个"snr"值
        参数:
        remoteJudge - 是否开启自组网服务
      • getNegSelected

        public boolean getNegSelected()
      • setNegSelected

        public void setNegSelected​(boolean negSelected)
        控制在决策失败时(即当前设备没有最优的snr值)是否抛出唤醒结果,默认值为false(remoteJudge开启时有效)
        • 为false时,不抛出
        • 为true时抛出,(fespx_cb输出)如果唤醒成功在结果中包含 {"nwtkType", "neglected" },唤醒失败时包含 { "nwtkType", "selected" }
        参数:
        negSelected - 就近唤醒决策失败后是否通知上层
      • getIp

        public java.lang.String getIp()
      • setIp

        public void setIp​(java.lang.String ip)
        设备ip地址(必须是真实联网IP地址,127.0.0.1不参与组网)
        参数:
        ip - 设备ip地址 示例: "127.0.0.1"
      • getMac

        public java.lang.String getMac()
      • setMac

        public void setMac​(java.lang.String mac)
        设备mac地址
        参数:
        mac - mac地址 示例:"BE-91-80-2F-66-61"
      • getServerName

        public java.lang.String getServerName()
      • setServerName

        public void setServerName​(java.lang.String serverName)
        服务点名称,相同的服务名才能相互发现和连接。用于不同设备间的隔离,服务名 不同无法组网交换信息。默认 "" ,就是普通的字符串。
        参数:
        serverName - 服务点名称
      • getWeight

        public double getWeight()
      • setWeight

        public void setWeight​(double weight)
        (慎改)选举权重,默认值1.0。取值范围大于等于0,值越大选举时优势越大
        参数:
        weight - 选举权重
      • getWsPort

        public int getWsPort()
      • setWsPort

        public void setWsPort​(int wsPort)
        (慎改)服务绑定的端口号
        参数:
        wsPort - 端口号
      • getWkpWnd

        public int getWkpWnd()
      • setWkpWnd

        public void setWkpWnd​(int wkpWnd)
        单次决策窗口期,单位毫秒,范围50-800,默认350ms。不同设备唤醒时间点有差异,且网络传输延 时导致一次唤醒存在时间差,在窗口期范围之内,同一唤醒词的唤醒被合并为同一个唤醒,从中选出 最优设备
        参数:
        wkpWnd - 单次决策窗口期
      • getDebounceWnd

        public int getDebounceWnd()
      • setDebounceWnd

        public void setDebounceWnd​(int debounceWnd)
        防抖窗口期,单位毫秒,范围50-1000,默认450ms。唤醒窗口期结束之后开始进入防抖窗口期,一次唤醒之 后,有可能还有部分设备不落在唤醒窗口期,在防抖窗口期内该设备也不会被唤醒。
        参数:
        debounceWnd - 防抖窗口期
      • getDebugPath

        public java.lang.String getDebugPath()
      • setDebugPath

        public void setDebugPath​(java.lang.String debugPath)
        中间音频、原始音频的存放路径
        参数:
        debugPath - 音频的存放路径
      • getExtraParam

        public java.util.Map<java.lang.String,​java.lang.Object> getExtraParam()
      • putExtraParam

        public void putExtraParam​(java.lang.String key,
                                  java.lang.Object value)
        设置额外的参数, key:value 的形式。 例如:["abc":"ABC","num":123,"bb":false,"list":["a","1","c"]]
        参数:
        key - key,例如:"abc" "num" "list"
        value - value,例如:"ABC" 123 false ["a","1","c"]
      • getLogLevel

        public int getLogLevel()
      • setLogLevel

        public void setLogLevel​(int logLevel)
        设置就近唤醒的日志级别 用来设置 decision 模块日志级别, 对应的数值越小可打印日志级别越多; 反之至越少。数值 5 为不打印日志;默认数值是 1,打印大于等于 1 级别的日志。
        参数:
        logLevel - 0-5
      • getWakeupWord

        public java.lang.String getWakeupWord()
      • setWakeupWord

        public void setWakeupWord​(java.lang.String wakeupWord)
        
           config.setWakeupWord("ni hao xiao yi, ni hao xiao chi")
         
        参数:
        wakeupWord -
      • toNetJson

        public org.json.JSONObject toNetJson()
        网络设置,默认配置如下
         {
                "remoteJudge": 1,
                "negSelected": 0,
                "interface": "eth0",    //
                "ip": "127.0.0.1",
                "mac": "BE-91-80-2F-66-61",
                "server_name": "nearwakeup:1",
                "type": "ethernet",     //
                "weight": 1,
                "ws_port": 35791,
                "wkpWnd": 350,
                "debounceWnd": 450
         }
         
        返回:
        网络设置
      • toMdsJson

        public org.json.JSONObject toMdsJson()
        mds 配置
         {
          "resBinPath": "./wakeup/md.bin",
                "channels": 2
         }
         
        返回:
        mds 配置
      • getMdsResource

        public java.lang.String getMdsResource()
      • setMdsResource

        public void setMdsResource​(java.lang.String mdsResource)
        mds 资源

        1. 如在 sd 里设置为绝对路径 如/sdcard/speech/***.bin

        2. 如在 assets 里设置为名称

        参数:
        mdsResource - mds 资源
      • getChannels

        public int getChannels()
      • setChannels

        public void setChannels​(int channels)
        输入音频通道数
        参数:
        channels - 通道数
      • isAudioAdoptAEC

        public boolean isAudioAdoptAEC()
      • setAudioAdoptAEC

        public void setAudioAdoptAEC​(boolean audioAdoptAEC)
        就近唤醒是否采用带aec的音频
        参数:
        audioAdoptAEC - 采用带aec的原始音,默认为false
      • getIPAddress

        public static java.lang.String getIPAddress​(android.content.Context context)
      • isIpAddress

        public static boolean isIpAddress​(java.lang.String address)
        校验字符串是否是合法IP
        参数:
        address - 传入的校验字段
        返回: