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.
Adds support for building and packaging Linux AArch64 (arm64) artifacts alongside x64 for Dart/Flutter plugins.
- Detects host architecture in CMake and adjusts library paths
- Extends test workflows to run on an ARM runner and handle linux-aarch64 paths
- Splits release pipeline into separate x64 and aarch64 build/package jobs
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
It refactors the release scripts to centralize and simplify version updates across
multiple files. Key changes include:
- Introducing variables (old_version, new_version, replace_str) for version substitution.
- Replacing hard-coded sed expressions with dynamic ones in various files.
- Ensuring backup files generated by sed are cleaned up after execution.
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
Replace the deprecated portaudio-go integration with malgo in the Go real-time
speech recognition example and correct version string typos in the Node.js examples.
- Fixed “verison” typo in Node.js console logs.
- Swapped out portaudio-go for malgo in the Go microphone example,
introducing initRecognizer, callback-driven streaming, and sample conversion.
- Removed portaudio-go from go.mod.