Add support for the NeMo Canary model in both Java and Kotlin APIs, wiring it through
JNI and updating examples and CI.
- Introduce OfflineCanaryModelConfig in Kotlin and Java with builder patterns
- Extend OfflineRecognizer to accept and apply the new canary config via setConfig
- Update JNI binding (GetOfflineConfig) and getOfflineModelConfig mapping (type 32),
plus examples and CI workflows
This PR introduces support for NeMo Canary models across C, C++, and JavaScript APIs
by adding new Canary configuration structures, updating bindings, extending examples,
and enhancing CI workflows.
- Add OfflineCanaryModelConfig to all language bindings (C, C++, JS, ETS).
- Implement SetConfig methods and NAPI wrappers for updating recognizer config at runtime.
- Update examples and CI scripts to demonstrate and test NeMo Canary model usage.
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
Adds support for Zipformer transducer ASR models that use Whisper-style
features by introducing a new feature flag, parsing metadata,
and integrating per-chunk normalization.
- Introduce UseWhisperFeature in the model interface and Zipformer implementation
- Parse "feature" metadata to set the whisper flag and wire it into the recognizer
- Update feature extraction logic to handle Whisper filterbanks with early returns
* online-transducer: reset the encoder toghter with 2 previous output symbols (non-blank)
- added `reset_encoder` boolean member into the OnlineRecognizerConfig class
- by default the encoder is not reset
* pybind11, adding empty symbols for disabled modules (tts, diarization)
* reset_encoder, add default value (false) [pybind11]