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:
8
.github/scripts/test-dart.sh
vendored
8
.github/scripts/test-dart.sh
vendored
@@ -6,6 +6,10 @@ cd dart-api-examples
|
||||
|
||||
pushd non-streaming-asr
|
||||
|
||||
echo '----------Zipformer CTC----------'
|
||||
./run-zipformer-ctc.sh
|
||||
rm -rf sherpa-onnx-*
|
||||
|
||||
echo '----------SenseVoice----------'
|
||||
./run-sense-voice-with-hr.sh
|
||||
./run-sense-voice.sh
|
||||
@@ -114,6 +118,10 @@ popd
|
||||
|
||||
pushd vad-with-non-streaming-asr
|
||||
|
||||
echo '----------Zipformer CTC----------'
|
||||
./run-zipformer-ctc.sh
|
||||
rm -rf sherpa-onnx-*
|
||||
|
||||
echo '----------Dolphin CTC----------'
|
||||
./run-dolphin-ctc.sh
|
||||
rm -rf sherpa-onnx-*
|
||||
|
||||
75
.github/scripts/test-dot-net.sh
vendored
75
.github/scripts/test-dot-net.sh
vendored
@@ -6,43 +6,11 @@ cd ./version-test
|
||||
./run.sh
|
||||
ls -lh
|
||||
|
||||
cd ../speech-enhancement-gtcrn
|
||||
./run.sh
|
||||
ls -lh
|
||||
|
||||
cd ../kokoro-tts
|
||||
./run-kokoro.sh
|
||||
ls -lh
|
||||
|
||||
cd ../offline-tts
|
||||
./run-matcha-zh.sh
|
||||
ls -lh *.wav
|
||||
./run-matcha-en.sh
|
||||
ls -lh *.wav
|
||||
./run-aishell3.sh
|
||||
ls -lh *.wav
|
||||
./run-piper.sh
|
||||
ls -lh *.wav
|
||||
./run-hf-fanchen.sh
|
||||
ls -lh *.wav
|
||||
ls -lh
|
||||
|
||||
pushd ../..
|
||||
|
||||
mkdir tts
|
||||
|
||||
cp -v dotnet-examples/kokoro-tts/*.wav ./tts
|
||||
cp -v dotnet-examples/offline-tts/*.wav ./tts
|
||||
popd
|
||||
|
||||
cd ../offline-speaker-diarization
|
||||
./run.sh
|
||||
rm -rfv *.onnx
|
||||
rm -fv *.wav
|
||||
rm -rfv sherpa-onnx-pyannote-*
|
||||
|
||||
cd ../offline-decode-files
|
||||
|
||||
./run-zipformer-ctc.sh
|
||||
rm -rf sherpa-onnx-*
|
||||
|
||||
./run-dolphin-ctc.sh
|
||||
rm -rf sherpa-onnx-dolphin-base-ctc-multi-lang-int8-2025-04-02
|
||||
|
||||
@@ -82,6 +50,41 @@ rm -rf sherpa-onnx-*
|
||||
./run-tdnn-yesno.sh
|
||||
rm -rf sherpa-onnx-*
|
||||
|
||||
cd ../speech-enhancement-gtcrn
|
||||
./run.sh
|
||||
ls -lh
|
||||
|
||||
cd ../kokoro-tts
|
||||
./run-kokoro.sh
|
||||
ls -lh
|
||||
|
||||
cd ../offline-tts
|
||||
./run-matcha-zh.sh
|
||||
ls -lh *.wav
|
||||
./run-matcha-en.sh
|
||||
ls -lh *.wav
|
||||
./run-aishell3.sh
|
||||
ls -lh *.wav
|
||||
./run-piper.sh
|
||||
ls -lh *.wav
|
||||
./run-hf-fanchen.sh
|
||||
ls -lh *.wav
|
||||
ls -lh
|
||||
|
||||
pushd ../..
|
||||
|
||||
mkdir tts
|
||||
|
||||
cp -v dotnet-examples/kokoro-tts/*.wav ./tts
|
||||
cp -v dotnet-examples/offline-tts/*.wav ./tts
|
||||
popd
|
||||
|
||||
cd ../offline-speaker-diarization
|
||||
./run.sh
|
||||
rm -rfv *.onnx
|
||||
rm -fv *.wav
|
||||
rm -rfv sherpa-onnx-pyannote-*
|
||||
|
||||
cd ../keyword-spotting-from-files
|
||||
./run.sh
|
||||
|
||||
@@ -115,5 +118,3 @@ rm -rf sherpa-onnx-*
|
||||
cd ../spoken-language-identification
|
||||
./run.sh
|
||||
rm -rf sherpa-onnx-*
|
||||
|
||||
|
||||
|
||||
9
.github/scripts/test-nodejs-addon-npm.sh
vendored
9
.github/scripts/test-nodejs-addon-npm.sh
vendored
@@ -10,6 +10,15 @@ arch=$(node -p "require('os').arch()")
|
||||
platform=$(node -p "require('os').platform()")
|
||||
node_version=$(node -p "process.versions.node.split('.')[0]")
|
||||
|
||||
echo "----------non-streaming ASR Zipformer CTC----------"
|
||||
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-zipformer-ctc-zh-int8-2025-07-03.tar.bz2
|
||||
|
||||
tar xvf sherpa-onnx-zipformer-ctc-zh-int8-2025-07-03.tar.bz2
|
||||
rm sherpa-onnx-zipformer-ctc-zh-int8-2025-07-03.tar.bz2
|
||||
|
||||
node ./test_asr_non_streaming_zipformer_ctc.js
|
||||
rm -rf sherpa-onnx-zipformer-ctc-zh-int8-2025-07-03
|
||||
|
||||
echo "----------non-streaming ASR NeMo parakeet tdt----------"
|
||||
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-nemo-parakeet-tdt-0.6b-v2-int8.tar.bz2
|
||||
tar xvf sherpa-onnx-nemo-parakeet-tdt-0.6b-v2-int8.tar.bz2
|
||||
|
||||
9
.github/scripts/test-nodejs-npm.sh
vendored
9
.github/scripts/test-nodejs-npm.sh
vendored
@@ -9,6 +9,15 @@ git status
|
||||
ls -lh
|
||||
ls -lh node_modules
|
||||
|
||||
# asr with offline zipformer ctc
|
||||
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-zipformer-ctc-zh-int8-2025-07-03.tar.bz2
|
||||
|
||||
tar xvf sherpa-onnx-zipformer-ctc-zh-int8-2025-07-03.tar.bz2
|
||||
rm sherpa-onnx-zipformer-ctc-zh-int8-2025-07-03.tar.bz2
|
||||
|
||||
node ./test-offline-zipformer-ctc.js
|
||||
rm -rf sherpa-onnx-zipformer-ctc-zh-int8-2025-07-03
|
||||
|
||||
# asr with offline dolphin ctc
|
||||
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-dolphin-base-ctc-multi-lang-int8-2025-04-02.tar.bz2
|
||||
tar xvf sherpa-onnx-dolphin-base-ctc-multi-lang-int8-2025-04-02.tar.bz2
|
||||
|
||||
3
.github/scripts/test-swift.sh
vendored
3
.github/scripts/test-swift.sh
vendored
@@ -9,6 +9,9 @@ ls -lh
|
||||
|
||||
./run-test-version.sh
|
||||
|
||||
./run-zipformer-ctc-asr.sh
|
||||
rm -rf sherpa-onnx-zipformer-*
|
||||
|
||||
./run-decode-file-sense-voice-with-hr.sh
|
||||
rm -rf sherpa-onnx-sense-voice-*
|
||||
rm -rf dict lexicon.txt replace.fst test-hr.wav
|
||||
|
||||
Reference in New Issue
Block a user