Add CTC HLG decoding for JNI (#810)
This commit is contained in:
@@ -147,6 +147,19 @@ static OfflineRecognizerConfig GetOfflineConfig(JNIEnv *env, jobject config) {
|
||||
ans.model_config.whisper.tail_paddings =
|
||||
env->GetIntField(whisper_config, fid);
|
||||
|
||||
fid = env->GetFieldID(
|
||||
model_config_cls, "nemo",
|
||||
"Lcom/k2fsa/sherpa/onnx/OfflineNemoEncDecCtcModelConfig;");
|
||||
jobject nemo_config = env->GetObjectField(model_config, fid);
|
||||
jclass nemo_config_cls = env->GetObjectClass(nemo_config);
|
||||
|
||||
fid = env->GetFieldID(paraformer_config_cls, "model", "Ljava/lang/String;");
|
||||
|
||||
s = (jstring)env->GetObjectField(nemo_config, fid);
|
||||
p = env->GetStringUTFChars(s, nullptr);
|
||||
ans.model_config.nemo_ctc.model = p;
|
||||
env->ReleaseStringUTFChars(s, p);
|
||||
|
||||
return ans;
|
||||
}
|
||||
|
||||
|
||||
@@ -198,6 +198,22 @@ static OnlineRecognizerConfig GetConfig(JNIEnv *env, jobject config) {
|
||||
fid = env->GetFieldID(lm_model_config_cls, "scale", "F");
|
||||
ans.lm_config.scale = env->GetFloatField(lm_model_config, fid);
|
||||
|
||||
fid = env->GetFieldID(cls, "ctcFstDecoderConfig",
|
||||
"Lcom/k2fsa/sherpa/onnx/OnlineCtcFstDecoderConfig;");
|
||||
|
||||
jobject fst_decoder_config = env->GetObjectField(config, fid);
|
||||
jclass fst_decoder_config_cls = env->GetObjectClass(fst_decoder_config);
|
||||
|
||||
fid = env->GetFieldID(fst_decoder_config_cls, "graph", "Ljava/lang/String;");
|
||||
s = (jstring)env->GetObjectField(fst_decoder_config, fid);
|
||||
p = env->GetStringUTFChars(s, nullptr);
|
||||
ans.ctc_fst_decoder_config.graph = p;
|
||||
env->ReleaseStringUTFChars(s, p);
|
||||
|
||||
fid = env->GetFieldID(fst_decoder_config_cls, "maxActive", "I");
|
||||
ans.ctc_fst_decoder_config.max_active =
|
||||
env->GetIntField(fst_decoder_config, fid);
|
||||
|
||||
return ans;
|
||||
}
|
||||
} // namespace sherpa_onnx
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include <fstream>
|
||||
|
||||
#include "sherpa-onnx/csrc/macros.h"
|
||||
#include "sherpa-onnx/csrc/onnx-utils.h"
|
||||
#include "sherpa-onnx/jni/common.h"
|
||||
|
||||
static jobjectArray ReadWaveImpl(JNIEnv *env, std::istream &is,
|
||||
|
||||
Reference in New Issue
Block a user