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:
Fangjun Kuang
2025-07-04 15:57:07 +08:00
committed by GitHub
parent ef16455cb5
commit 3bf986d08d
71 changed files with 2121 additions and 68 deletions

View File

@@ -37,7 +37,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, macos-13, windows-latest]
os: [ubuntu-latest, macos-latest, macos-13, windows-latest, ubuntu-22.04-arm]
steps:
- uses: actions/checkout@v4
@@ -56,7 +56,7 @@ jobs:
key: ${{ matrix.os }}
- name: Install Free pascal compiler (ubuntu)
if: matrix.os == 'ubuntu-latest'
if: matrix.os == 'ubuntu-latest' || matrix.os == 'ubuntu-22.04-arm'
shell: bash
run: |
sudo apt-get update
@@ -156,6 +156,10 @@ jobs:
pushd non-streaming-asr
./run-zipformer-ctc.sh
rm -rf sherpa-onnx-*
echo "---"
./run-dolphin-ctc.sh
rm -rf sherpa-onnx-*
echo "---"
@@ -264,9 +268,12 @@ jobs:
cd ./pascal-api-examples
pushd vad-with-non-streaming-asr
time ./run-vad-with-zipformer-ctc.sh
rm -rf sherpa-onnx-*
echo "---"
time ./run-vad-with-dolphin-ctc.sh
rm -rf sherpa-onnx-*
echo "---"