diff --git a/sherpa-onnx/java-api/src/com/k2fsa/sherpa/onnx/FeatureConfig.java b/sherpa-onnx/java-api/src/com/k2fsa/sherpa/onnx/FeatureConfig.java index b4ecf762..f711a89d 100644 --- a/sherpa-onnx/java-api/src/com/k2fsa/sherpa/onnx/FeatureConfig.java +++ b/sherpa-onnx/java-api/src/com/k2fsa/sherpa/onnx/FeatureConfig.java @@ -6,10 +6,12 @@ package com.k2fsa.sherpa.onnx; public class FeatureConfig { private final int sampleRate; private final int featureDim; + private final float dither; private FeatureConfig(Builder builder) { this.sampleRate = builder.sampleRate; this.featureDim = builder.featureDim; + this.dither = builder.dither; } public static Builder builder() { @@ -24,9 +26,14 @@ public class FeatureConfig { return featureDim; } + public float getDither() { + return dither; + } + public static class Builder { private int sampleRate = 16000; private int featureDim = 80; + private float dither = 0.0f; public FeatureConfig build() { return new FeatureConfig(this); @@ -41,5 +48,9 @@ public class FeatureConfig { this.featureDim = featureDim; return this; } + public Builder setDither(float dither) { + this.dither = dither; + return this; + } } } diff --git a/sherpa-onnx/jni/keyword-spotter.cc b/sherpa-onnx/jni/keyword-spotter.cc index 0dc5685e..5dc66c65 100644 --- a/sherpa-onnx/jni/keyword-spotter.cc +++ b/sherpa-onnx/jni/keyword-spotter.cc @@ -49,6 +49,9 @@ static KeywordSpotterConfig GetKwsConfig(JNIEnv *env, jobject config) { fid = env->GetFieldID(feat_config_cls, "featureDim", "I"); ans.feat_config.feature_dim = env->GetIntField(feat_config, fid); + fid = env->GetFieldID(feat_config_cls, "dither", "F"); + ans.feat_config.dither = env->GetFloatField(feat_config, fid); + //---------- model config ---------- fid = env->GetFieldID(cls, "modelConfig", "Lcom/k2fsa/sherpa/onnx/OnlineModelConfig;"); diff --git a/sherpa-onnx/jni/offline-recognizer.cc b/sherpa-onnx/jni/offline-recognizer.cc index 785d885d..391ec422 100644 --- a/sherpa-onnx/jni/offline-recognizer.cc +++ b/sherpa-onnx/jni/offline-recognizer.cc @@ -62,6 +62,9 @@ static OfflineRecognizerConfig GetOfflineConfig(JNIEnv *env, jobject config) { fid = env->GetFieldID(feat_config_cls, "featureDim", "I"); ans.feat_config.feature_dim = env->GetIntField(feat_config, fid); + fid = env->GetFieldID(feat_config_cls, "dither", "F"); + ans.feat_config.dither = env->GetFloatField(feat_config, fid); + //---------- model config ---------- fid = env->GetFieldID(cls, "modelConfig", "Lcom/k2fsa/sherpa/onnx/OfflineModelConfig;"); diff --git a/sherpa-onnx/jni/online-recognizer.cc b/sherpa-onnx/jni/online-recognizer.cc index a2ace472..7be97852 100644 --- a/sherpa-onnx/jni/online-recognizer.cc +++ b/sherpa-onnx/jni/online-recognizer.cc @@ -65,6 +65,9 @@ static OnlineRecognizerConfig GetConfig(JNIEnv *env, jobject config) { fid = env->GetFieldID(feat_config_cls, "featureDim", "I"); ans.feat_config.feature_dim = env->GetIntField(feat_config, fid); + fid = env->GetFieldID(feat_config_cls, "dither", "F"); + ans.feat_config.dither = env->GetFloatField(feat_config, fid); + //---------- enable endpoint ---------- fid = env->GetFieldID(cls, "enableEndpoint", "Z"); ans.enable_endpoint = env->GetBooleanField(config, fid); diff --git a/sherpa-onnx/kotlin-api/FeatureConfig.kt b/sherpa-onnx/kotlin-api/FeatureConfig.kt index ed55e9fc..2d2eba45 100644 --- a/sherpa-onnx/kotlin-api/FeatureConfig.kt +++ b/sherpa-onnx/kotlin-api/FeatureConfig.kt @@ -3,6 +3,7 @@ package com.k2fsa.sherpa.onnx data class FeatureConfig( var sampleRate: Int = 16000, var featureDim: Int = 80, + var dither: Float = 0.0f ) fun getFeatureConfig(sampleRate: Int, featureDim: Int): FeatureConfig {