Support non-streaming zipformer CTC ASR models (#2340)
This PR adds support for non-streaming Zipformer CTC ASR models across multiple language bindings, WebAssembly, examples, and CI workflows. - Introduces a new OfflineZipformerCtcModelConfig in C/C++, Python, Swift, Java, Kotlin, Go, Dart, Pascal, and C# APIs - Updates initialization, freeing, and recognition logic to include Zipformer CTC in WASM and Node.js - Adds example scripts and CI steps for downloading, building, and running Zipformer CTC models Model doc is available at https://k2-fsa.github.io/sherpa/onnx/pretrained_models/offline-ctc/icefall/zipformer.html
This commit is contained in:
@@ -269,6 +269,21 @@ static OfflineRecognizerConfig GetOfflineConfig(JNIEnv *env, jobject config) {
|
||||
ans.model_config.nemo_ctc.model = p;
|
||||
env->ReleaseStringUTFChars(s, p);
|
||||
|
||||
// zipformer ctc
|
||||
fid =
|
||||
env->GetFieldID(model_config_cls, "zipformerCtc",
|
||||
"Lcom/k2fsa/sherpa/onnx/OfflineZipformerCtcModelConfig;");
|
||||
jobject zipformer_ctc_config = env->GetObjectField(model_config, fid);
|
||||
jclass zipformer_ctc_config_cls = env->GetObjectClass(zipformer_ctc_config);
|
||||
|
||||
fid =
|
||||
env->GetFieldID(zipformer_ctc_config_cls, "model", "Ljava/lang/String;");
|
||||
|
||||
s = (jstring)env->GetObjectField(zipformer_ctc_config, fid);
|
||||
p = env->GetStringUTFChars(s, nullptr);
|
||||
ans.model_config.zipformer_ctc.model = p;
|
||||
env->ReleaseStringUTFChars(s, p);
|
||||
|
||||
// dolphin
|
||||
fid = env->GetFieldID(model_config_cls, "dolphin",
|
||||
"Lcom/k2fsa/sherpa/onnx/OfflineDolphinModelConfig;");
|
||||
|
||||
Reference in New Issue
Block a user