Copy disabled (too large)
Download .txt
Showing preview only (13,985K chars total). Download the full file to get everything.
Repository: k2-fsa/sherpa-onnx
Branch: master
Commit: e0ab4a8beb10
Files: 4274
Total size: 12.5 MB
Directory structure:
gitextract_zccx8fk8/
├── .clang-format
├── .clang-tidy
├── .flake8
├── .github/
│ ├── scripts/
│ │ ├── .gitignore
│ │ ├── as-cmake-sub-project/
│ │ │ ├── CMakeLists.txt
│ │ │ └── main.cc
│ │ ├── export-ascend/
│ │ │ ├── __init__.py
│ │ │ ├── generate_paraformer.py
│ │ │ ├── generate_sense_voice.py
│ │ │ ├── generate_whisper.py
│ │ │ └── generate_zipformer_ctc_20250703.py
│ │ ├── export-qnn/
│ │ │ ├── __init__.py
│ │ │ ├── generate_paraformer.py
│ │ │ ├── generate_sense_voice.py
│ │ │ └── generate_zipformer.py
│ │ ├── node-addon/
│ │ │ ├── README-optional.md
│ │ │ ├── README.md
│ │ │ ├── index.js
│ │ │ ├── notes.md
│ │ │ ├── package-optional.json
│ │ │ └── package.json
│ │ ├── test-audio-tagging.sh
│ │ ├── test-c-api.sh
│ │ ├── test-cxx-api.sh
│ │ ├── test-dart.sh
│ │ ├── test-dot-net.sh
│ │ ├── test-kws.sh
│ │ ├── test-nodejs-addon-npm.sh
│ │ ├── test-nodejs-npm.sh
│ │ ├── test-offline-ctc.sh
│ │ ├── test-offline-fire-red-asr.sh
│ │ ├── test-offline-moonshine.sh
│ │ ├── test-offline-punctuation.sh
│ │ ├── test-offline-source-separation.sh
│ │ ├── test-offline-speech-denoiser.sh
│ │ ├── test-offline-transducer.sh
│ │ ├── test-offline-tts.sh
│ │ ├── test-offline-whisper.sh
│ │ ├── test-online-ctc.sh
│ │ ├── test-online-paraformer.sh
│ │ ├── test-online-punctuation.sh
│ │ ├── test-online-transducer.sh
│ │ ├── test-python.sh
│ │ ├── test-rust.sh
│ │ ├── test-speaker-diarization.sh
│ │ ├── test-speaker-recognition-python.sh
│ │ ├── test-spoken-language-identification.sh
│ │ └── test-swift.sh
│ └── workflows/
│ ├── .gitignore
│ ├── aarch64-linux-gnu-shared.yaml
│ ├── aarch64-linux-gnu-static.yaml
│ ├── add-new-asr-models.yaml
│ ├── android-rknn.yaml
│ ├── android-static.yaml
│ ├── android.yaml
│ ├── apk-asr-2pass.yaml
│ ├── apk-asr.yaml
│ ├── apk-audio-tagging-wearos.yaml
│ ├── apk-audio-tagging.yaml
│ ├── apk-kws.yaml
│ ├── apk-qnn-vad-asr-simulated-streaming.yaml
│ ├── apk-speaker-diarization.yaml
│ ├── apk-speaker-identification.yaml
│ ├── apk-spoken-language-identification.yaml
│ ├── apk-tts-engine.yaml
│ ├── apk-tts.yaml
│ ├── apk-vad-asr-simulated-streaming.yaml
│ ├── apk-vad-asr.yaml
│ ├── apk-vad.yaml
│ ├── arm-linux-gnueabihf.yaml
│ ├── as_cmake_sub_project.yaml
│ ├── ascend.yaml
│ ├── axcl-linux-aarch64.yaml
│ ├── axera-linux-aarch64.yaml
│ ├── build-wheels-aarch64-cuda.yaml
│ ├── build-wheels-aarch64-rknn.yaml
│ ├── build-wheels-aarch64.yaml
│ ├── build-wheels-armv7l.yaml
│ ├── build-wheels-linux-cuda.yaml
│ ├── build-wheels-linux.yaml
│ ├── build-wheels-macos-arm64.yaml
│ ├── build-wheels-macos-universal2.yaml
│ ├── build-wheels-macos-x64.yaml
│ ├── build-wheels-win32.yaml
│ ├── build-wheels-win64-cuda.yaml
│ ├── build-wheels-win64.yaml
│ ├── build-xcframework.yaml
│ ├── c-api-from-buffer.yaml
│ ├── c-api.yaml
│ ├── checksum.yaml
│ ├── clang-tidy.yaml
│ ├── cxx-api.yaml
│ ├── dot-net.yaml
│ ├── export-3dspeaker-to-onnx.yaml
│ ├── export-ced-to-onnx.yaml
│ ├── export-dophin-ctc-to-onnx.yaml
│ ├── export-fire-red-asr.yaml
│ ├── export-gtcrn.yaml
│ ├── export-kitten.yaml
│ ├── export-kokoro.yaml
│ ├── export-libriheavy.yaml
│ ├── export-matcha-fa-en.yaml
│ ├── export-matcha-zh-en.yaml
│ ├── export-medasr-ctc-to-onnx.yaml
│ ├── export-melo-tts-to-onnx.yaml
│ ├── export-moonshine-to-onnx.yaml
│ ├── export-nemo-canary-180m-flash.yaml
│ ├── export-nemo-fast-conformer-hybrid-transducer-ctc-non-streaming.yaml
│ ├── export-nemo-fast-conformer-hybrid-transducer-ctc.yaml
│ ├── export-nemo-fast-conformer-hybrid-transducer-transducer-non-streaming.yaml
│ ├── export-nemo-fast-conformer-hybrid-transducer-transducer.yaml
│ ├── export-nemo-giga-am-to-onnx.yaml
│ ├── export-nemo-parakeet-tdt-0.6b-v2.yaml
│ ├── export-nemo-parakeet-tdt.yaml
│ ├── export-nemo-speaker-verification-to-onnx.yaml
│ ├── export-nemotron-speech-streaming-en-0.6b.yaml
│ ├── export-omnilingual-asr-to-onnx.yaml
│ ├── export-paraformer-to-ascend-npu.yaml
│ ├── export-paraformer-to-qnn.yaml
│ ├── export-paraformer-to-rknn.yaml
│ ├── export-peng-cheng-starling.yaml
│ ├── export-piper.yaml
│ ├── export-pocket-tts.yaml
│ ├── export-pyannote-segmentation-to-onnx.yaml
│ ├── export-revai-segmentation-to-onnx.yaml
│ ├── export-russian-onnx-models.yaml
│ ├── export-sense-voice-to-ascend-npu.yaml
│ ├── export-sense-voice-to-onnx.yaml
│ ├── export-sense-voice-to-qnn.yaml
│ ├── export-sense-voice-to-rknn.yaml
│ ├── export-silero-vad-rknn.yaml
│ ├── export-spleeter-to-onnx.yaml
│ ├── export-supertonic.yaml
│ ├── export-t-one-to-onnx.yaml
│ ├── export-telespeech-ctc.yaml
│ ├── export-uvr-to-onnx.yaml
│ ├── export-vits-ljspeech-to-onnx.yaml
│ ├── export-vocos.yaml
│ ├── export-wenet-to-onnx.yaml
│ ├── export-wespeaker-to-onnx.yaml
│ ├── export-whisper-to-ascend-npu.yaml
│ ├── export-whisper-to-onnx.yaml
│ ├── export-zipformer-ctc-to-ascend-20250703.yaml
│ ├── export-zipformer-ctc-to-qnn-20250703.yaml
│ ├── flutter-android.yaml
│ ├── flutter-linux.yaml
│ ├── flutter-macos.yaml
│ ├── flutter-windows-x64.yaml
│ ├── generate-tts-samples.yaml
│ ├── hap-vad-asr.yaml
│ ├── har.yaml
│ ├── harmony-os.yaml
│ ├── jar.yaml
│ ├── jni.yaml
│ ├── lazarus.yaml
│ ├── linux-gpu.yaml
│ ├── linux-jni-aarch64.yaml
│ ├── linux-jni.yaml
│ ├── linux.yaml
│ ├── macos-jni.yaml
│ ├── macos.yaml
│ ├── mfc.yaml
│ ├── mobile-asr-models.yaml
│ ├── mobile-kws-models.yaml
│ ├── nightly-wheel-arm.yaml
│ ├── npm-addon-linux-aarch64.yaml
│ ├── npm-addon-linux-x64.yaml
│ ├── npm-addon-macos.yaml
│ ├── npm-addon-win-x64.yaml
│ ├── npm-addon-win-x86.yaml
│ ├── npm-addon.yaml
│ ├── npm.yaml
│ ├── pascal.yaml
│ ├── pkg-config.yaml
│ ├── release-dart-package.yaml
│ ├── release-go.yaml
│ ├── release-rust.yaml
│ ├── riscv64-linux.yaml
│ ├── riscv64-spacemit-linux.yaml
│ ├── rknn-linux-aarch64.yaml
│ ├── run-java-test.yaml
│ ├── run-python-test-macos.yaml
│ ├── run-python-test.yaml
│ ├── sanitizer.yaml
│ ├── speaker-diarization.yaml
│ ├── style_check.yaml
│ ├── swift.yaml
│ ├── test-build-wheel.yaml
│ ├── test-dart-package.yaml
│ ├── test-dart.yaml
│ ├── test-dot-net-nuget.yaml
│ ├── test-dot-net.yaml
│ ├── test-go-package.yaml
│ ├── test-go.yaml
│ ├── test-nodejs-addon-api.yaml
│ ├── test-nodejs-addon-npm-aarch64.yaml
│ ├── test-nodejs-addon-npm-win-x86.yaml
│ ├── test-nodejs-addon-npm.yaml
│ ├── test-nodejs-npm.yaml
│ ├── test-nodejs.yaml
│ ├── test-onnxruntime-version.yaml
│ ├── test-pip-install.yaml
│ ├── test-piper-phonemize.yaml
│ ├── test-python-offline-websocket-server.yaml
│ ├── test-python-online-websocket-server.yaml
│ ├── test-rust-package.yaml
│ ├── test-rust.yaml
│ ├── upload-models.yaml
│ ├── upload-zipvoice-models.yaml
│ ├── wasm-simd-hf-space-en-asr-zipformer.yaml
│ ├── wasm-simd-hf-space-silero-vad.yaml
│ ├── wasm-simd-hf-space-speaker-diarization.yaml
│ ├── wasm-simd-hf-space-speech-enhancement-gtcrn.yaml
│ ├── wasm-simd-hf-space-ten-vad.yaml
│ ├── wasm-simd-hf-space-tts.yaml
│ ├── wasm-simd-hf-space-vad-asr.yaml
│ ├── wasm-simd-hf-space-zh-cantonese-en-asr-paraformer.yaml
│ ├── wasm-simd-hf-space-zh-en-asr-paraformer.yaml
│ ├── wasm-simd-hf-space-zh-en-asr-zipformer.yaml
│ ├── windows-arm64.yaml
│ ├── windows-x64-cuda.yaml
│ ├── windows-x64-jni.yaml
│ ├── windows-x64.yaml
│ └── windows-x86.yaml
├── .gitignore
├── CHANGELOG.md
├── CMakeLists.txt
├── CPPLINT.cfg
├── LICENSE
├── MANIFEST.in
├── README.md
├── android/
│ ├── .gitignore
│ ├── README.md
│ ├── SherpaOnnx/
│ │ ├── .gitignore
│ │ ├── app/
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src/
│ │ │ ├── androidTest/
│ │ │ │ └── java/
│ │ │ │ └── com/
│ │ │ │ └── k2fsa/
│ │ │ │ └── sherpa/
│ │ │ │ └── onnx/
│ │ │ │ └── ExampleInstrumentedTest.kt
│ │ │ ├── main/
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── java/
│ │ │ │ │ └── com/
│ │ │ │ │ └── k2fsa/
│ │ │ │ │ └── sherpa/
│ │ │ │ │ └── onnx/
│ │ │ │ │ └── MainActivity.kt
│ │ │ │ ├── jniLibs/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── arm64-v8a/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ ├── armeabi-v7a/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ ├── x86/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ └── x86_64/
│ │ │ │ │ └── .gitkeep
│ │ │ │ └── res/
│ │ │ │ ├── drawable/
│ │ │ │ │ └── ic_launcher_background.xml
│ │ │ │ ├── drawable-v24/
│ │ │ │ │ └── ic_launcher_foreground.xml
│ │ │ │ ├── layout/
│ │ │ │ │ └── activity_main.xml
│ │ │ │ ├── mipmap-anydpi-v26/
│ │ │ │ │ ├── ic_launcher.xml
│ │ │ │ │ └── ic_launcher_round.xml
│ │ │ │ ├── values/
│ │ │ │ │ ├── colors.xml
│ │ │ │ │ ├── strings.xml
│ │ │ │ │ └── themes.xml
│ │ │ │ ├── values-night/
│ │ │ │ │ └── themes.xml
│ │ │ │ └── xml/
│ │ │ │ ├── backup_rules.xml
│ │ │ │ └── data_extraction_rules.xml
│ │ │ └── test/
│ │ │ └── java/
│ │ │ └── com/
│ │ │ └── k2fsa/
│ │ │ └── sherpa/
│ │ │ └── onnx/
│ │ │ └── ExampleUnitTest.kt
│ │ ├── build.gradle
│ │ ├── gradle/
│ │ │ └── wrapper/
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ └── settings.gradle
│ ├── SherpaOnnx2Pass/
│ │ ├── .gitignore
│ │ ├── app/
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src/
│ │ │ ├── androidTest/
│ │ │ │ └── java/
│ │ │ │ └── com/
│ │ │ │ └── k2fsa/
│ │ │ │ └── sherpa/
│ │ │ │ └── onnx/
│ │ │ │ └── ExampleInstrumentedTest.kt
│ │ │ ├── main/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── assets/
│ │ │ │ │ └── .gitkeep
│ │ │ │ ├── java/
│ │ │ │ │ └── com/
│ │ │ │ │ └── k2fsa/
│ │ │ │ │ └── sherpa/
│ │ │ │ │ └── onnx/
│ │ │ │ │ └── MainActivity.kt
│ │ │ │ ├── jniLibs/
│ │ │ │ │ ├── .gitkeep
│ │ │ │ │ ├── arm64-v8a/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ ├── armeabi-v7a/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ ├── x86/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ └── x86_64/
│ │ │ │ │ └── .gitkeep
│ │ │ │ └── res/
│ │ │ │ ├── drawable/
│ │ │ │ │ └── ic_launcher_background.xml
│ │ │ │ ├── drawable-v24/
│ │ │ │ │ └── ic_launcher_foreground.xml
│ │ │ │ ├── layout/
│ │ │ │ │ └── activity_main.xml
│ │ │ │ ├── mipmap-anydpi-v26/
│ │ │ │ │ ├── ic_launcher.xml
│ │ │ │ │ └── ic_launcher_round.xml
│ │ │ │ ├── values/
│ │ │ │ │ ├── colors.xml
│ │ │ │ │ ├── strings.xml
│ │ │ │ │ └── themes.xml
│ │ │ │ ├── values-night/
│ │ │ │ │ └── themes.xml
│ │ │ │ └── xml/
│ │ │ │ ├── backup_rules.xml
│ │ │ │ └── data_extraction_rules.xml
│ │ │ └── test/
│ │ │ └── java/
│ │ │ └── com/
│ │ │ └── k2fsa/
│ │ │ └── sherpa/
│ │ │ └── onnx/
│ │ │ └── ExampleUnitTest.kt
│ │ ├── build.gradle
│ │ ├── gradle/
│ │ │ └── wrapper/
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ └── settings.gradle
│ ├── SherpaOnnxAar/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── build.gradle.kts
│ │ ├── gradle/
│ │ │ ├── libs.versions.toml
│ │ │ └── wrapper/
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ ├── settings.gradle.kts
│ │ └── sherpa_onnx/
│ │ ├── .gitignore
│ │ ├── build.gradle.kts
│ │ ├── consumer-rules.pro
│ │ ├── proguard-rules.pro
│ │ └── src/
│ │ ├── androidTest/
│ │ │ └── java/
│ │ │ └── com/
│ │ │ └── k2fsa/
│ │ │ └── sherpa/
│ │ │ └── onnx/
│ │ │ └── ExampleInstrumentedTest.kt
│ │ ├── main/
│ │ │ ├── AndroidManifest.xml
│ │ │ └── jniLibs/
│ │ │ ├── arm64-v8a/
│ │ │ │ └── .gitkeep
│ │ │ ├── armeabi-v7a/
│ │ │ │ └── .gitkeep
│ │ │ ├── x86/
│ │ │ │ └── .gitkeep
│ │ │ └── x86_64/
│ │ │ └── .gitkeep
│ │ └── test/
│ │ └── java/
│ │ └── com/
│ │ └── k2fsa/
│ │ └── sherpa/
│ │ └── onnx/
│ │ └── ExampleUnitTest.kt
│ ├── SherpaOnnxAudioTagging/
│ │ ├── .gitignore
│ │ ├── app/
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle.kts
│ │ │ ├── proguard-rules.pro
│ │ │ └── src/
│ │ │ ├── androidTest/
│ │ │ │ └── java/
│ │ │ │ └── com/
│ │ │ │ └── k2fsa/
│ │ │ │ └── sherpa/
│ │ │ │ └── onnx/
│ │ │ │ └── audio/
│ │ │ │ └── tagging/
│ │ │ │ └── ExampleInstrumentedTest.kt
│ │ │ ├── main/
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── assets/
│ │ │ │ │ └── .gitignore
│ │ │ │ ├── java/
│ │ │ │ │ └── com/
│ │ │ │ │ └── k2fsa/
│ │ │ │ │ └── sherpa/
│ │ │ │ │ └── onnx/
│ │ │ │ │ └── audio/
│ │ │ │ │ └── tagging/
│ │ │ │ │ ├── Home.kt
│ │ │ │ │ ├── MainActivity.kt
│ │ │ │ │ ├── Tagger.kt
│ │ │ │ │ └── ui/
│ │ │ │ │ └── theme/
│ │ │ │ │ ├── Color.kt
│ │ │ │ │ ├── Theme.kt
│ │ │ │ │ └── Type.kt
│ │ │ │ ├── jniLibs/
│ │ │ │ │ ├── arm64-v8a/
│ │ │ │ │ │ └── .gitignore
│ │ │ │ │ ├── armeabi-v7a/
│ │ │ │ │ │ └── .gitignore
│ │ │ │ │ ├── x86/
│ │ │ │ │ │ └── .gitignore
│ │ │ │ │ └── x86_64/
│ │ │ │ │ └── .gitignore
│ │ │ │ └── res/
│ │ │ │ ├── drawable/
│ │ │ │ │ └── ic_launcher_background.xml
│ │ │ │ ├── drawable-v24/
│ │ │ │ │ └── ic_launcher_foreground.xml
│ │ │ │ ├── mipmap-anydpi-v26/
│ │ │ │ │ ├── ic_launcher.xml
│ │ │ │ │ └── ic_launcher_round.xml
│ │ │ │ ├── values/
│ │ │ │ │ ├── colors.xml
│ │ │ │ │ ├── strings.xml
│ │ │ │ │ └── themes.xml
│ │ │ │ └── xml/
│ │ │ │ ├── backup_rules.xml
│ │ │ │ └── data_extraction_rules.xml
│ │ │ └── test/
│ │ │ └── java/
│ │ │ └── com/
│ │ │ └── k2fsa/
│ │ │ └── sherpa/
│ │ │ └── onnx/
│ │ │ └── audio/
│ │ │ └── tagging/
│ │ │ └── ExampleUnitTest.kt
│ │ ├── build.gradle.kts
│ │ ├── gradle/
│ │ │ └── wrapper/
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ └── settings.gradle.kts
│ ├── SherpaOnnxAudioTaggingWearOs/
│ │ ├── .gitignore
│ │ ├── app/
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle.kts
│ │ │ ├── lint.xml
│ │ │ ├── proguard-rules.pro
│ │ │ └── src/
│ │ │ └── main/
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── assets/
│ │ │ │ └── .gitignore
│ │ │ ├── java/
│ │ │ │ └── com/
│ │ │ │ └── k2fsa/
│ │ │ │ └── sherpa/
│ │ │ │ └── onnx/
│ │ │ │ └── audio/
│ │ │ │ └── tagging/
│ │ │ │ └── wear/
│ │ │ │ └── os/
│ │ │ │ └── presentation/
│ │ │ │ ├── HomeScreen.kt
│ │ │ │ ├── MainActivity.kt
│ │ │ │ └── theme/
│ │ │ │ └── Theme.kt
│ │ │ ├── jniLibs/
│ │ │ │ ├── arm64-v8a/
│ │ │ │ │ └── .gitignore
│ │ │ │ ├── armeabi-v7a/
│ │ │ │ │ └── .gitignore
│ │ │ │ ├── x86/
│ │ │ │ │ └── .gitignore
│ │ │ │ └── x86_64/
│ │ │ │ └── .gitignore
│ │ │ └── res/
│ │ │ ├── drawable/
│ │ │ │ └── splash_icon.xml
│ │ │ ├── values/
│ │ │ │ ├── strings.xml
│ │ │ │ └── styles.xml
│ │ │ └── values-round/
│ │ │ └── strings.xml
│ │ ├── build.gradle.kts
│ │ ├── gradle/
│ │ │ └── wrapper/
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ └── settings.gradle.kts
│ ├── SherpaOnnxJavaDemo/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── app/
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src/
│ │ │ └── main/
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── assets/
│ │ │ │ └── .gitkeep
│ │ │ ├── java/
│ │ │ │ └── com/
│ │ │ │ └── k2fsa/
│ │ │ │ └── sherpa/
│ │ │ │ └── onnx/
│ │ │ │ ├── AppViewModel.java
│ │ │ │ ├── Application.java
│ │ │ │ ├── MainActivity.java
│ │ │ │ └── service/
│ │ │ │ └── SpeechSherpaRecognitionService.java
│ │ │ └── res/
│ │ │ ├── drawable/
│ │ │ │ ├── ic_bg_mic_24.xml
│ │ │ │ └── ic_launcher_background.xml
│ │ │ ├── drawable-v24/
│ │ │ │ └── ic_launcher_foreground.xml
│ │ │ ├── layout/
│ │ │ │ └── activity_main.xml
│ │ │ ├── mipmap-anydpi-v26/
│ │ │ │ ├── ic_launcher.xml
│ │ │ │ └── ic_launcher_round.xml
│ │ │ ├── values/
│ │ │ │ ├── colors.xml
│ │ │ │ ├── strings.xml
│ │ │ │ └── themes.xml
│ │ │ ├── values-night/
│ │ │ │ └── themes.xml
│ │ │ └── xml/
│ │ │ ├── backup_rules.xml
│ │ │ └── data_extraction_rules.xml
│ │ ├── build.gradle
│ │ ├── gradle/
│ │ │ └── wrapper/
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ └── settings.gradle
│ ├── SherpaOnnxKws/
│ │ ├── .gitignore
│ │ ├── app/
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src/
│ │ │ ├── androidTest/
│ │ │ │ └── java/
│ │ │ │ └── com/
│ │ │ │ └── k2fsa/
│ │ │ │ └── sherpa/
│ │ │ │ └── onnx/
│ │ │ │ └── ExampleInstrumentedTest.kt
│ │ │ ├── main/
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── assets/
│ │ │ │ │ └── .gitkeep
│ │ │ │ ├── java/
│ │ │ │ │ └── com/
│ │ │ │ │ └── k2fsa/
│ │ │ │ │ └── sherpa/
│ │ │ │ │ └── onnx/
│ │ │ │ │ └── MainActivity.kt
│ │ │ │ ├── jniLibs/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── arm64-v8a/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ ├── armeabi-v7a/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ ├── x86/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ └── x86_64/
│ │ │ │ │ └── .gitkeep
│ │ │ │ └── res/
│ │ │ │ ├── drawable/
│ │ │ │ │ └── ic_launcher_background.xml
│ │ │ │ ├── drawable-v24/
│ │ │ │ │ └── ic_launcher_foreground.xml
│ │ │ │ ├── layout/
│ │ │ │ │ └── activity_main.xml
│ │ │ │ ├── mipmap-anydpi-v26/
│ │ │ │ │ ├── ic_launcher.xml
│ │ │ │ │ └── ic_launcher_round.xml
│ │ │ │ ├── values/
│ │ │ │ │ ├── colors.xml
│ │ │ │ │ ├── strings.xml
│ │ │ │ │ └── themes.xml
│ │ │ │ ├── values-night/
│ │ │ │ │ └── themes.xml
│ │ │ │ └── xml/
│ │ │ │ ├── backup_rules.xml
│ │ │ │ └── data_extraction_rules.xml
│ │ │ └── test/
│ │ │ └── java/
│ │ │ └── com/
│ │ │ └── k2fsa/
│ │ │ └── sherpa/
│ │ │ └── onnx/
│ │ │ └── ExampleUnitTest.kt
│ │ ├── build.gradle
│ │ ├── gradle/
│ │ │ └── wrapper/
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ └── settings.gradle
│ ├── SherpaOnnxSimulateStreamingAsr/
│ │ ├── .gitignore
│ │ ├── app/
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle.kts
│ │ │ ├── proguard-rules.pro
│ │ │ └── src/
│ │ │ ├── androidTest/
│ │ │ │ └── java/
│ │ │ │ └── com/
│ │ │ │ └── k2fsa/
│ │ │ │ └── sherpa/
│ │ │ │ └── onnx/
│ │ │ │ └── simulate/
│ │ │ │ └── streaming/
│ │ │ │ └── asr/
│ │ │ │ └── ExampleInstrumentedTest.kt
│ │ │ ├── main/
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── assets/
│ │ │ │ │ └── .gitkeep
│ │ │ │ ├── java/
│ │ │ │ │ └── com/
│ │ │ │ │ └── k2fsa/
│ │ │ │ │ └── sherpa/
│ │ │ │ │ └── onnx/
│ │ │ │ │ └── simulate/
│ │ │ │ │ └── streaming/
│ │ │ │ │ └── asr/
│ │ │ │ │ ├── BarItem.kt
│ │ │ │ │ ├── MainActivity.kt
│ │ │ │ │ ├── NavBarItems.kt
│ │ │ │ │ ├── NavRoutes.kt
│ │ │ │ │ ├── SimulateStreamingAsr.kt
│ │ │ │ │ ├── screens/
│ │ │ │ │ │ ├── Help.kt
│ │ │ │ │ │ └── Home.kt
│ │ │ │ │ └── ui/
│ │ │ │ │ └── theme/
│ │ │ │ │ ├── Color.kt
│ │ │ │ │ ├── Theme.kt
│ │ │ │ │ └── Type.kt
│ │ │ │ ├── jniLibs/
│ │ │ │ │ ├── arm64-v8a/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ ├── armeabi-v7a/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ ├── x86/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ └── x86_64/
│ │ │ │ │ └── .gitkeep
│ │ │ │ └── res/
│ │ │ │ ├── drawable/
│ │ │ │ │ └── ic_launcher_background.xml
│ │ │ │ ├── drawable-v24/
│ │ │ │ │ └── ic_launcher_foreground.xml
│ │ │ │ ├── mipmap-anydpi-v26/
│ │ │ │ │ ├── ic_launcher.xml
│ │ │ │ │ └── ic_launcher_round.xml
│ │ │ │ ├── values/
│ │ │ │ │ ├── colors.xml
│ │ │ │ │ ├── strings.xml
│ │ │ │ │ └── themes.xml
│ │ │ │ └── xml/
│ │ │ │ ├── backup_rules.xml
│ │ │ │ └── data_extraction_rules.xml
│ │ │ └── test/
│ │ │ └── java/
│ │ │ └── com/
│ │ │ └── k2fsa/
│ │ │ └── sherpa/
│ │ │ └── onnx/
│ │ │ └── simulate/
│ │ │ └── streaming/
│ │ │ └── asr/
│ │ │ └── ExampleUnitTest.kt
│ │ ├── build.gradle.kts
│ │ ├── gradle/
│ │ │ ├── libs.versions.toml
│ │ │ └── wrapper/
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ └── settings.gradle.kts
│ ├── SherpaOnnxSimulateStreamingAsrWearOs/
│ │ ├── .gitignore
│ │ ├── app/
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle.kts
│ │ │ ├── lint.xml
│ │ │ ├── proguard-rules.pro
│ │ │ └── src/
│ │ │ └── main/
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── assets/
│ │ │ │ └── .gitignore
│ │ │ ├── java/
│ │ │ │ └── com/
│ │ │ │ └── k2fsa/
│ │ │ │ └── sherpa/
│ │ │ │ └── onnx/
│ │ │ │ └── simulate/
│ │ │ │ └── streaming/
│ │ │ │ └── asr/
│ │ │ │ └── wear/
│ │ │ │ └── os/
│ │ │ │ └── presentation/
│ │ │ │ ├── HomeScreen.kt
│ │ │ │ ├── MainActivity.kt
│ │ │ │ ├── SimulateStreamingAsr.kt
│ │ │ │ └── theme/
│ │ │ │ └── Theme.kt
│ │ │ └── res/
│ │ │ ├── drawable/
│ │ │ │ └── splash_icon.xml
│ │ │ ├── values/
│ │ │ │ ├── strings.xml
│ │ │ │ └── styles.xml
│ │ │ └── values-round/
│ │ │ └── strings.xml
│ │ ├── build.gradle.kts
│ │ ├── gradle/
│ │ │ ├── libs.versions.toml
│ │ │ └── wrapper/
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ └── settings.gradle.kts
│ ├── SherpaOnnxSpeakerDiarization/
│ │ ├── .gitignore
│ │ ├── app/
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle.kts
│ │ │ ├── proguard-rules.pro
│ │ │ └── src/
│ │ │ ├── androidTest/
│ │ │ │ └── java/
│ │ │ │ └── com/
│ │ │ │ └── k2fsa/
│ │ │ │ └── sherpa/
│ │ │ │ └── onnx/
│ │ │ │ └── speaker/
│ │ │ │ └── diarization/
│ │ │ │ └── ExampleInstrumentedTest.kt
│ │ │ ├── main/
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── assets/
│ │ │ │ │ └── .gitkeep
│ │ │ │ ├── java/
│ │ │ │ │ └── com/
│ │ │ │ │ └── k2fsa/
│ │ │ │ │ └── sherpa/
│ │ │ │ │ └── onnx/
│ │ │ │ │ └── speaker/
│ │ │ │ │ └── diarization/
│ │ │ │ │ ├── BarItem.kt
│ │ │ │ │ ├── MainActivity.kt
│ │ │ │ │ ├── NavBarItems.kt
│ │ │ │ │ ├── NavRoutes.kt
│ │ │ │ │ ├── ReadWaveFile.kt
│ │ │ │ │ ├── SpeakerDiarizationObject.kt
│ │ │ │ │ ├── screens/
│ │ │ │ │ │ ├── Help.kt
│ │ │ │ │ │ └── Home.kt
│ │ │ │ │ └── ui/
│ │ │ │ │ └── theme/
│ │ │ │ │ ├── Color.kt
│ │ │ │ │ ├── Theme.kt
│ │ │ │ │ └── Type.kt
│ │ │ │ ├── jniLibs/
│ │ │ │ │ ├── arm64-v8a/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ ├── armeabi-v7a/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ ├── x86/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ └── x86_64/
│ │ │ │ │ └── .gitkeep
│ │ │ │ └── res/
│ │ │ │ ├── drawable/
│ │ │ │ │ └── ic_launcher_background.xml
│ │ │ │ ├── drawable-v24/
│ │ │ │ │ └── ic_launcher_foreground.xml
│ │ │ │ ├── mipmap-anydpi-v26/
│ │ │ │ │ ├── ic_launcher.xml
│ │ │ │ │ └── ic_launcher_round.xml
│ │ │ │ ├── values/
│ │ │ │ │ ├── colors.xml
│ │ │ │ │ ├── strings.xml
│ │ │ │ │ └── themes.xml
│ │ │ │ └── xml/
│ │ │ │ ├── backup_rules.xml
│ │ │ │ └── data_extraction_rules.xml
│ │ │ └── test/
│ │ │ └── java/
│ │ │ └── com/
│ │ │ └── k2fsa/
│ │ │ └── sherpa/
│ │ │ └── onnx/
│ │ │ └── speaker/
│ │ │ └── diarization/
│ │ │ └── ExampleUnitTest.kt
│ │ ├── build.gradle.kts
│ │ ├── gradle/
│ │ │ ├── libs.versions.toml
│ │ │ └── wrapper/
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ └── settings.gradle.kts
│ ├── SherpaOnnxSpeakerIdentification/
│ │ ├── .gitignore
│ │ ├── app/
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle.kts
│ │ │ ├── proguard-rules.pro
│ │ │ └── src/
│ │ │ ├── androidTest/
│ │ │ │ └── java/
│ │ │ │ └── com/
│ │ │ │ └── k2fsa/
│ │ │ │ └── sherpa/
│ │ │ │ └── onnx/
│ │ │ │ └── speaker/
│ │ │ │ └── identification/
│ │ │ │ └── ExampleInstrumentedTest.kt
│ │ │ ├── main/
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── assets/
│ │ │ │ │ └── .gitkeep
│ │ │ │ ├── java/
│ │ │ │ │ └── com/
│ │ │ │ │ └── k2fsa/
│ │ │ │ │ └── sherpa/
│ │ │ │ │ └── onnx/
│ │ │ │ │ └── speaker/
│ │ │ │ │ └── identification/
│ │ │ │ │ ├── BarItem.kt
│ │ │ │ │ ├── MainActivity.kt
│ │ │ │ │ ├── NavBarItems.kt
│ │ │ │ │ ├── NavRoutes.kt
│ │ │ │ │ ├── screens/
│ │ │ │ │ │ ├── Help.kt
│ │ │ │ │ │ ├── Home.kt
│ │ │ │ │ │ ├── Register.kt
│ │ │ │ │ │ └── View.kt
│ │ │ │ │ └── ui/
│ │ │ │ │ └── theme/
│ │ │ │ │ ├── Color.kt
│ │ │ │ │ ├── Theme.kt
│ │ │ │ │ └── Type.kt
│ │ │ │ ├── jniLibs/
│ │ │ │ │ ├── arm64-v8a/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ ├── armeabi-v7a/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ ├── x86/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ └── x86_64/
│ │ │ │ │ └── .gitkeep
│ │ │ │ └── res/
│ │ │ │ ├── drawable/
│ │ │ │ │ └── ic_launcher_background.xml
│ │ │ │ ├── drawable-v24/
│ │ │ │ │ └── ic_launcher_foreground.xml
│ │ │ │ ├── mipmap-anydpi-v26/
│ │ │ │ │ ├── ic_launcher.xml
│ │ │ │ │ └── ic_launcher_round.xml
│ │ │ │ ├── values/
│ │ │ │ │ ├── colors.xml
│ │ │ │ │ ├── strings.xml
│ │ │ │ │ └── themes.xml
│ │ │ │ └── xml/
│ │ │ │ ├── backup_rules.xml
│ │ │ │ └── data_extraction_rules.xml
│ │ │ └── test/
│ │ │ └── java/
│ │ │ └── com/
│ │ │ └── k2fsa/
│ │ │ └── sherpa/
│ │ │ └── onnx/
│ │ │ └── speaker/
│ │ │ └── identification/
│ │ │ └── ExampleUnitTest.kt
│ │ ├── build.gradle.kts
│ │ ├── gradle/
│ │ │ └── wrapper/
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ └── settings.gradle.kts
│ ├── SherpaOnnxSpokenLanguageIdentification/
│ │ ├── .gitignore
│ │ ├── app/
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle.kts
│ │ │ ├── proguard-rules.pro
│ │ │ └── src/
│ │ │ ├── androidTest/
│ │ │ │ └── java/
│ │ │ │ └── com/
│ │ │ │ └── k2fsa/
│ │ │ │ └── sherpa/
│ │ │ │ └── onnx/
│ │ │ │ └── slid/
│ │ │ │ └── ExampleInstrumentedTest.kt
│ │ │ ├── main/
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── assets/
│ │ │ │ │ └── .gitignore
│ │ │ │ ├── java/
│ │ │ │ │ └── com/
│ │ │ │ │ └── k2fsa/
│ │ │ │ │ └── sherpa/
│ │ │ │ │ └── onnx/
│ │ │ │ │ └── slid/
│ │ │ │ │ ├── Home.kt
│ │ │ │ │ ├── MainActivity.kt
│ │ │ │ │ ├── slid.kt
│ │ │ │ │ └── ui/
│ │ │ │ │ └── theme/
│ │ │ │ │ ├── Color.kt
│ │ │ │ │ ├── Theme.kt
│ │ │ │ │ └── Type.kt
│ │ │ │ ├── jniLibs/
│ │ │ │ │ ├── arm64-v8a/
│ │ │ │ │ │ └── .gitignore
│ │ │ │ │ ├── armeabi-v7a/
│ │ │ │ │ │ └── .gitignore
│ │ │ │ │ ├── x86/
│ │ │ │ │ │ └── .gitignore
│ │ │ │ │ └── x86_64/
│ │ │ │ │ └── .gitignore
│ │ │ │ └── res/
│ │ │ │ ├── drawable/
│ │ │ │ │ └── ic_launcher_background.xml
│ │ │ │ ├── drawable-v24/
│ │ │ │ │ └── ic_launcher_foreground.xml
│ │ │ │ ├── mipmap-anydpi-v26/
│ │ │ │ │ ├── ic_launcher.xml
│ │ │ │ │ └── ic_launcher_round.xml
│ │ │ │ ├── values/
│ │ │ │ │ ├── colors.xml
│ │ │ │ │ ├── strings.xml
│ │ │ │ │ └── themes.xml
│ │ │ │ └── xml/
│ │ │ │ ├── backup_rules.xml
│ │ │ │ └── data_extraction_rules.xml
│ │ │ └── test/
│ │ │ └── java/
│ │ │ └── com/
│ │ │ └── k2fsa/
│ │ │ └── sherpa/
│ │ │ └── onnx/
│ │ │ └── slid/
│ │ │ └── ExampleUnitTest.kt
│ │ ├── build.gradle.kts
│ │ ├── gradle/
│ │ │ └── wrapper/
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ └── settings.gradle.kts
│ ├── SherpaOnnxTts/
│ │ ├── .gitignore
│ │ ├── app/
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src/
│ │ │ ├── androidTest/
│ │ │ │ └── java/
│ │ │ │ └── com/
│ │ │ │ └── k2fsa/
│ │ │ │ └── sherpa/
│ │ │ │ └── onnx/
│ │ │ │ └── ExampleInstrumentedTest.kt
│ │ │ ├── main/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── assets/
│ │ │ │ │ └── .gitkeep
│ │ │ │ ├── java/
│ │ │ │ │ └── com/
│ │ │ │ │ └── k2fsa/
│ │ │ │ │ └── sherpa/
│ │ │ │ │ └── onnx/
│ │ │ │ │ └── MainActivity.kt
│ │ │ │ ├── jniLibs/
│ │ │ │ │ ├── arm64-v8a/
│ │ │ │ │ │ └── .gitignore
│ │ │ │ │ ├── armeabi-v7a/
│ │ │ │ │ │ └── .gitignore
│ │ │ │ │ ├── x86/
│ │ │ │ │ │ └── .gitignore
│ │ │ │ │ └── x86_64/
│ │ │ │ │ └── .gitignore
│ │ │ │ └── res/
│ │ │ │ ├── drawable/
│ │ │ │ │ └── ic_launcher_background.xml
│ │ │ │ ├── drawable-v24/
│ │ │ │ │ └── ic_launcher_foreground.xml
│ │ │ │ ├── layout/
│ │ │ │ │ └── activity_main.xml
│ │ │ │ ├── mipmap-anydpi-v26/
│ │ │ │ │ ├── ic_launcher.xml
│ │ │ │ │ └── ic_launcher_round.xml
│ │ │ │ ├── values/
│ │ │ │ │ ├── colors.xml
│ │ │ │ │ ├── strings.xml
│ │ │ │ │ └── themes.xml
│ │ │ │ ├── values-night/
│ │ │ │ │ └── themes.xml
│ │ │ │ └── xml/
│ │ │ │ ├── backup_rules.xml
│ │ │ │ └── data_extraction_rules.xml
│ │ │ └── test/
│ │ │ └── java/
│ │ │ └── com/
│ │ │ └── k2fsa/
│ │ │ └── sherpa/
│ │ │ └── onnx/
│ │ │ └── ExampleUnitTest.kt
│ │ ├── build.gradle
│ │ ├── gradle/
│ │ │ └── wrapper/
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ └── settings.gradle
│ ├── SherpaOnnxTtsEngine/
│ │ ├── .gitignore
│ │ ├── app/
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle.kts
│ │ │ ├── proguard-rules.pro
│ │ │ └── src/
│ │ │ ├── androidTest/
│ │ │ │ └── java/
│ │ │ │ └── com/
│ │ │ │ └── k2fsa/
│ │ │ │ └── sherpa/
│ │ │ │ └── onnx/
│ │ │ │ └── tts/
│ │ │ │ └── engine/
│ │ │ │ └── ExampleInstrumentedTest.kt
│ │ │ ├── main/
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── assets/
│ │ │ │ │ └── .gitkeep
│ │ │ │ ├── java/
│ │ │ │ │ └── com/
│ │ │ │ │ └── k2fsa/
│ │ │ │ │ └── sherpa/
│ │ │ │ │ └── onnx/
│ │ │ │ │ └── tts/
│ │ │ │ │ └── engine/
│ │ │ │ │ ├── CheckVoiceData.kt
│ │ │ │ │ ├── GetSampleText.kt
│ │ │ │ │ ├── InstallVoiceData.kt
│ │ │ │ │ ├── MainActivity.kt
│ │ │ │ │ ├── PreferencesHelper.kt
│ │ │ │ │ ├── TtsEngine.kt
│ │ │ │ │ ├── TtsService.kt
│ │ │ │ │ ├── TtsViewModel.kt
│ │ │ │ │ └── ui/
│ │ │ │ │ └── theme/
│ │ │ │ │ ├── Color.kt
│ │ │ │ │ ├── Theme.kt
│ │ │ │ │ └── Type.kt
│ │ │ │ ├── jniLibs/
│ │ │ │ │ ├── arm64-v8a/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ ├── armeabi-v7a/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ ├── x86/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ └── x86_64/
│ │ │ │ │ └── .gitkeep
│ │ │ │ └── res/
│ │ │ │ ├── drawable-v24/
│ │ │ │ │ └── ic_launcher_foreground.xml
│ │ │ │ ├── mipmap-anydpi-v26/
│ │ │ │ │ ├── ic_launcher.xml
│ │ │ │ │ └── ic_launcher_round.xml
│ │ │ │ ├── values/
│ │ │ │ │ ├── colors.xml
│ │ │ │ │ ├── ic_launcher_background.xml
│ │ │ │ │ ├── strings.xml
│ │ │ │ │ └── themes.xml
│ │ │ │ └── xml/
│ │ │ │ ├── backup_rules.xml
│ │ │ │ ├── data_extraction_rules.xml
│ │ │ │ └── tts_engine.xml
│ │ │ └── test/
│ │ │ └── java/
│ │ │ └── com/
│ │ │ └── k2fsa/
│ │ │ └── sherpa/
│ │ │ └── onnx/
│ │ │ └── tts/
│ │ │ └── engine/
│ │ │ └── ExampleUnitTest.kt
│ │ ├── build.gradle.kts
│ │ ├── gradle/
│ │ │ └── wrapper/
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ └── settings.gradle.kts
│ ├── SherpaOnnxVad/
│ │ ├── .gitignore
│ │ ├── app/
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src/
│ │ │ ├── androidTest/
│ │ │ │ └── java/
│ │ │ │ └── com/
│ │ │ │ └── k2fsa/
│ │ │ │ └── sherpa/
│ │ │ │ └── onnx/
│ │ │ │ └── ExampleInstrumentedTest.kt
│ │ │ ├── main/
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── assets/
│ │ │ │ │ └── .gitignore
│ │ │ │ ├── java/
│ │ │ │ │ └── com/
│ │ │ │ │ └── k2fsa/
│ │ │ │ │ └── sherpa/
│ │ │ │ │ └── onnx/
│ │ │ │ │ └── MainActivity.kt
│ │ │ │ ├── jniLibs/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── arm64-v8a/
│ │ │ │ │ │ └── .gitignore
│ │ │ │ │ ├── armeabi-v7a/
│ │ │ │ │ │ └── .gitignore
│ │ │ │ │ ├── x86/
│ │ │ │ │ │ └── .gitignore
│ │ │ │ │ └── x86_64/
│ │ │ │ │ └── .gitignore
│ │ │ │ └── res/
│ │ │ │ ├── drawable/
│ │ │ │ │ ├── black_circle.xml
│ │ │ │ │ ├── ic_launcher_background.xml
│ │ │ │ │ └── red_circle.xml
│ │ │ │ ├── drawable-v24/
│ │ │ │ │ └── ic_launcher_foreground.xml
│ │ │ │ ├── layout/
│ │ │ │ │ └── activity_main.xml
│ │ │ │ ├── mipmap-anydpi-v26/
│ │ │ │ │ ├── ic_launcher.xml
│ │ │ │ │ └── ic_launcher_round.xml
│ │ │ │ ├── values/
│ │ │ │ │ ├── colors.xml
│ │ │ │ │ ├── strings.xml
│ │ │ │ │ └── themes.xml
│ │ │ │ ├── values-night/
│ │ │ │ │ └── themes.xml
│ │ │ │ └── xml/
│ │ │ │ ├── backup_rules.xml
│ │ │ │ └── data_extraction_rules.xml
│ │ │ └── test/
│ │ │ └── java/
│ │ │ └── com/
│ │ │ └── k2fsa/
│ │ │ └── sherpa/
│ │ │ └── onnx/
│ │ │ └── ExampleUnitTest.kt
│ │ ├── build.gradle
│ │ ├── gradle/
│ │ │ └── wrapper/
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ └── settings.gradle
│ ├── SherpaOnnxVadAsr/
│ │ ├── .gitignore
│ │ ├── app/
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src/
│ │ │ ├── androidTest/
│ │ │ │ └── java/
│ │ │ │ └── com/
│ │ │ │ └── k2fsa/
│ │ │ │ └── sherpa/
│ │ │ │ └── onnx/
│ │ │ │ └── ExampleInstrumentedTest.kt
│ │ │ ├── main/
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── assets/
│ │ │ │ │ └── .gitignore
│ │ │ │ ├── java/
│ │ │ │ │ └── com/
│ │ │ │ │ └── k2fsa/
│ │ │ │ │ └── sherpa/
│ │ │ │ │ └── onnx/
│ │ │ │ │ └── MainActivity.kt
│ │ │ │ ├── jniLibs/
│ │ │ │ │ ├── arm64-v8a/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ ├── armeabi-v7a/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ ├── x86/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ └── x86_64/
│ │ │ │ │ └── .gitkeep
│ │ │ │ └── res/
│ │ │ │ ├── drawable/
│ │ │ │ │ └── ic_launcher_background.xml
│ │ │ │ ├── drawable-v24/
│ │ │ │ │ └── ic_launcher_foreground.xml
│ │ │ │ ├── layout/
│ │ │ │ │ └── activity_main.xml
│ │ │ │ ├── mipmap-anydpi-v26/
│ │ │ │ │ ├── ic_launcher.xml
│ │ │ │ │ └── ic_launcher_round.xml
│ │ │ │ ├── values/
│ │ │ │ │ ├── colors.xml
│ │ │ │ │ ├── strings.xml
│ │ │ │ │ └── themes.xml
│ │ │ │ ├── values-night/
│ │ │ │ │ └── themes.xml
│ │ │ │ └── xml/
│ │ │ │ ├── backup_rules.xml
│ │ │ │ └── data_extraction_rules.xml
│ │ │ └── test/
│ │ │ └── java/
│ │ │ └── com/
│ │ │ └── k2fsa/
│ │ │ └── sherpa/
│ │ │ └── onnx/
│ │ │ └── ExampleUnitTest.kt
│ │ ├── build.gradle
│ │ ├── gradle/
│ │ │ └── wrapper/
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ └── settings.gradle
│ └── SherpaOnnxWebSocket/
│ ├── .gitignore
│ ├── app/
│ │ ├── .gitignore
│ │ ├── build.gradle
│ │ ├── proguard-rules.pro
│ │ └── src/
│ │ ├── androidTest/
│ │ │ └── java/
│ │ │ └── com/
│ │ │ └── k2fsa/
│ │ │ └── sherpa/
│ │ │ └── onnx/
│ │ │ └── ExampleInstrumentedTest.kt
│ │ ├── main/
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── assets/
│ │ │ │ └── .gitkeep
│ │ │ ├── java/
│ │ │ │ └── com/
│ │ │ │ └── k2fsa/
│ │ │ │ └── sherpa/
│ │ │ │ └── onnx/
│ │ │ │ ├── MainActivity.kt
│ │ │ │ ├── MyWebsocketClient.kt
│ │ │ │ ├── SpeechContent.kt
│ │ │ │ └── WaveReader.kt
│ │ │ ├── jniLibs/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── arm64-v8a/
│ │ │ │ │ └── .gitkeep
│ │ │ │ ├── armeabi-v7a/
│ │ │ │ │ └── .gitkeep
│ │ │ │ ├── x86/
│ │ │ │ │ └── .gitkeep
│ │ │ │ └── x86_64/
│ │ │ │ └── .gitkeep
│ │ │ └── res/
│ │ │ ├── drawable/
│ │ │ │ └── ic_launcher_background.xml
│ │ │ ├── drawable-v24/
│ │ │ │ └── ic_launcher_foreground.xml
│ │ │ ├── layout/
│ │ │ │ └── activity_main.xml
│ │ │ ├── mipmap-anydpi-v26/
│ │ │ │ ├── ic_launcher.xml
│ │ │ │ └── ic_launcher_round.xml
│ │ │ ├── values/
│ │ │ │ ├── colors.xml
│ │ │ │ ├── strings.xml
│ │ │ │ └── themes.xml
│ │ │ ├── values-night/
│ │ │ │ └── themes.xml
│ │ │ └── xml/
│ │ │ ├── backup_rules.xml
│ │ │ └── data_extraction_rules.xml
│ │ └── test/
│ │ └── java/
│ │ └── com/
│ │ └── k2fsa/
│ │ └── sherpa/
│ │ └── onnx/
│ │ └── ExampleUnitTest.kt
│ ├── build.gradle
│ ├── gradle/
│ │ └── wrapper/
│ │ └── gradle-wrapper.properties
│ ├── gradle.properties
│ ├── gradlew
│ ├── gradlew.bat
│ └── settings.gradle
├── c-api-examples/
│ ├── CMakeLists.txt
│ ├── Makefile
│ ├── README.md
│ ├── add-punctuation-c-api.c
│ ├── add-punctuation-online-c-api.c
│ ├── asr-microphone-example/
│ │ ├── CMakeLists.txt
│ │ ├── CPPLINT.cfg
│ │ ├── README.md
│ │ └── c-api-alsa.cc
│ ├── audio-tagging-c-api.c
│ ├── decode-file-c-api.c
│ ├── dolphin-ctc-c-api.c
│ ├── fire-red-asr-c-api.c
│ ├── fire-red-asr-ctc-c-api.c
│ ├── funasr-nano-c-api.c
│ ├── keywords-spotter-buffered-tokens-keywords-c-api.c
│ ├── kitten-tts-en-c-api.c
│ ├── kokoro-tts-en-c-api.c
│ ├── kokoro-tts-zh-en-c-api.c
│ ├── kws-c-api.c
│ ├── matcha-tts-en-c-api.c
│ ├── matcha-tts-zh-c-api.c
│ ├── medasr-ctc-c-api.c
│ ├── moonshine-c-api.c
│ ├── moonshine-v2-c-api.c
│ ├── nemo-canary-c-api.c
│ ├── nemo-parakeet-c-api.c
│ ├── offline-speaker-diarization-c-api.c
│ ├── offline-tts-c-api.c
│ ├── omnilingual-asr-ctc-c-api.c
│ ├── online-speech-enhancement-dpdfnet-c-api.c
│ ├── online-speech-enhancement-gtcrn-c-api.c
│ ├── paraformer-c-api.c
│ ├── pocket-tts-en-c-api.c
│ ├── sense-voice-c-api.c
│ ├── sense-voice-with-hr-c-api.c
│ ├── speaker-identification-c-api.c
│ ├── speech-enhancement-dpdfnet-c-api.c
│ ├── speech-enhancement-gtcrn-c-api.c
│ ├── spoken-language-identification-c-api.c
│ ├── streaming-ctc-buffered-tokens-c-api.c
│ ├── streaming-hlg-decode-file-c-api.c
│ ├── streaming-paraformer-buffered-tokens-c-api.c
│ ├── streaming-paraformer-c-api.c
│ ├── streaming-t-one-ctc-c-api.c
│ ├── streaming-zipformer-buffered-tokens-hotwords-c-api.c
│ ├── streaming-zipformer-c-api.c
│ ├── streaming-zipformer-with-hr-c-api.c
│ ├── supertonic-tts-en-c-api.c
│ ├── telespeech-c-api.c
│ ├── vad-moonshine-c-api.c
│ ├── vad-sense-voice-c-api.c
│ ├── vad-whisper-c-api.c
│ ├── wenet-ctc-c-api.c
│ ├── whisper-c-api.c
│ ├── zipformer-c-api.c
│ └── zipvoice-tts-zh-en-c-api.c
├── cmake/
│ ├── .gitignore
│ ├── __init__.py
│ ├── asio.cmake
│ ├── cargs.cmake
│ ├── cmake_extension.py
│ ├── eigen.cmake
│ ├── espeak-ng-for-piper.cmake
│ ├── googletest.cmake
│ ├── hclust-cpp.cmake
│ ├── json.cmake
│ ├── kaldi-decoder.cmake
│ ├── kaldi-native-fbank.cmake
│ ├── kaldifst.cmake
│ ├── onnxruntime-linux-aarch64-gpu.cmake
│ ├── onnxruntime-linux-aarch64-static.cmake
│ ├── onnxruntime-linux-aarch64.cmake
│ ├── onnxruntime-linux-arm-static.cmake
│ ├── onnxruntime-linux-arm.cmake
│ ├── onnxruntime-linux-riscv64-spacemit.cmake
│ ├── onnxruntime-linux-riscv64-static.cmake
│ ├── onnxruntime-linux-riscv64.cmake
│ ├── onnxruntime-linux-x86_64-gpu.cmake
│ ├── onnxruntime-linux-x86_64-static.cmake
│ ├── onnxruntime-linux-x86_64.cmake
│ ├── onnxruntime-osx-arm64-static.cmake
│ ├── onnxruntime-osx-arm64.cmake
│ ├── onnxruntime-osx-universal-static.cmake
│ ├── onnxruntime-osx-universal.cmake
│ ├── onnxruntime-osx-x86_64-static.cmake
│ ├── onnxruntime-osx-x86_64.cmake
│ ├── onnxruntime-wasm-simd.cmake
│ ├── onnxruntime-win-arm64-static.cmake
│ ├── onnxruntime-win-arm64.cmake
│ ├── onnxruntime-win-x64-directml.cmake
│ ├── onnxruntime-win-x64-gpu.cmake
│ ├── onnxruntime-win-x64-static.cmake
│ ├── onnxruntime-win-x64.cmake
│ ├── onnxruntime-win-x86-static.cmake
│ ├── onnxruntime-win-x86.cmake
│ ├── onnxruntime.cmake
│ ├── openfst.cmake
│ ├── piper-phonemize.cmake
│ ├── portaudio.cmake
│ ├── pybind11.cmake
│ ├── sherpa-onnx-shared.pc.in
│ ├── sherpa-onnx-static-no-tts.pc.in
│ ├── sherpa-onnx-static.pc.in
│ ├── show-info.cmake
│ ├── simple-sentencepiece.cmake
│ └── websocketpp.cmake
├── cxx-api-examples/
│ ├── CMakeLists.txt
│ ├── audio-tagging-ced-cxx-api.cc
│ ├── audio-tagging-zipformer-cxx-api.cc
│ ├── dolphin-ctc-cxx-api.cc
│ ├── fire-red-asr-ctc-cxx-api.cc
│ ├── fire-red-asr-ctc-simulate-streaming-alsa-cxx-api.cc
│ ├── fire-red-asr-ctc-simulate-streaming-microphone-cxx-api.cc
│ ├── fire-red-asr-cxx-api.cc
│ ├── funasr-nano-cxx-api.cc
│ ├── kitten-tts-en-cxx-api.cc
│ ├── kokoro-tts-en-cxx-api.cc
│ ├── kokoro-tts-zh-en-cxx-api.cc
│ ├── kws-cxx-api.cc
│ ├── matcha-tts-en-cxx-api.cc
│ ├── matcha-tts-zh-cxx-api.cc
│ ├── medasr-ctc-cxx-api.cc
│ ├── moonshine-cxx-api.cc
│ ├── moonshine-v2-cxx-api.cc
│ ├── nemo-canary-cxx-api.cc
│ ├── offline-punctuation-cxx-api.cc
│ ├── omnilingual-asr-ctc-cxx-api.cc
│ ├── online-punctuation-cxx-api.cc
│ ├── online-speech-enhancement-dpdfnet-cxx-api.cc
│ ├── online-speech-enhancement-gtcrn-cxx-api.cc
│ ├── parakeet-tdt-ctc-simulate-streaming-microphone-cxx-api.cc
│ ├── parakeet-tdt-simulate-streaming-microphone-cxx-api.cc
│ ├── pocket-tts-en-cxx-api.cc
│ ├── sense-voice-cxx-api.cc
│ ├── sense-voice-simulate-streaming-alsa-cxx-api.cc
│ ├── sense-voice-simulate-streaming-microphone-cxx-api.cc
│ ├── sense-voice-with-hr-cxx-api.cc
│ ├── sherpa-display.h
│ ├── speech-enhancement-dpdfnet-cxx-api.cc
│ ├── speech-enhancement-gtcrn-cxx-api.cc
│ ├── streaming-t-one-ctc-cxx-api.cc
│ ├── streaming-zipformer-cxx-api.cc
│ ├── streaming-zipformer-rtf-cxx-api.cc
│ ├── streaming-zipformer-with-hr-cxx-api.cc
│ ├── supertonic-tts-en-cxx-api.cc
│ ├── vad-cxx-api.cc
│ ├── wenet-ctc-cxx-api.cc
│ ├── wenet-ctc-simulate-streaming-microphone-cxx-api.cc
│ ├── whisper-cxx-api.cc
│ ├── zipformer-ctc-simulate-streaming-alsa-cxx-api.cc
│ ├── zipformer-ctc-simulate-streaming-microphone-cxx-api.cc
│ ├── zipformer-transducer-simulate-streaming-microphone-cxx-api.cc
│ └── zipvoice-tts-zh-en-cxx-api.cc
├── dart-api-examples/
│ ├── .gitignore
│ ├── README.md
│ ├── add-punctuations/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── analysis_options.yaml
│ │ ├── bin/
│ │ │ └── punctuations.dart
│ │ ├── pubspec.yaml
│ │ └── run-ct-transformer.sh
│ ├── audio-tagging/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── analysis_options.yaml
│ │ ├── bin/
│ │ │ ├── ced.dart
│ │ │ └── zipformer.dart
│ │ ├── pubspec.yaml
│ │ ├── run-ced.sh
│ │ └── run-zipformer.sh
│ ├── keyword-spotter/
│ │ ├── .gitignore
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── analysis_options.yaml
│ │ ├── bin/
│ │ │ └── zipformer-transducer.dart
│ │ ├── pubspec.yaml
│ │ └── run-zh.sh
│ ├── non-streaming-asr/
│ │ ├── .gitignore
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── analysis_options.yaml
│ │ ├── bin/
│ │ │ ├── dolphin-ctc.dart
│ │ │ ├── fire-red-asr-ctc.dart
│ │ │ ├── fire-red-asr.dart
│ │ │ ├── funasr-nano.dart
│ │ │ ├── medasr-ctc.dart
│ │ │ ├── moonshine.dart
│ │ │ ├── moonshine_v2.dart
│ │ │ ├── nemo-canary.dart
│ │ │ ├── nemo-ctc.dart
│ │ │ ├── nemo-transducer.dart
│ │ │ ├── omnilingual-asr-ctc.dart
│ │ │ ├── paraformer-itn.dart
│ │ │ ├── paraformer.dart
│ │ │ ├── sense-voice-with-hr.dart
│ │ │ ├── sense-voice.dart
│ │ │ ├── telespeech-ctc.dart
│ │ │ ├── vad-with-paraformer.dart
│ │ │ ├── wenet-ctc.dart
│ │ │ ├── whisper.dart
│ │ │ ├── zipformer-ctc.dart
│ │ │ └── zipformer-transducer.dart
│ │ ├── pubspec.yaml
│ │ ├── run-dolphin-ctc.sh
│ │ ├── run-fire-red-asr-ctc.sh
│ │ ├── run-fire-red-asr.sh
│ │ ├── run-funasr-nano.sh
│ │ ├── run-medasr-ctc.sh
│ │ ├── run-moonshine-v2.sh
│ │ ├── run-moonshine.sh
│ │ ├── run-nemo-canary.sh
│ │ ├── run-nemo-ctc.sh
│ │ ├── run-nemo-transducer.sh
│ │ ├── run-omnilingual-asr-ctc.sh
│ │ ├── run-paraformer-itn.sh
│ │ ├── run-paraformer.sh
│ │ ├── run-sense-voice-with-hr.sh
│ │ ├── run-sense-voice.sh
│ │ ├── run-telespeech-ctc.sh
│ │ ├── run-vad-with-paraformer.sh
│ │ ├── run-wenet-ctc.sh
│ │ ├── run-whisper.sh
│ │ ├── run-zipformer-ctc.sh
│ │ └── run-zipformer-transducer.sh
│ ├── speaker-diarization/
│ │ ├── .gitignore
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── analysis_options.yaml
│ │ ├── bin/
│ │ │ └── speaker-diarization.dart
│ │ ├── pubspec.yaml
│ │ └── run.sh
│ ├── speaker-identification/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── analysis_options.yaml
│ │ ├── bin/
│ │ │ └── speaker_id.dart
│ │ ├── pubspec.yaml
│ │ └── run-3d-speaker.sh
│ ├── speech-enhancement-dpdfnet/
│ │ ├── .gitignore
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── analysis_options.yaml
│ │ ├── bin/
│ │ │ └── speech_enhancement_dpdfnet.dart
│ │ ├── pubspec.yaml
│ │ └── run.sh
│ ├── speech-enhancement-gtcrn/
│ │ ├── .gitignore
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── analysis_options.yaml
│ │ ├── bin/
│ │ │ └── speech_enhancement_gtcrn.dart
│ │ ├── pubspec.yaml
│ │ └── run.sh
│ ├── spoken-language-identification/
│ │ ├── README.md
│ │ ├── analysis_options.yaml
│ │ ├── bin/
│ │ │ └── spoken_language_identification.dart
│ │ ├── pubspec.yaml
│ │ └── run-whisper.sh
│ ├── streaming-asr/
│ │ ├── .gitignore
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── analysis_options.yaml
│ │ ├── bin/
│ │ │ ├── paraformer.dart
│ │ │ ├── t-one-ctc.dart
│ │ │ ├── zipformer-ctc-hlg.dart
│ │ │ ├── zipformer-ctc.dart
│ │ │ └── zipformer-transducer.dart
│ │ ├── pubspec.yaml
│ │ ├── run-nemo-transducer.sh
│ │ ├── run-paraformer.sh
│ │ ├── run-t-one-ctc.sh
│ │ ├── run-zipformer-ctc-hlg.sh
│ │ ├── run-zipformer-ctc.sh
│ │ ├── run-zipformer-transducer-itn.sh
│ │ └── run-zipformer-transducer.sh
│ ├── streaming-speech-enhancement-dpdfnet/
│ │ ├── README.md
│ │ ├── bin/
│ │ │ └── streaming_speech_enhancement_dpdfnet.dart
│ │ └── run.sh
│ ├── streaming-speech-enhancement-gtcrn/
│ │ ├── README.md
│ │ ├── bin/
│ │ │ └── streaming_speech_enhancement_gtcrn.dart
│ │ └── run.sh
│ ├── tts/
│ │ ├── .gitignore
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── analysis_options.yaml
│ │ ├── bin/
│ │ │ ├── coqui.dart
│ │ │ ├── kitten-en.dart
│ │ │ ├── kokoro-en.dart
│ │ │ ├── kokoro-zh-en.dart
│ │ │ ├── matcha-en.dart
│ │ │ ├── matcha-zh.dart
│ │ │ ├── piper.dart
│ │ │ ├── pocket-en.dart
│ │ │ ├── supertonic-en.dart
│ │ │ ├── vits-zh.dart
│ │ │ └── zipvoice-zh-en.dart
│ │ ├── pubspec.yaml
│ │ ├── run-coqui.sh
│ │ ├── run-kitten-en.sh
│ │ ├── run-kokoro-en.sh
│ │ ├── run-kokoro-zh-en.sh
│ │ ├── run-matcha-en.sh
│ │ ├── run-matcha-zh.sh
│ │ ├── run-piper.sh
│ │ ├── run-pocket-en.sh
│ │ ├── run-supertonic-en.sh
│ │ ├── run-vits-zh.sh
│ │ └── run-zipvoice-zh-en.sh
│ ├── vad/
│ │ ├── .gitignore
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── analysis_options.yaml
│ │ ├── bin/
│ │ │ ├── init.dart
│ │ │ ├── ten-vad.dart
│ │ │ └── vad.dart
│ │ ├── pubspec.yaml
│ │ ├── run-ten-vad.sh
│ │ └── run.sh
│ └── vad-with-non-streaming-asr/
│ ├── .gitignore
│ ├── README.md
│ ├── analysis_options.yaml
│ ├── bin/
│ │ ├── dolphin-ctc.dart
│ │ ├── moonshine.dart
│ │ ├── paraformer.dart
│ │ ├── sense-voice-2.dart
│ │ ├── sense-voice.dart
│ │ ├── telespeech-ctc.dart
│ │ ├── whisper.dart
│ │ ├── zipformer-ctc.dart
│ │ └── zipformer-transducer.dart
│ ├── pubspec.yaml
│ ├── run-dolphin-ctc.sh
│ ├── run-moonshine.sh
│ ├── run-paraformer.sh
│ ├── run-sense-voice-en.sh
│ ├── run-sense-voice-zh-2.sh
│ ├── run-sense-voice-zh.sh
│ ├── run-telespeech-ctc.sh
│ ├── run-whisper.sh
│ ├── run-zipformer-ctc.sh
│ └── run-zipformer-transducer.sh
├── dotnet-examples/
│ ├── .editorconfig
│ ├── .gitignore
│ ├── .notes
│ ├── Common/
│ │ ├── Common.csproj
│ │ └── WaveHeader.cs
│ ├── README.md
│ ├── keyword-spotting-from-files/
│ │ ├── Program.cs
│ │ ├── keyword-spotting-from-files.csproj
│ │ └── run.sh
│ ├── keyword-spotting-from-microphone/
│ │ ├── Program.cs
│ │ ├── keyword-spotting-from-microphone.csproj
│ │ └── run.sh
│ ├── kitten-tts/
│ │ ├── Program.cs
│ │ ├── kitten-tts.csproj
│ │ └── run-kitten.sh
│ ├── kitten-tts-play/
│ │ ├── Program.cs
│ │ ├── kitten-tts-play.csproj
│ │ └── run-kitten.sh
│ ├── kokoro-tts/
│ │ ├── Program.cs
│ │ ├── kokoro-tts.csproj
│ │ └── run-kokoro.sh
│ ├── kokoro-tts-play/
│ │ ├── Program.cs
│ │ ├── kokoro-tts-play.csproj
│ │ └── run-kokoro-en.sh
│ ├── non-streaming-canary-decode-files/
│ │ ├── Program.cs
│ │ ├── non-streaming-canary-decode-files.csproj
│ │ └── run.sh
│ ├── non-streaming-funasr-nano-decode-files/
│ │ ├── Program.cs
│ │ ├── non-streaming-funasr-nano-decode-files.csproj
│ │ └── run.sh
│ ├── non-streaming-moonshine-v2-decode-files/
│ │ ├── Program.cs
│ │ ├── non-streaming-moonshine-v2-decode-files.csproj
│ │ └── run.sh
│ ├── offline-audio-tagging/
│ │ ├── Program.cs
│ │ ├── offline-audio-tagging.csproj
│ │ └── run.sh
│ ├── offline-decode-files/
│ │ ├── Program.cs
│ │ ├── offline-decode-files.csproj
│ │ ├── run-dolphin-ctc.sh
│ │ ├── run-fire-red-asr-ctc.sh
│ │ ├── run-fire-red-asr.sh
│ │ ├── run-hotwords.sh
│ │ ├── run-medasr-ctc.sh
│ │ ├── run-moonshine.sh
│ │ ├── run-nemo-ctc.sh
│ │ ├── run-omnilingual-asr-ctc.sh
│ │ ├── run-paraformer-itn.sh
│ │ ├── run-paraformer.sh
│ │ ├── run-sense-voice-ctc.sh
│ │ ├── run-tdnn-yesno.sh
│ │ ├── run-telespeech-ctc.sh
│ │ ├── run-wenet-ctc.sh
│ │ ├── run-whisper-large-v3.sh
│ │ ├── run-whisper.sh
│ │ ├── run-zipformer-ctc.sh
│ │ └── run-zipformer.sh
│ ├── offline-punctuation/
│ │ ├── Program.cs
│ │ ├── offline-punctuation.csproj
│ │ └── run.sh
│ ├── offline-speaker-diarization/
│ │ ├── Program.cs
│ │ ├── offline-speaker-diarization.csproj
│ │ └── run.sh
│ ├── offline-tts/
│ │ ├── Program.cs
│ │ ├── offline-tts.csproj
│ │ ├── run-aishell3.sh
│ │ ├── run-hf-fanchen.sh
│ │ ├── run-matcha-en.sh
│ │ ├── run-matcha-zh.sh
│ │ └── run-piper.sh
│ ├── offline-tts-play/
│ │ ├── .gitignore
│ │ ├── Program.cs
│ │ ├── offline-tts-play.csproj
│ │ ├── run-hf-fanchen.sh
│ │ ├── run-matcha-en.sh
│ │ └── run-matcha-zh.sh
│ ├── online-decode-files/
│ │ ├── Program.cs
│ │ ├── online-decode-files.csproj
│ │ ├── run-paraformer.sh
│ │ ├── run-t-one-ctc.sh
│ │ ├── run-transducer-itn.sh
│ │ ├── run-transducer.sh
│ │ └── run-zipformer2-ctc.sh
│ ├── pocket-tts-zero-shot/
│ │ ├── Program.cs
│ │ ├── pocket-tts-zero-shot.csproj
│ │ └── run.sh
│ ├── pocket-tts-zero-shot-play/
│ │ ├── Program.cs
│ │ ├── pocket-tts-zero-shot-play.csproj
│ │ └── run.sh
│ ├── sherpa-onnx.sln
│ ├── speaker-identification/
│ │ ├── Program.cs
│ │ ├── run.sh
│ │ └── speaker-identification.csproj
│ ├── speech-enhancement-dpdfnet/
│ │ ├── Program.cs
│ │ ├── run.sh
│ │ └── speech-enhancement-dpdfnet.csproj
│ ├── speech-enhancement-gtcrn/
│ │ ├── Program.cs
│ │ ├── run.sh
│ │ └── speech-enhancement-gtcrn.csproj
│ ├── speech-recognition-from-microphone/
│ │ ├── Program.cs
│ │ ├── run-paraformer.sh
│ │ ├── run-transducer.sh
│ │ └── speech-recognition-from-microphone.csproj
│ ├── spoken-language-identification/
│ │ ├── Program.cs
│ │ ├── run.sh
│ │ └── spoken-language-identification.csproj
│ ├── streaming-hlg-decoding/
│ │ ├── Program.cs
│ │ ├── run.sh
│ │ └── streaming-hlg-decoding.csproj
│ ├── streaming-speech-enhancement-dpdfnet/
│ │ ├── Program.cs
│ │ ├── run.sh
│ │ └── streaming-speech-enhancement-dpdfnet.csproj
│ ├── streaming-speech-enhancement-gtcrn/
│ │ ├── Program.cs
│ │ ├── run.sh
│ │ └── streaming-speech-enhancement-gtcrn.csproj
│ ├── supertonic-tts/
│ │ ├── Program.cs
│ │ ├── run.sh
│ │ └── supertonic-tts.csproj
│ ├── vad-non-streaming-asr-paraformer/
│ │ ├── Program.cs
│ │ ├── run-ten-vad.sh
│ │ ├── run.sh
│ │ └── vad-non-streaming-asr-paraformer.csproj
│ ├── vad-non-streaming-funasr-nano/
│ │ ├── Program.cs
│ │ ├── run-ten-vad.sh
│ │ ├── run.sh
│ │ └── vad-non-streaming-funasr-nano.csproj
│ ├── version-test/
│ │ ├── Program.cs
│ │ ├── run.sh
│ │ └── version-test.csproj
│ ├── zipvoice-tts/
│ │ ├── Program.cs
│ │ ├── run.sh
│ │ └── zipvoice-tts.csproj
│ └── zipvoice-tts-play/
│ ├── Program.cs
│ ├── run.sh
│ └── zipvoice-tts-play.csproj
├── ffmpeg-examples/
│ ├── Makefile
│ ├── README.md
│ ├── how-to-fix-errors.md
│ └── sherpa-onnx-ffmpeg.c
├── flutter/
│ ├── .gitignore
│ ├── README.md
│ ├── notes.md
│ ├── notes2.md
│ ├── publish.md
│ ├── sherpa_onnx/
│ │ ├── .gitignore
│ │ ├── .metadata
│ │ ├── analysis_options.yaml
│ │ ├── example/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ └── example.md
│ │ ├── lib/
│ │ │ ├── sherpa_onnx.dart
│ │ │ └── src/
│ │ │ ├── audio_tagging.dart
│ │ │ ├── feature_config.dart
│ │ │ ├── homophone_replacer_config.dart
│ │ │ ├── keyword_spotter.dart
│ │ │ ├── offline_punctuation.dart
│ │ │ ├── offline_recognizer.dart
│ │ │ ├── offline_speaker_diarization.dart
│ │ │ ├── offline_speech_denoiser.dart
│ │ │ ├── offline_stream.dart
│ │ │ ├── online_punctuation.dart
│ │ │ ├── online_recognizer.dart
│ │ │ ├── online_speech_denoiser.dart
│ │ │ ├── online_stream.dart
│ │ │ ├── sherpa_onnx_bindings.dart
│ │ │ ├── speaker_identification.dart
│ │ │ ├── spoken_language_identification.dart
│ │ │ ├── tts.dart
│ │ │ ├── utils.dart
│ │ │ ├── vad.dart
│ │ │ ├── version.dart
│ │ │ ├── wave_reader.dart
│ │ │ └── wave_writer.dart
│ │ └── pubspec.yaml
│ ├── sherpa_onnx_android/
│ │ ├── .gitignore
│ │ ├── .metadata
│ │ ├── README.md
│ │ ├── analysis_options.yaml
│ │ ├── android/
│ │ │ ├── .gitignore
│ │ │ ├── build.gradle
│ │ │ ├── settings.gradle
│ │ │ └── src/
│ │ │ └── main/
│ │ │ ├── AndroidManifest.xml
│ │ │ └── jniLibs/
│ │ │ ├── README.md
│ │ │ ├── arm64-v8a/
│ │ │ │ └── .gitkeep
│ │ │ ├── armeabi-v7a/
│ │ │ │ └── .gitkeep
│ │ │ ├── x86/
│ │ │ │ └── .gitkeep
│ │ │ └── x86_64/
│ │ │ └── .gitkeep
│ │ ├── lib/
│ │ │ ├── .gitkeep
│ │ │ └── README.md
│ │ └── pubspec.yaml
│ ├── sherpa_onnx_ios/
│ │ ├── .gitignore
│ │ ├── .metadata
│ │ ├── README.md
│ │ ├── analysis_options.yaml
│ │ ├── ios/
│ │ │ └── sherpa_onnx_ios.podspec
│ │ ├── lib/
│ │ │ └── README.md
│ │ └── pubspec.yaml
│ ├── sherpa_onnx_linux/
│ │ ├── .gitignore
│ │ ├── .metadata
│ │ ├── README.md
│ │ ├── analysis_options.yaml
│ │ ├── lib/
│ │ │ ├── .gitkeep
│ │ │ └── README.md
│ │ ├── linux/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── README.md
│ │ │ ├── aarch64/
│ │ │ │ └── .gitikeep
│ │ │ └── x64/
│ │ │ └── .gitikeep
│ │ └── pubspec.yaml
│ ├── sherpa_onnx_macos/
│ │ ├── .gitignore
│ │ ├── .metadata
│ │ ├── README.md
│ │ ├── analysis_options.yaml
│ │ ├── lib/
│ │ │ ├── .gitkeep
│ │ │ └── README.md
│ │ ├── macos/
│ │ │ ├── README.md
│ │ │ └── sherpa_onnx_macos.podspec
│ │ └── pubspec.yaml
│ └── sherpa_onnx_windows/
│ ├── .gitignore
│ ├── .metadata
│ ├── README.md
│ ├── analysis_options.yaml
│ ├── lib/
│ │ ├── .gitkeep
│ │ └── README.md
│ └── pubspec.yaml
├── flutter-examples/
│ ├── .gitignore
│ ├── README.md
│ ├── andriod-notes.md
│ ├── how-tts-is-created.md
│ ├── non_streaming_vad_asr/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── analysis_options.yaml
│ │ ├── lib/
│ │ │ ├── info.dart
│ │ │ ├── main.dart
│ │ │ ├── non_streaming_vad_asr.dart
│ │ │ ├── offline_model.dart
│ │ │ └── utils.dart
│ │ ├── macos/
│ │ │ ├── .gitignore
│ │ │ ├── Flutter/
│ │ │ │ ├── Flutter-Debug.xcconfig
│ │ │ │ └── Flutter-Release.xcconfig
│ │ │ ├── Runner/
│ │ │ │ ├── AppDelegate.swift
│ │ │ │ ├── Assets.xcassets/
│ │ │ │ │ └── AppIcon.appiconset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Base.lproj/
│ │ │ │ │ └── MainMenu.xib
│ │ │ │ ├── Configs/
│ │ │ │ │ ├── AppInfo.xcconfig
│ │ │ │ │ ├── Debug.xcconfig
│ │ │ │ │ ├── Release.xcconfig
│ │ │ │ │ └── Warnings.xcconfig
│ │ │ │ ├── DebugProfile.entitlements
│ │ │ │ ├── Info.plist
│ │ │ │ ├── MainFlutterWindow.swift
│ │ │ │ └── Release.entitlements
│ │ │ ├── Runner.xcodeproj/
│ │ │ │ ├── project.pbxproj
│ │ │ │ ├── project.xcworkspace/
│ │ │ │ │ └── xcshareddata/
│ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ └── xcshareddata/
│ │ │ │ └── xcschemes/
│ │ │ │ └── Runner.xcscheme
│ │ │ ├── Runner.xcworkspace/
│ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ └── xcshareddata/
│ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ └── RunnerTests/
│ │ │ └── RunnerTests.swift
│ │ └── pubspec.yaml
│ ├── streaming_asr/
│ │ ├── .gitignore
│ │ ├── .metadata
│ │ ├── README.md
│ │ ├── analysis_options.yaml
│ │ ├── android/
│ │ │ ├── .gitignore
│ │ │ ├── app/
│ │ │ │ ├── build.gradle
│ │ │ │ └── src/
│ │ │ │ ├── debug/
│ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ ├── main/
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── kotlin/
│ │ │ │ │ │ └── com/
│ │ │ │ │ │ └── k2fsa/
│ │ │ │ │ │ └── sherpa/
│ │ │ │ │ │ └── onnx/
│ │ │ │ │ │ └── streaming_asr/
│ │ │ │ │ │ └── MainActivity.kt
│ │ │ │ │ └── res/
│ │ │ │ │ ├── drawable/
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ ├── drawable-v21/
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ ├── values/
│ │ │ │ │ │ └── styles.xml
│ │ │ │ │ └── values-night/
│ │ │ │ │ └── styles.xml
│ │ │ │ └── profile/
│ │ │ │ └── AndroidManifest.xml
│ │ │ ├── build.gradle
│ │ │ ├── gradle/
│ │ │ │ └── wrapper/
│ │ │ │ └── gradle-wrapper.properties
│ │ │ ├── gradle.properties
│ │ │ └── settings.gradle
│ │ ├── assets/
│ │ │ └── .gitignore
│ │ ├── ios/
│ │ │ ├── .gitignore
│ │ │ ├── Flutter/
│ │ │ │ ├── AppFrameworkInfo.plist
│ │ │ │ ├── Debug.xcconfig
│ │ │ │ └── Release.xcconfig
│ │ │ ├── Runner/
│ │ │ │ ├── AppDelegate.swift
│ │ │ │ ├── Assets.xcassets/
│ │ │ │ │ ├── AppIcon.appiconset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── LaunchImage.imageset/
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── README.md
│ │ │ │ ├── Base.lproj/
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ ├── Info.plist
│ │ │ │ └── Runner-Bridging-Header.h
│ │ │ ├── Runner.xcodeproj/
│ │ │ │ ├── project.pbxproj
│ │ │ │ ├── project.xcworkspace/
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata/
│ │ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ │ └── xcshareddata/
│ │ │ │ └── xcschemes/
│ │ │ │ └── Runner.xcscheme
│ │ │ ├── Runner.xcworkspace/
│ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ └── xcshareddata/
│ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ └── RunnerTests/
│ │ │ └── RunnerTests.swift
│ │ ├── lib/
│ │ │ ├── info.dart
│ │ │ ├── main.dart
│ │ │ ├── online_model.dart
│ │ │ ├── streaming_asr.dart
│ │ │ └── utils.dart
│ │ ├── linux/
│ │ │ ├── .gitignore
│ │ │ ├── CMakeLists.txt
│ │ │ ├── flutter/
│ │ │ │ └── CMakeLists.txt
│ │ │ ├── main.cc
│ │ │ ├── my_application.cc
│ │ │ └── my_application.h
│ │ ├── macos/
│ │ │ ├── .gitignore
│ │ │ ├── Flutter/
│ │ │ │ ├── Flutter-Debug.xcconfig
│ │ │ │ └── Flutter-Release.xcconfig
│ │ │ ├── Runner/
│ │ │ │ ├── AppDelegate.swift
│ │ │ │ ├── Assets.xcassets/
│ │ │ │ │ └── AppIcon.appiconset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Base.lproj/
│ │ │ │ │ └── MainMenu.xib
│ │ │ │ ├── Configs/
│ │ │ │ │ ├── AppInfo.xcconfig
│ │ │ │ │ ├── Debug.xcconfig
│ │ │ │ │ ├── Release.xcconfig
│ │ │ │ │ └── Warnings.xcconfig
│ │ │ │ ├── DebugProfile.entitlements
│ │ │ │ ├── Info.plist
│ │ │ │ ├── MainFlutterWindow.swift
│ │ │ │ └── Release.entitlements
│ │ │ ├── Runner.xcodeproj/
│ │ │ │ ├── project.pbxproj
│ │ │ │ ├── project.xcworkspace/
│ │ │ │ │ └── xcshareddata/
│ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ └── xcshareddata/
│ │ │ │ └── xcschemes/
│ │ │ │ └── Runner.xcscheme
│ │ │ ├── Runner.xcworkspace/
│ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ └── xcshareddata/
│ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ └── RunnerTests/
│ │ │ └── RunnerTests.swift
│ │ ├── pubspec.yaml
│ │ ├── test/
│ │ │ └── widget_test.dart
│ │ └── windows/
│ │ ├── .gitignore
│ │ ├── CMakeLists.txt
│ │ ├── flutter/
│ │ │ └── CMakeLists.txt
│ │ └── runner/
│ │ ├── CMakeLists.txt
│ │ ├── Runner.rc
│ │ ├── flutter_window.cpp
│ │ ├── flutter_window.h
│ │ ├── main.cpp
│ │ ├── resource.h
│ │ ├── runner.exe.manifest
│ │ ├── utils.cpp
│ │ ├── utils.h
│ │ ├── win32_window.cpp
│ │ └── win32_window.h
│ └── tts/
│ ├── .gitignore
│ ├── .metadata
│ ├── README.md
│ ├── analysis_options.yaml
│ ├── android/
│ │ ├── .gitignore
│ │ ├── app/
│ │ │ ├── build.gradle
│ │ │ └── src/
│ │ │ ├── debug/
│ │ │ │ └── AndroidManifest.xml
│ │ │ ├── main/
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── kotlin/
│ │ │ │ │ └── com/
│ │ │ │ │ └── example/
│ │ │ │ │ └── tts/
│ │ │ │ │ └── MainActivity.kt
│ │ │ │ └── res/
│ │ │ │ ├── drawable/
│ │ │ │ │ └── launch_background.xml
│ │ │ │ ├── drawable-v21/
│ │ │ │ │ └── launch_background.xml
│ │ │ │ ├── values/
│ │ │ │ │ └── styles.xml
│ │ │ │ └── values-night/
│ │ │ │ └── styles.xml
│ │ │ └── profile/
│ │ │ └── AndroidManifest.xml
│ │ ├── build.gradle
│ │ ├── gradle/
│ │ │ └── wrapper/
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ └── settings.gradle
│ ├── assets/
│ │ └── .gitkeep
│ ├── generate-asset-list.py
│ ├── ios/
│ │ ├── .gitignore
│ │ ├── Flutter/
│ │ │ ├── AppFrameworkInfo.plist
│ │ │ ├── Debug.xcconfig
│ │ │ └── Release.xcconfig
│ │ ├── Runner/
│ │ │ ├── AppDelegate.swift
│ │ │ ├── Assets.xcassets/
│ │ │ │ ├── AppIcon.appiconset/
│ │ │ │ │ └── Contents.json
│ │ │ │ └── LaunchImage.imageset/
│ │ │ │ ├── Contents.json
│ │ │ │ └── README.md
│ │ │ ├── Base.lproj/
│ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ └── Main.storyboard
│ │ │ ├── Info.plist
│ │ │ └── Runner-Bridging-Header.h
│ │ ├── Runner.xcodeproj/
│ │ │ ├── project.pbxproj
│ │ │ ├── project.xcworkspace/
│ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ └── xcshareddata/
│ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ └── xcshareddata/
│ │ │ └── xcschemes/
│ │ │ └── Runner.xcscheme
│ │ ├── Runner.xcworkspace/
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── WorkspaceSettings.xcsettings
│ │ └── RunnerTests/
│ │ └── RunnerTests.swift
│ ├── lib/
│ │ ├── info.dart
│ │ ├── isolate_tts.dart
│ │ ├── main.dart
│ │ ├── model.dart
│ │ ├── tts.dart
│ │ └── utils.dart
│ ├── linux/
│ │ ├── .gitignore
│ │ ├── CMakeLists.txt
│ │ ├── flutter/
│ │ │ └── CMakeLists.txt
│ │ ├── main.cc
│ │ ├── my_application.cc
│ │ └── my_application.h
│ ├── macos/
│ │ ├── .gitignore
│ │ ├── Flutter/
│ │ │ ├── Flutter-Debug.xcconfig
│ │ │ └── Flutter-Release.xcconfig
│ │ ├── Runner/
│ │ │ ├── AppDelegate.swift
│ │ │ ├── Assets.xcassets/
│ │ │ │ └── AppIcon.appiconset/
│ │ │ │ └── Contents.json
│ │ │ ├── Base.lproj/
│ │ │ │ └── MainMenu.xib
│ │ │ ├── Configs/
│ │ │ │ ├── AppInfo.xcconfig
│ │ │ │ ├── Debug.xcconfig
│ │ │ │ ├── Release.xcconfig
│ │ │ │ └── Warnings.xcconfig
│ │ │ ├── DebugProfile.entitlements
│ │ │ ├── Info.plist
│ │ │ ├── MainFlutterWindow.swift
│ │ │ └── Release.entitlements
│ │ ├── Runner.xcodeproj/
│ │ │ ├── project.pbxproj
│ │ │ ├── project.xcworkspace/
│ │ │ │ └── xcshareddata/
│ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ └── xcshareddata/
│ │ │ └── xcschemes/
│ │ │ └── Runner.xcscheme
│ │ ├── Runner.xcworkspace/
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ └── IDEWorkspaceChecks.plist
│ │ └── RunnerTests/
│ │ └── RunnerTests.swift
│ ├── pubspec.yaml
│ ├── test/
│ │ └── widget_test.dart
│ └── windows/
│ ├── .gitignore
│ ├── CMakeLists.txt
│ ├── flutter/
│ │ └── CMakeLists.txt
│ └── runner/
│ ├── CMakeLists.txt
│ ├── Runner.rc
│ ├── flutter_window.cpp
│ ├── flutter_window.h
│ ├── main.cpp
│ ├── resource.h
│ ├── runner.exe.manifest
│ ├── utils.cpp
│ ├── utils.h
│ ├── win32_window.cpp
│ └── win32_window.h
├── go-api-examples/
│ ├── .gitignore
│ ├── README.md
│ ├── add-punctuation/
│ │ ├── go.mod
│ │ ├── main.go
│ │ └── run.sh
│ ├── add-punctuation-online/
│ │ ├── go.mod
│ │ ├── main.go
│ │ └── run.sh
│ ├── audio-tagging/
│ │ ├── go.mod
│ │ ├── main.go
│ │ └── run.sh
│ ├── keyword-spotting-from-file/
│ │ ├── go.mod
│ │ ├── main.go
│ │ └── run.sh
│ ├── non-streaming-canary-decode-files/
│ │ ├── go.mod
│ │ ├── main.go
│ │ └── run.sh
│ ├── non-streaming-funasr-nano-decode-files/
│ │ ├── go.mod
│ │ ├── main.go
│ │ └── run.sh
│ ├── non-streaming-medasr-ctc-decode-files/
│ │ ├── go.mod
│ │ ├── main.go
│ │ └── run.sh
│ ├── non-streaming-moonshine-v2-decode-files/
│ │ ├── go.mod
│ │ ├── main.go
│ │ └── run.sh
│ ├── non-streaming-omnilingual-asr-ctc-decode-files/
│ │ ├── go.mod
│ │ ├── main.go
│ │ └── run.sh
│ ├── non-streaming-speaker-diarization/
│ │ ├── go.mod
│ │ ├── main.go
│ │ └── run.sh
│ ├── non-streaming-tts/
│ │ ├── go.mod
│ │ ├── main.go
│ │ ├── run-kitten-en.sh
│ │ ├── run-kokoro-en.sh
│ │ ├── run-kokoro-zh-en.sh
│ │ ├── run-matcha-en.sh
│ │ ├── run-matcha-zh.sh
│ │ ├── run-vits-ljs.sh
│ │ ├── run-vits-piper-en_US-lessac-medium.sh
│ │ ├── run-vits-vctk.sh
│ │ └── run-vits-zh-aishell3.sh
│ ├── offline-tts-play/
│ │ ├── go.mod
│ │ ├── main.go
│ │ ├── run-kitten-en.sh
│ │ ├── run-kokoro-en.sh
│ │ ├── run-kokoro-zh-en.sh
│ │ ├── run-matcha-en.sh
│ │ ├── run-matcha-zh.sh
│ │ ├── run-vits-ljs.sh
│ │ ├── run-vits-piper-en_US-lessac-medium.sh
│ │ ├── run-vits-vctk.sh
│ │ └── run-vits-zh-aishell3.sh
│ ├── speaker-identification/
│ │ ├── go.mod
│ │ ├── main.go
│ │ └── run.sh
│ ├── speech-enhancement-dpdfnet/
│ │ ├── go.mod
│ │ ├── main.go
│ │ └── run.sh
│ ├── speech-enhancement-gtcrn/
│ │ ├── go.mod
│ │ ├── main.go
│ │ └── run.sh
│ ├── streaming-hlg-decoding/
│ │ ├── go.mod
│ │ ├── main.go
│ │ └── run.sh
│ ├── streaming-speech-enhancement-dpdfnet/
│ │ ├── go.mod
│ │ ├── main.go
│ │ └── run.sh
│ ├── streaming-speech-enhancement-gtcrn/
│ │ ├── go.mod
│ │ ├── main.go
│ │ └── run.sh
│ ├── supertonic-tts/
│ │ ├── go.mod
│ │ ├── main.go
│ │ └── run.sh
│ ├── vad/
│ │ ├── go.mod
│ │ ├── main.go
│ │ └── run.sh
│ ├── vad-asr-whisper/
│ │ ├── go.mod
│ │ ├── main.go
│ │ └── run.sh
│ ├── vad-speaker-identification/
│ │ ├── go.mod
│ │ ├── main.go
│ │ └── run.sh
│ ├── vad-spoken-language-identification/
│ │ ├── go.mod
│ │ ├── main.go
│ │ └── run.sh
│ ├── zero-shot-pocket-tts/
│ │ ├── go.mod
│ │ ├── main.go
│ │ └── run.sh
│ ├── zero-shot-pocket-tts-play/
│ │ ├── go.mod
│ │ ├── main.go
│ │ └── run.sh
│ ├── zero-shot-zipvoice-tts/
│ │ ├── go.mod
│ │ ├── main.go
│ │ └── run.sh
│ └── zero-shot-zipvoice-tts-play/
│ ├── go.mod
│ ├── main.go
│ └── run.sh
├── harmony-os/
│ ├── .gitignore
│ ├── README.md
│ ├── SherpaOnnxHar/
│ │ ├── .gitignore
│ │ ├── AppScope/
│ │ │ ├── app.json5
│ │ │ └── resources/
│ │ │ └── base/
│ │ │ └── element/
│ │ │ └── string.json
│ │ ├── README.md
│ │ ├── build-profile.json5
│ │ ├── code-linter.json5
│ │ ├── entry/
│ │ │ ├── .gitignore
│ │ │ ├── build-profile.json5
│ │ │ ├── hvigorfile.ts
│ │ │ ├── obfuscation-rules.txt
│ │ │ ├── oh-package.json5
│ │ │ └── src/
│ │ │ ├── main/
│ │ │ │ ├── ets/
│ │ │ │ │ ├── entryability/
│ │ │ │ │ │ └── EntryAbility.ets
│ │ │ │ │ ├── entrybackupability/
│ │ │ │ │ │ └── EntryBackupAbility.ets
│ │ │ │ │ └── pages/
│ │ │ │ │ └── Index.ets
│ │ │ │ ├── module.json5
│ │ │ │ └── resources/
│ │ │ │ ├── base/
│ │ │ │ │ ├── element/
│ │ │ │ │ │ ├── color.json
│ │ │ │ │ │ └── string.json
│ │ │ │ │ ├── media/
│ │ │ │ │ │ └── layered_image.json
│ │ │ │ │ └── profile/
│ │ │ │ │ ├── backup_config.json
│ │ │ │ │ └── main_pages.json
│ │ │ │ ├── en_US/
│ │ │ │ │ └── element/
│ │ │ │ │ └── string.json
│ │ │ │ └── zh_CN/
│ │ │ │ └── element/
│ │ │ │ └── string.json
│ │ │ ├── ohosTest/
│ │ │ │ ├── ets/
│ │ │ │ │ └── test/
│ │ │ │ │ ├── Ability.test.ets
│ │ │ │ │ └── List.test.ets
│ │ │ │ └── module.json5
│ │ │ └── test/
│ │ │ ├── List.test.ets
│ │ │ └── LocalUnit.test.ets
│ │ ├── hvigor/
│ │ │ └── hvigor-config.json5
│ │ ├── hvigorfile.ts
│ │ ├── notes.md
│ │ ├── oh-package-lock.json5
│ │ ├── oh-package.json5
│ │ ├── release.sh
│ │ └── sherpa_onnx/
│ │ ├── .gitignore
│ │ ├── BuildProfile.ets
│ │ ├── Index.ets
│ │ ├── README.md
│ │ ├── build-profile.json5
│ │ ├── consumer-rules.txt
│ │ ├── hvigorfile.ts
│ │ ├── obfuscation-rules.txt
│ │ ├── oh-package-lock.json5
│ │ ├── oh-package.json5
│ │ └── src/
│ │ ├── main/
│ │ │ ├── cpp/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── audio-tagging.cc
│ │ │ │ ├── include/
│ │ │ │ │ └── sherpa-onnx/
│ │ │ │ │ └── c-api/
│ │ │ │ │ └── README.md
│ │ │ │ ├── keyword-spotting.cc
│ │ │ │ ├── libs/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── arm64-v8a/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ ├── armeabi-v7a/
│ │ │ │ │ │ └── .gitkeep
│ │ │ │ │ └── x86_64/
│ │ │ │ │ └── .gitkeep
│ │ │ │ ├── macros.h
│ │ │ │ ├── my-patch.diff
│ │ │ │ ├── non-streaming-asr.cc
│ │ │ │ ├── non-streaming-speaker-diarization.cc
│ │ │ │ ├── non-streaming-speech-denoiser.cc
│ │ │ │ ├── non-streaming-tts.cc
│ │ │ │ ├── offline-punctuation.cc
│ │ │ │ ├── online-punctuation.cc
│ │ │ │ ├── sherpa-onnx-node-addon-api.cc
│ │ │ │ ├── speaker-identification.cc
│ │ │ │ ├── speech-denoiser.h
│ │ │ │ ├── spoken-language-identification.cc
│ │ │ │ ├── streaming-asr.cc
│ │ │ │ ├── streaming-speech-denoiser.cc
│ │ │ │ ├── types/
│ │ │ │ │ └── libsherpa_onnx/
│ │ │ │ │ ├── Index.d.ts
│ │ │ │ │ └── oh-package.json5
│ │ │ │ ├── utils.cc
│ │ │ │ ├── vad.cc
│ │ │ │ ├── version.cc
│ │ │ │ ├── wave-reader.cc
│ │ │ │ └── wave-writer.cc
│ │ │ ├── ets/
│ │ │ │ └── components/
│ │ │ │ ├── KeywordSpotting.ets
│ │ │ │ ├── MainPage.ets
│ │ │ │ ├── NonStreamingAsr.ets
│ │ │ │ ├── NonStreamingSpeakerDiarization.ets
│ │ │ │ ├── NonStreamingTts.ets
│ │ │ │ ├── OfflinePunctuation.ets
│ │ │ │ ├── OnlinePunctuation.ets
│ │ │ │ ├── SpeakerIdentification.ets
│ │ │ │ ├── StreamingAsr.ets
│ │ │ │ └── Vad.ets
│ │ │ ├── module.json5
│ │ │ └── resources/
│ │ │ ├── base/
│ │ │ │ └── element/
│ │ │ │ └── string.json
│ │ │ ├── en_US/
│ │ │ │ └── element/
│ │ │ │ └── string.json
│ │ │ └── zh_CN/
│ │ │ └── element/
│ │ │ └── string.json
│ │ ├── ohosTest/
│ │ │ ├── ets/
│ │ │ │ └── test/
│ │ │ │ ├── Ability.test.ets
│ │ │ │ └── List.test.ets
│ │ │ └── module.json5
│ │ └── test/
│ │ ├── List.test.ets
│ │ └── LocalUnit.test.ets
│ ├── SherpaOnnxSpeakerDiarization/
│ │ ├── .gitignore
│ │ ├── AppScope/
│ │ │ ├── app.json5
│ │ │ └── resources/
│ │ │ └── base/
│ │ │ └── element/
│ │ │ └── string.json
│ │ ├── build-profile.json5
│ │ ├── code-linter.json5
│ │ ├── entry/
│ │ │ ├── .gitignore
│ │ │ ├── build-profile.json5
│ │ │ ├── hvigorfile.ts
│ │ │ ├── obfuscation-rules.txt
│ │ │ ├── oh-package.json5
│ │ │ └── src/
│ │ │ ├── main/
│ │ │ │ ├── ets/
│ │ │ │ │ ├── entryability/
│ │ │ │ │ │ └── EntryAbility.ets
│ │ │ │ │ ├── entrybackupability/
│ │ │ │ │ │ └── EntryBackupAbility.ets
│ │ │ │ │ ├── pages/
│ │ │ │ │ │ └── Index.ets
│ │ │ │ │ └── workers/
│ │ │ │ │ └── SpeakerDiarizationWorker.ets
│ │ │ │ ├── module.json5
│ │ │ │ └── resources/
│ │ │ │ ├── base/
│ │ │ │ │ ├── element/
│ │ │ │ │ │ ├── color.json
│ │ │ │ │ │ └── string.json
│ │ │ │ │ ├── media/
│ │ │ │ │ │ └── layered_image.json
│ │ │ │ │ └── profile/
│ │ │ │ │ ├── backup_config.json
│ │ │ │ │ └── main_pages.json
│ │ │ │ ├── en_US/
│ │ │ │ │ └── element/
│ │ │ │ │ └── string.json
│ │ │ │ ├── rawfile/
│ │ │ │ │ └── .gitkeep
│ │ │ │ └── zh_CN/
│ │ │ │ └── element/
│ │ │ │ └── string.json
│ │ │ ├── ohosTest/
│ │ │ │ ├── ets/
│ │ │ │ │ └── test/
│ │ │ │ │ ├── Ability.test.ets
│ │ │ │ │ └── List.test.ets
│ │ │ │ └── module.json5
│ │ │ └── test/
│ │ │ ├── List.test.ets
│ │ │ └── LocalUnit.test.ets
│ │ ├── hvigor/
│ │ │ └── hvigor-config.json5
│ │ ├── hvigorfile.ts
│ │ ├── oh-package-lock.json5
│ │ └── oh-package.json5
│ ├── SherpaOnnxSpeakerIdentification/
│ │ ├── .gitignore
│ │ ├── AppScope/
│ │ │ ├── app.json5
│ │ │ └── resources/
│ │ │ └── base/
│ │ │ └── element/
│ │ │ └── string.json
│ │ ├── build-profile.json5
│ │ ├── code-linter.json5
│ │ ├── entry/
│ │ │ ├── .gitignore
│ │ │ ├── build-profile.json5
│ │ │ ├── hvigorfile.ts
│ │ │ ├── obfuscation-rules.txt
│ │ │ ├── oh-package-lock.json5
│ │ │ ├── oh-package.json5
│ │ │ └── src/
│ │ │ ├── main/
│ │ │ │ ├── ets/
│ │ │ │ │ ├── entryability/
│ │ │ │ │ │ └── EntryAbility.ets
│ │ │ │ │ ├── entrybackupability/
│ │ │ │ │ │ └── EntryBackupAbility.ets
│ │ │ │ │ ├── pages/
│ │ │ │ │ │ ├── Index.ets
│ │ │ │ │ │ └── Permission.ets
│ │ │ │ │ └── workers/
│ │ │ │ │ └── SpeakerIdentificationWorker.ets
│ │ │ │ ├── module.json5
│ │ │ │ └── resources/
│ │ │ │ ├── base/
│ │ │ │ │ ├── element/
│ │ │ │ │ │ ├── color.json
│ │ │ │ │ │ └── string.json
│ │ │ │ │ ├── media/
│ │ │ │ │ │ └── layered_image.json
│ │ │ │ │ └── profile/
│ │ │ │ │ ├── backup_config.json
│ │ │ │ │ └── main_pages.json
│ │ │ │ ├── en_US/
│ │ │ │ │ └── element/
│ │ │ │ │ └── string.json
│ │ │ │ ├── rawfile/
│ │ │ │ │ └── .gitkeep
│ │ │ │ └── zh_CN/
│ │ │ │ └── element/
│ │ │ │ └── string.json
│ │ │ ├── ohosTest/
│ │ │ │ ├── ets/
│ │ │ │ │ └── test/
│ │ │ │ │ ├── Ability.test.ets
│ │ │ │ │ └── List.test.ets
│ │ │ │ └── module.json5
│ │ │ └── test/
│ │ │ ├── List.test.ets
│ │ │ └── LocalUnit.test.ets
│ │ ├── hvigor/
│ │ │ └── hvigor-config.json5
│ │ ├── hvigorfile.ts
│ │ ├── oh-package-lock.json5
│ │ └── oh-package.json5
│ ├── SherpaOnnxStreamingAsr/
│ │ ├── .gitignore
│ │ ├── AppScope/
│ │ │ ├── app.json5
│ │ │ └── resources/
│ │ │ └── base/
│ │ │ └── element/
│ │ │ └── string.json
│ │ ├── build-profile.json5
│ │ ├── code-linter.json5
│ │ ├── entry/
│ │ │ ├── .gitignore
│ │ │ ├── build-profile.json5
│ │ │ ├── hvigorfile.ts
│ │ │ ├── obfuscation-rules.txt
│ │ │ ├── oh-package-lock.json5
│ │ │ ├── oh-package.json5
│ │ │ └── src/
│ │ │ ├── main/
│ │ │ │ ├── ets/
│ │ │ │ │ ├── entryability/
│ │ │ │ │ │ └── EntryAbility.ets
│ │ │ │ │ ├── entrybackupability/
│ │ │ │ │ │ └── EntryBackupAbility.ets
│ │ │ │ │ ├── pages/
│ │ │ │ │ │ ├── Index.ets
│ │ │ │ │ │ └── Permission.ets
│ │ │ │ │ └── workers/
│ │ │ │ │ └── StreamingAsrWorker.ets
│ │ │ │ ├── module.json5
│ │ │ │ └── resources/
│ │ │ │ ├── base/
│ │ │ │ │ ├── element/
│ │ │ │ │ │ ├── color.json
│ │ │ │ │ │ └── string.json
│ │ │ │ │ ├── media/
│ │ │ │ │ │ └── layered_image.json
│ │ │ │ │ └── profile/
│ │ │ │ │ ├── backup_config.json
│ │ │ │ │ └── main_pages.json
│ │ │ │ ├── en_US/
│ │ │ │ │ └── element/
│ │ │ │ │ └── string.json
│ │ │ │ ├── rawfile/
│ │ │ │ │ └── .gitkeep
│ │ │ │ └── zh_CN/
│ │ │ │ └── element/
│ │ │ │ └── string.json
│ │ │ ├── ohosTest/
│ │ │ │ ├── ets/
│ │ │ │ │ └── test/
│ │ │ │ │ ├── Ability.test.ets
│ │ │ │ │ └── List.test.ets
│ │ │ │ └── module.json5
│ │ │ └── test/
│ │ │ ├── List.test.ets
│ │ │ └── LocalUnit.test.ets
│ │ ├── hvigor/
│ │ │ └── hvigor-config.json5
│ │ ├── hvigorfile.ts
│ │ ├── oh-package-lock.json5
│ │ └── oh-package.json5
│ ├── SherpaOnnxTts/
│ │ ├── .gitignore
│ │ ├── AppScope/
│ │ │ ├── app.json5
│ │ │ └── resources/
│ │ │ └── base/
│ │ │ └── element/
│ │ │ └── string.json
│ │ ├── README.md
│ │ ├── build-profile.json5
│ │ ├── code-linter.json5
│ │ ├── entry/
│ │ │ ├── .gitignore
│ │ │ ├── build-profile.json5
│ │ │ ├── hvigorfile.ts
│ │ │ ├── obfuscation-rules.txt
│ │ │ ├── oh-package-lock.json5
│ │ │ ├── oh-package.json5
│ │ │ └── src/
│ │ │ ├── main/
│ │ │ │ ├── ets/
│ │ │ │ │ ├── entryability/
│ │ │ │ │ │ └── EntryAbility.ets
│ │ │ │ │ ├── entrybackupability/
│ │ │ │ │ │ └── EntryBackupAbility.ets
│ │ │ │ │ ├── pages/
│ │ │ │ │ │ └── Index.ets
│ │ │ │ │ └── workers/
│ │ │ │ │ └── NonStreamingTtsWorker.ets
│ │ │ │ ├── module.json5
│ │ │ │ └── resources/
│ │ │ │ ├── base/
│ │ │ │ │ ├── element/
│ │ │ │ │ │ ├── color.json
│ │ │ │ │ │ └── string.json
│ │ │ │ │ ├── media/
│ │ │ │ │ │ └── layered_image.json
│ │ │ │ │ └── profile/
│ │ │ │ │ ├── backup_config.json
│ │ │ │ │ └── main_pages.json
│ │ │ │ ├── en_US/
│ │ │ │ │ └── element/
│ │ │ │ │ └── string.json
│ │ │ │ ├── rawfile/
│ │ │ │ │ └── .gitkeep
│ │ │ │ └── zh_CN/
│ │ │ │ └── element/
│ │ │ │ └── string.json
│ │ │ ├── ohosTest/
│ │ │ │ ├── ets/
│ │ │ │ │ └── test/
│ │ │ │ │ ├── Ability.test.ets
│ │ │ │ │ └── List.test.ets
│ │ │ │ └── module.json5
│ │ │ └── test/
│ │ │ ├── List.test.ets
│ │ │ └── LocalUnit.test.ets
│ │ ├── hvigor/
│ │ │ └── hvigor-config.json5
│ │ ├── hvigorfile.ts
│ │ ├── oh-package-lock.json5
│ │ └── oh-package.json5
│ └── SherpaOnnxVadAsr/
│ ├── .gitignore
│ ├── AppScope/
│ │ ├── app.json5
│ │ └── resources/
│ │ └── base/
│ │ └── element/
│ │ └── string.json
│ ├── README.md
│ ├── build-profile.json5
│ ├── code-linter.json5
│ ├── entry/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── build-profile.json5
│ │ ├── hvigorfile.ts
│ │ ├── obfuscation-rules.txt
│ │ ├── oh-package-lock.json5
│ │ ├── oh-package.json5
│ │ └── src/
│ │ ├── main/
│ │ │ ├── ets/
│ │ │ │ ├── entryability/
│ │ │ │ │ └── EntryAbility.ets
│ │ │ │ ├── entrybackupability/
│ │ │ │ │ └── EntryBackupAbility.ets
│ │ │ │ ├── pages/
│ │ │ │ │ ├── Index.ets
│ │ │ │ │ ├── NonStreamingAsrModels.ets
│ │ │ │ │ └── Permission.ets
│ │ │ │ └── workers/
│ │ │ │ └── NonStreamingAsrWithVadWorker.ets
│ │ │ ├── module.json5
│ │ │ └── resources/
│ │ │ ├── base/
│ │ │ │ ├── element/
│ │ │ │ │ ├── color.json
│ │ │ │ │ └── string.json
│ │ │ │ ├── media/
│ │ │ │ │ └── layered_image.json
│ │ │ │ └── profile/
│ │ │ │ ├── backup_config.json
│ │ │ │ └── main_pages.json
│ │ │ ├── en_US/
│ │ │ │ └── element/
│ │ │ │ └── string.json
│ │ │ ├── rawfile/
│ │ │ │ └── .gitkeep
│ │ │ └── zh_CN/
│ │ │ └── element/
│ │ │ └── string.json
│ │ ├── ohosTest/
│ │ │ ├── ets/
│ │ │ │ └── test/
│ │ │ │ ├── Ability.test.ets
│ │ │ │ └── List.test.ets
│ │ │ └── module.json5
│ │ └── test/
│ │ ├── List.test.ets
│ │ └── LocalUnit.test.ets
│ ├── hvigor/
│ │ └── hvigor-config.json5
│ ├── hvigorfile.ts
│ ├── oh-package-lock.json5
│ └── oh-package.json5
├── ios-swift/
│ ├── .gitignore
│ └── SherpaOnnx/
│ ├── SherpaOnnx/
│ │ ├── AppDelegate.swift
│ │ ├── Assets.xcassets/
│ │ │ ├── AccentColor.colorset/
│ │ │ │ └── Contents.json
│ │ │ ├── AppIcon.appiconset/
│ │ │ │ └── Contents.json
│ │ │ └── Contents.json
│ │ ├── Base.lproj/
│ │ │ ├── LaunchScreen.storyboard
│ │ │ └── Main.storyboard
│ │ ├── Info.plist
│ │ ├── Model.swift
│ │ ├── SceneDelegate.swift
│ │ └── ViewController.swift
│ ├── SherpaOnnx.xcodeproj/
│ │ ├── project.pbxproj
│ │ └── project.xcworkspace/
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata/
│ │ └── IDEWorkspaceChecks.plist
│ ├── SherpaOnnxTests/
│ │ └── SherpaOnnxTests.swift
│ └── SherpaOnnxUITests/
│ ├── SherpaOnnxUITests.swift
│ └── SherpaOnnxUITestsLaunchTests.swift
├── ios-swiftui/
│ ├── .gitignore
│ ├── SherpaOnnx/
│ │ ├── SherpaOnnx/
│ │ │ ├── Assets.xcassets/
│ │ │ │ ├── AccentColor.colorset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── AppIcon.appiconset/
│ │ │ │ │ └── Contents.json
│ │ │ │ └── Contents.json
│ │ │ ├── ContentView.swift
│ │ │ ├── Extension.swift
│ │ │ ├── Info.plist
│ │ │ ├── Model.swift
│ │ │ ├── Preview Content/
│ │ │ │ └── Preview Assets.xcassets/
│ │ │ │ └── Contents.json
│ │ │ ├── SherpaOnnxApp.swift
│ │ │ └── SherpaOnnxViewModel.swift
│ │ ├── SherpaOnnx.xcodeproj/
│ │ │ ├── project.pbxproj
│ │ │ └── project.xcworkspace/
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ └── IDEWorkspaceChecks.plist
│ │ ├── SherpaOnnxTests/
│ │ │ └── SherpaOnnxTests.swift
│ │ └── SherpaOnnxUITests/
│ │ ├── SherpaOnnxUITests.swift
│ │ └── SherpaOnnxUITestsLaunchTests.swift
│ ├── SherpaOnnx2Pass/
│ │ ├── SherpaOnnx2Pass/
│ │ │ ├── Assets.xcassets/
│ │ │ │ ├── AccentColor.colorset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── AppIcon.appiconset/
│ │ │ │ │ └── Contents.json
│ │ │ │ └── Contents.json
│ │ │ ├── ContentView.swift
│ │ │ ├── Extension.swift
│ │ │ ├── Info.plist
│ │ │ ├── Model.swift
│ │ │ ├── Preview Content/
│ │ │ │ └── Preview Assets.xcassets/
│ │ │ │ └── Contents.json
│ │ │ ├── SherpaOnnx2PassApp.swift
│ │ │ └── SherpaOnnxViewModel.swift
│ │ └── SherpaOnnx2Pass.xcodeproj/
│ │ ├── project.pbxproj
│ │ └── project.xcworkspace/
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata/
│ │ └── IDEWorkspaceChecks.plist
│ ├── SherpaOnnxLangID/
│ │ ├── SherpaOnnxLangID/
│ │ │ ├── Assets.xcassets/
│ │ │ │ ├── AccentColor.colorset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── AppIcon 1.appiconset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── AppIcon.appiconset/
│ │ │ │ │ └── Contents.json
│ │ │ │ └── Contents.json
│ │ │ ├── ContentView.swift
│ │ │ ├── Info.plist
│ │ │ ├── Preview Content/
│ │ │ │ └── Preview Assets.xcassets/
│ │ │ │ └── Contents.json
│ │ │ ├── SherpaOnnxLangIDApp.swift
│ │ │ └── ViewModel.swift
│ │ ├── SherpaOnnxLangID.xcodeproj/
│ │ │ ├── project.pbxproj
│ │ │ └── project.xcworkspace/
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ └── IDEWorkspaceChecks.plist
│ │ ├── SherpaOnnxLangIDTests/
│ │ │ └── SherpaOnnxLangIDTests.swift
│ │ └── SherpaOnnxLangIDUITests/
│ │ ├── SherpaOnnxLangIDUITests.swift
│ │ └── SherpaOnnxLangIDUITestsLaunchTests.swift
│ ├── SherpaOnnxSubtitle/
│ │ ├── .gitignore
│ │ ├── SherpaOnnxSubtitle/
│ │ │ ├── Assets.xcassets/
│ │ │ │ ├── AccentColor.colorset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── AppIcon.appiconset/
│ │ │ │ │ └── Contents.json
│ │ │ │ └── Contents.json
│ │ │ ├── ContentView.swift
│ │ │ ├── Extensions/
│ │ │ │ └── UTType.swift
│ │ │ ├── Info.plist
│ │ │ ├── Models/
│ │ │ │ ├── Audio.swift
│ │ │ │ ├── Document.swift
│ │ │ │ ├── Errors.swift
│ │ │ │ └── SpeechSegment.swift
│ │ │ ├── Preview Content/
│ │ │ │ └── Preview Assets.xcassets/
│ │ │ │ └── Contents.json
│ │ │ ├── SherpaOnnxSubtitleApp.swift
│ │ │ └── SubtitleViewModel.swift
│ │ └── SherpaOnnxSubtitle.xcodeproj/
│ │ ├── project.pbxproj
│ │ └── project.xcworkspace/
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata/
│ │ └── IDEWorkspaceChecks.plist
│ └── SherpaOnnxTts/
│ ├── SherpaOnnxTts/
│ │ ├── Assets.xcassets/
│ │ │ ├── AccentColor.colorset/
│ │ │ │ └── Contents.json
│ │ │ ├── AppIcon.appiconset/
│ │ │ │ └── Contents.json
│ │ │ └── Contents.json
│ │ ├── ContentView.swift
│ │ ├── Info.plist
│ │ ├── Preview Content/
│ │ │ └── Preview Assets.xcassets/
│ │ │ └── Contents.json
│ │ ├── SherpaOnnxTtsApp.swift
│ │ └── ViewModel.swift
│ └── SherpaOnnxTts.xcodeproj/
│ ├── project.pbxproj
│ └── project.xcworkspace/
│ ├── contents.xcworkspacedata
│ └── xcshareddata/
│ └── IDEWorkspaceChecks.plist
├── java-api-examples/
│ ├── .gitignore
│ ├── AudioTaggingCEDFromFile.java
│ ├── AudioTaggingZipformerFromFile.java
│ ├── InverseTextNormalizationNonStreamingParaformer.java
│ ├── InverseTextNormalizationStreamingTransducer.java
│ ├── KeywordSpotterFromFile.java
│ ├── NonStreamingDecodeFileDolphinCtc.java
│ ├── NonStreamingDecodeFileFireRedAsr.java
│ ├── NonStreamingDecodeFileFireRedAsrCtc.java
│ ├── NonStreamingDecodeFileFunAsrNano.java
│ ├── NonStreamingDecodeFileMedAsrCtc.java
│ ├── NonStreamingDecodeFileMoonshine.java
│ ├── NonStreamingDecodeFileMoonshineV2.java
│ ├── NonStreamingDecodeFileNemo.java
│ ├── NonStreamingDecodeFileNemoCanary.java
│ ├── NonStreamingDecodeFileOmnilingualAsrCtc.java
│ ├── NonStreamingDecodeFileParaformer.java
│ ├── NonStreamingDecodeFileSenseVoice.java
│ ├── NonStreamingDecodeFileSenseVoiceWithHr.java
│ ├── NonStreamingDecodeFileTeleSpeechCtc.java
│ ├── NonStreamingDecodeFileTransducer.java
│ ├── NonStreamingDecodeFileTransducerHotwords.java
│ ├── NonStreamingDecodeFileWenetCtc.java
│ ├── NonStreamingDecodeFileWhisper.java
│ ├── NonStreamingDecodeFileWhisperMultiple.java
│ ├── NonStreamingDecodeFileZipformerCtc.java
│ ├── NonStreamingSpeechEnhancementDpdfNet.java
│ ├── NonStreamingSpeechEnhancementGtcrn.java
│ ├── NonStreamingTtsCoquiDe.java
│ ├── NonStreamingTtsKittenEn.java
│ ├── NonStreamingTtsKokoroEn.java
│ ├── NonStreamingTtsKokoroZhEn.java
│ ├── NonStreamingTtsMatchaEn.java
│ ├── NonStreamingTtsMatchaZh.java
│ ├── NonStreamingTtsPiperEn.java
│ ├── NonStreamingTtsPiperEnWithCallback.java
│ ├── NonStreamingTtsVitsZh.java
│ ├── NonStreamingWebsocketClient.java
│ ├── OfflineAddPunctuation.java
│ ├── OfflineSpeakerDiarizationDemo.java
│ ├── OnlineAddPunctuation.java
│ ├── PocketTts.java
│ ├── README.md
│ ├── SpeakerIdentification.java
│ ├── SpokenLanguageIdentificationWhisper.java
│ ├── StreamingAsrFromMicTransducer.java
│ ├── StreamingDecodeFileCtc.java
│ ├── StreamingDecodeFileCtcHLG.java
│ ├── StreamingDecodeFileParaformer.java
│ ├── StreamingDecodeFileToneCtc.java
│ ├── StreamingDecodeFileTransducer.java
│ ├── StreamingSpeechEnhancementDpdfNet.java
│ ├── StreamingSpeechEnhancementGtcrn.java
│ ├── SupertonicTts.java
│ ├── TenVadRemoveSilence.java
│ ├── VadFromMic.java
│ ├── VadFromMicWithNonStreamingMoonshine.java
│ ├── VadFromMicWithNonStreamingParaformer.java
│ ├── VadFromMicWithNonStreamingSenseVoice.java
│ ├── VadFromMicWithNonStreamingWhisper.java
│ ├── VadNonStreamingDolphinCtc.java
│ ├── VadNonStreamingParaformer.java
│ ├── VadNonStreamingSenseVoice.java
│ ├── VadRemoveSilence.java
│ ├── VersionTest.java
│ ├── ZipVoiceTts.java
│ ├── run-audio-tagging-ced-from-file.sh
│ ├── run-audio-tagging-zipformer-from-file.sh
│ ├── run-inverse-text-normalization-paraformer.sh
│ ├── run-inverse-text-normalization-transducer.sh
│ ├── run-kws-from-file.sh
│ ├── run-non-streaming-decode-file-dolphin-ctc.sh
│ ├── run-non-streaming-decode-file-fire-red-asr-ctc.sh
│ ├── run-non-streaming-decode-file-fire-red-asr.sh
│ ├── run-non-streaming-decode-file-funasr-nano.sh
│ ├── run-non-streaming-decode-file-medasr-ctc.sh
│ ├── run-non-streaming-decode-file-moonshine-v2.sh
│ ├── run-non-streaming-decode-file-moonshine.sh
│ ├── run-non-streaming-decode-file-nemo-canary.sh
│ ├── run-non-streaming-decode-file-nemo.sh
│ ├── run-non-streaming-decode-file-omnilingual-asr-ctc.sh
│ ├── run-non-streaming-decode-file-paraformer.sh
│ ├── run-non-streaming-decode-file-sense-voice-with-hr.sh
│ ├── run-non-streaming-decode-file-sense-voice.sh
│ ├── run-non-streaming-decode-file-tele-speech-ctc.sh
│ ├── run-non-streaming-decode-file-transducer-hotwords.sh
│ ├── run-non-streaming-decode-file-transducer.sh
│ ├── run-non-streaming-decode-file-wenet-ctc.sh
│ ├── run-non-streaming-decode-file-whisper-multiple.sh
│ ├── run-non-streaming-decode-file-whisper.sh
│ ├── run-non-streaming-decode-file-zipformer-ctc.sh
│ ├── run-non-streaming-speech-enhancement-dpdfnet.sh
│ ├── run-non-streaming-speech-enhancement-gtcrn.sh
│ ├── run-non-streaming-tts-coqui-de.sh
│ ├── run-non-streaming-tts-kitten-en.sh
│ ├── run-non-streaming-tts-kokoro-en.sh
│ ├── run-non-streaming-tts-kokoro-zh-en.sh
│ ├── run-non-streaming-tts-matcha-en.sh
│ ├── run-non-streaming-tts-matcha-zh.sh
│ ├── run-non-streaming-tts-piper-en-with-callback.sh
│ ├── run-non-streaming-tts-piper-en.sh
│ ├── run-non-streaming-tts-vits-zh.sh
│ ├── run-non-streaming-websocket-client.sh
│ ├── run-offline-add-punctuation-zh-en.sh
│ ├── run-offline-speaker-diarization.sh
│ ├── run-online-add-punctuation-zh-en.sh
│ ├── run-pocket-tts.sh
│ ├── run-speaker-identification.sh
│ ├── run-spoken-language-identification-whisper.sh
│ ├── run-streaming-asr-from-mic-transducer.sh
│ ├── run-streaming-decode-file-ctc-hlg.sh
│ ├── run-streaming-decode-file-ctc.sh
│ ├── run-streaming-decode-file-paraformer.sh
│ ├── run-streaming-decode-file-tone-ctc.sh
│ ├── run-streaming-decode-file-transducer.sh
│ ├── run-streaming-speech-enhancement-dpdfnet.sh
│ ├── run-streaming-speech-enhancement-gtcrn.sh
│ ├── run-supertonic-tts.sh
│ ├── run-ten-vad-remove-silence.sh
│ ├── run-vad-from-mic-non-streaming-moonshine.sh
│ ├── run-vad-from-mic-non-streaming-paraformer.sh
│ ├── run-vad-from-mic-non-streaming-sense-voice.sh
│ ├── run-vad-from-mic-non-streaming-whisper.sh
│ ├── run-vad-from-mic.sh
│ ├── run-vad-non-streaming-dolphin-ctc.sh
│ ├── run-vad-non-streaming-paraformer.sh
│ ├── run-vad-non-streaming-sense-voice.sh
│ ├── run-vad-remove-silence.sh
│ ├── run-version-test.sh
│ ├── run-zipvoice-tts.sh
│ └── src/
│ └── websocketsrv/
│ ├── AsrWebsocketClient.java
│ ├── AsrWebsocketServer.java
│ ├── ConnectionData.java
│ ├── DecoderThreadHandler.java
│ └── StreamThreadHandler.java
├── jitpack.yml
├── kotlin-api-examples/
│ ├── .gitignore
│ ├── faked-asset-manager.kt
│ ├── faked-log.kt
│ ├── test_audio_tagging.kt
│ ├── test_itn_offline_asr.kt
│ ├── test_itn_online_asr.kt
│ ├── test_language_id.kt
│ ├── test_offline_asr.kt
│ ├── test_offline_fire_red_asr_ctc.kt
│ ├── test_offline_funasr_nano.kt
│ ├── test_offline_medasr_ctc.kt
│ ├── test_offline_moonshine_asr_v2.kt
│ ├── test_offline_nemo_canary.kt
│ ├── test_offline_omnilingual_asr_ctc.kt
│ ├── test_offline_punctuation.kt
│ ├── test_offline_sense_voice_with_hr.kt
│ ├── test_offline_speaker_diarization.kt
│ ├── test_offline_speech_denoiser.kt
│ ├── test_offline_speech_denoiser_dpdfnet.kt
│ ├── test_offline_wenet_ctc.kt
│ ├── test_online_asr.kt
│ ├── test_online_punctuation.kt
│ ├── test_online_speech_denoiser.kt
│ ├── test_pocket_tts.kt
│ ├── test_speaker_id.kt
│ ├── test_supertonic_tts.kt
│ ├── test_tts.kt
│ ├── test_version.kt
│ └── test_zipvoice_tts.kt
├── lazarus-examples/
│ ├── .gitignore
│ └── README.md
├── mfc-examples/
│ ├── .gitignore
│ ├── NonStreamingSpeechRecognition/
│ │ ├── NonStreamingSpeechRecognition.cpp
│ │ ├── NonStreamingSpeechRecognition.h
│ │ ├── NonStreamingSpeechRecognition.rc
│ │ ├── NonStreamingSpeechRecognition.vcxproj
│ │ ├── NonStreamingSpeechRecognition.vcxproj.filters
│ │ ├── NonStreamingSpeechRecognitionDlg.cpp
│ │ ├── NonStreamingSpeechRecognitionDlg.h
│ │ ├── Resource.h
│ │ ├── framework.h
│ │ ├── pch.cpp
│ │ ├── pch.h
│ │ ├── res/
│ │ │ └── NonStreamingSpeechRecognition.rc2
│ │ ├── sherpa-onnx-deps.props
│ │ └── targetver.h
│ ├── NonStreamingTextToSpeech/
│ │ ├── NonStreamingTextToSpeech.cpp
│ │ ├── NonStreamingTextToSpeech.h
│ │ ├── NonStreamingTextToSpeech.rc
│ │ ├── NonStreamingTextToSpeech.vcxproj
│ │ ├── NonStreamingTextToSpeech.vcxproj.filters
│ │ ├── NonStreamingTextToSpeechDlg.cpp
│ │ ├── NonStreamingTextToSpeechDlg.h
│ │ ├── Resource.h
│ │ ├── framework.h
│ │ ├── pch.cpp
│ │ ├── pch.h
│ │ ├── res/
│ │ │ └── NonStreamingTextToSpeech.rc2
│ │ ├── sherpa-onnx-deps.props
│ │ └── targetver.h
│ ├── README.md
│ ├── StreamingSpeechRecognition/
│ │ ├── Resource.h
│ │ ├── StreamingSpeechRecognition.cpp
│ │ ├── StreamingSpeechRecognition.h
│ │ ├── StreamingSpeechRecognition.rc
│ │ ├── StreamingSpeechRecognition.vcxproj
│ │ ├── StreamingSpeechRecognition.vcxproj.filters
│ │ ├── StreamingSpeechRecognitionDlg.cpp
│ │ ├── StreamingSpeechRecognitionDlg.h
│ │ ├── framework.h
│ │ ├── pch.cpp
│ │ ├── pch.h
│ │ ├── res/
│ │ │ └── StreamingSpeechRecognition.rc2
│ │ ├── sherpa-onnx-deps.props
│ │ └── targetver.h
│ └── mfc-examples.sln
├── new-release.sh
├── nodejs-addon-examples/
│ ├── .gitignore
│ ├── README.md
│ ├── package.json
│ ├── test_asr_non_streaming_dolphin_ctc.js
│ ├── test_asr_non_streaming_fire_red_asr.js
│ ├── test_asr_non_streaming_fire_red_asr_ctc.js
│ ├── test_asr_non_streaming_fire_red_asr_ctc_async.js
│ ├── test_asr_non_streaming_funasr_nano.js
│ ├── test_asr_non_streaming_funasr_nano_async.js
│ ├── test_asr_non_streaming_medasr_ctc.js
│ ├── test_asr_non_streaming_moonshine.js
│ ├── test_asr_non_streaming_moonshine_v2.js
│ ├── test_asr_non_streaming_nemo_canary.js
│ ├── test_asr_non_streaming_nemo_ctc.js
│ ├── test_asr_non_streaming_nemo_parakeet_tdt_v2.js
│ ├── test_asr_non_streaming_omnilingual_asr_ctc.js
│ ├── test_asr_non_streaming_paraformer.js
│ ├── test_asr_non_streaming_paraformer_itn.js
│ ├── test_asr_non_streaming_sense_voice.js
│ ├── test_asr_non_streaming_sense_voice_with_hr.js
│ ├── test_asr_non_streaming_transducer.js
│ ├── test_asr_non_streaming_wenet_ctc.js
│ ├── test_asr_non_streaming_whisper.js
│ ├── test_asr_non_streaming_zipformer_ctc.js
│ ├── test_asr_streaming_ctc.js
│ ├── test_asr_streaming_ctc_hlg.js
│ ├── test_asr_streaming_ctc_hlg_microphone.js
│ ├── test_asr_streaming_ctc_microphone.js
│ ├── test_asr_streaming_paraformer.js
│ ├── test_asr_streaming_paraformer_microphone.js
│ ├── test_asr_streaming_t_one_ctc.js
│ ├── test_asr_streaming_transducer.js
│ ├── test_asr_streaming_transducer_itn.js
│ ├── test_asr_streaming_transducer_microphone.js
│ ├── test_asr_streaming_transducer_microphone_itn.js
│ ├── test_asr_streaming_transducer_with_hr.js
│ ├── test_audio_tagging_ced.js
│ ├── test_audio_tagging_zipformer.js
│ ├── test_keyword_spotter_transducer.js
│ ├── test_keyword_spotter_transducer_microphone.js
│ ├── test_offline_punctuation.js
│ ├── test_offline_speaker_diarization.js
│ ├── test_offline_speech_enhancement_dpdfnet.js
│ ├── test_offline_speech_enhancement_gtcrn.js
│ ├── test_online_punctuation.js
│ ├── test_online_speech_enhancement_dpdfnet.js
│ ├── test_online_speech_enhancement_gtcrn.js
│ ├── test_speaker_identification.js
│ ├── test_spoken_language_identification.js
│ ├── test_tts_non_streaming_kitten_en.js
│ ├── test_tts_non_streaming_kokoro_en.js
│ ├── test_tts_non_streaming_kokoro_zh_en.js
│ ├── test_tts_non_streaming_matcha_icefall_en.js
│ ├── test_tts_non_streaming_matcha_icefall_zh.js
│ ├── test_tts_non_streaming_pocket_en.js
│ ├── test_tts_non_streaming_pocket_en_async.js
│ ├── test_tts_non_streaming_pocket_en_play_async.js
│ ├── test_tts_non_streaming_supertonic_en.js
│ ├── test_tts_non_streaming_supertonic_en_async.js
│ ├── test_tts_non_streaming_supertonic_en_play_async.js
│ ├── test_tts_non_streaming_vits_coqui_de.js
│ ├── test_tts_non_streaming_vits_piper_en.js
│ ├── test_tts_non_streaming_vits_zh_aishell3.js
│ ├── test_tts_non_streaming_vits_zh_ll.js
│ ├── test_tts_non_streaming_zipvoice_zh_en.js
│ ├── test_tts_non_streaming_zipvoice_zh_en_async.js
│ ├── test_tts_non_streaming_zipvoice_zh_en_play_async.js
│ ├── test_vad_asr_non_streaming_moonshine_microphone.js
│ ├── test_vad_asr_non_streaming_nemo_ctc_microphone.js
│ ├── test_vad_asr_non_streaming_paraformer_microphone.js
│ ├── test_vad_asr_non_streaming_sense_voice_microphone.js
│ ├── test_vad_asr_non_streaming_transducer_microphone.js
│ ├── test_vad_asr_non_streaming_whisper_microphone.js
│ ├── test_vad_asr_non_streaming_zipformer_ctc_microphone.js
│ ├── test_vad_microphone.js
│ ├── test_vad_spoken_language_identification_microphone.js
│ ├── test_vad_with_non_streaming_asr_moonshine.js
│ └── test_vad_with_non_streaming_asr_whisper.js
├── nodejs-examples/
│ ├── .gitignore
│ ├── README.md
│ ├── package.json
│ ├── test-keyword-spotter-transducer.js
│ ├── test-offline-dolphin-ctc.js
│ ├── test-offline-fire-red-asr-ctc.js
│ ├── test-offline-fire-red-asr.js
│ ├── test-offline-funasr-nano.js
│ ├── test-offline-medasr-ctc.js
│ ├── test-offline-moonshine-v2.js
│ ├── test-offline-moonshine.js
│ ├── test-offline-nemo-canary.js
│ ├── test-offline-nemo-ctc.js
│ ├── test-offline-omnilingual-asr-ctc.js
│ ├── test-offline-paraformer-itn.js
│ ├── test-offline-paraformer.js
│ ├── test-offline-sense-voice-with-hr.js
│ ├── test-offline-sense-voice.js
│ ├── test-offline-speaker-diarization.js
│ ├── test-offline-speech-enhancement-dpdfnet.js
│ ├── test-offline-speech-enhancement-gtcrn.js
│ ├── test-offline-transducer.js
│ ├── test-offline-tts-kitten-en.js
│ ├── test-offline-tts-kokoro-en.js
│ ├── test-offline-tts-kokoro-zh-en.js
│ ├── test-offline-tts-matcha-en.js
│ ├── test-offline-tts-matcha-zh.js
│ ├── test-offline-tts-pocket-en.js
│ ├── test-offline-tts-vits-en.js
│ ├── test-offline-tts-vits-zh.js
│ ├── test-offline-tts-zipvoice-zh-en.js
│ ├── test-offline-wenet-ctc.js
│ ├── test-offline-whisper.js
│ ├── test-offline-zipformer-ctc.js
│ ├── test-online-paraformer-microphone-mic.js
│ ├── test-online-paraformer-microphone.js
│ ├── test-online-paraformer.js
│ ├── test-online-speech-enhancement-dpdfnet.js
│ ├── test-online-speech-enhancement-gtcrn.js
│ ├── test-online-t-one-ctc.js
│ ├── test-online-transducer-itn.js
│ ├── test-online-transducer-microphone.js
│ ├── test-online-transducer.js
│ ├── test-online-zipformer2-ctc-hlg.js
│ ├── test-online-zipformer2-ctc.js
│ ├── test-vad-with-non-streaming-asr-moonshine.js
│ └── test-vad-with-non-streaming-asr-whisper.js
├── pascal-api-examples/
│ ├── .gitignore
│ ├── README.md
│ ├── non-streaming-asr/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── dolphin_ctc.pas
│ │ ├── fire_red_asr.pas
│ │ ├── fire_red_asr_ctc.pas
│ │ ├── funasr_nano.pas
│ │ ├── medasr_ctc.pas
│ │ ├── moonshine.pas
│ │ ├── moonshine_v2.pas
│ │ ├── nemo_canary.pas
│ │ ├── nemo_ctc.pas
│ │ ├── nemo_transducer.pas
│ │ ├── omnilingual_asr_ctc.pas
│ │ ├── paraformer.pas
│ │ ├── paraformer_itn.pas
│ │ ├── run-dolphin-ctc.sh
│ │ ├── run-fire-red-asr-ctc.sh
│ │ ├── run-fire-red-asr.sh
│ │ ├── run-funasr-nano.sh
│ │ ├── run-medasr-ctc.sh
│ │ ├── run-moonshine-v2.sh
│ │ ├── run-moonshine.sh
│ │ ├── run-nemo-canary.sh
│ │ ├── run-nemo-ctc.sh
│ │ ├── run-nemo-transducer.sh
│ │ ├── run-omnilingual-asr-ctc.sh
│ │ ├── run-paraformer-itn.sh
│ │ ├── run-paraformer.sh
│ │ ├── run-sense-voice.sh
│ │ ├── run-telespeech-ctc.sh
│ │ ├── run-wenet-ctc.sh
│ │ ├── run-whisper.sh
│ │ ├── run-zipformer-ctc.sh
│ │ ├── run-zipformer-transducer.sh
│ │ ├── sense_voice.pas
│ │ ├── telespeech_ctc.pas
│ │ ├── wenet_ctc.pas
│ │ ├── whisper.pas
│ │ ├── zipformer_ctc.pas
│ │ └── zipformer_transducer.pas
│ ├── portaudio-test/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── test-play.pas
│ │ └── test-record.pas
│ ├── read-wav/
│ │ ├── .gitignore
│ │ └── main.pas
│ ├── speaker-diarization/
│ │ └── main.pas
│ ├── speech-enhancement-dpdfnet/
│ │ ├── .gitignore
│ │ └── dpdfnet.pas
│ ├── speech-enhancement-gtcrn/
│ │ ├── .gitignore
│ │ └── gtcrn.pas
│ ├── streaming-asr/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── nemo_transducer.pas
│ │ ├── paraformer.pas
│ │ ├── run-nemo-transducer.sh
│ │ ├── run-paraformer.sh
│ │ ├── run-t-one-ctc.sh
│ │ ├── run-zipformer-ctc-hlg.sh
│ │ ├── run-zipformer-ctc.sh
│ │ ├── run-zipformer-transducer.sh
│ │ ├── t_one_ctc.pas
│ │ ├── zipformer_ctc.pas
│ │ ├── zipformer_ctc_hlg.pas
│ │ └── zipformer_transducer.pas
│ ├── streaming-speech-enhancement-dpdfnet/
│ │ ├── .gitignore
│ │ └── dpdfnet.pas
│ ├── streaming-speech-enhancement-gtcrn/
│ │ ├── .gitignore
│ │ └── gtcrn.pas
│ ├── tts/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── kitten-en-playback.pas
│ │ ├── kitten-en.pas
│ │ ├── kokoro-en-playback.pas
│ │ ├── kokoro-en.pas
│ │ ├── kokoro-zh-en-playback.pas
│ │ ├── kokoro-zh-en.pas
│ │ ├── matcha-en-playback.pas
│ │ ├── matcha-en.pas
│ │ ├── matcha-zh-playback.pas
│ │ ├── matcha-zh.pas
│ │ ├── piper-playback.pas
│ │ ├── piper.pas
│ │ ├── pocket-en.pas
│ │ ├── run-kitten-en-playback.sh
│ │ ├── run-kitten-en.sh
│ │ ├── run-kokoro-en-playback.sh
│ │ ├── run-kokoro-en.sh
│ │ ├── run-kokoro-zh-en-playback.sh
│ │ ├── run-kokoro-zh-en.sh
│ │ ├── run-matcha-en-playback.sh
│ │ ├── run-matcha-en.sh
│ │ ├── run-matcha-zh-playback.sh
│ │ ├── run-matcha-zh.sh
│ │ ├── run-piper-playback.sh
│ │ ├── run-piper.sh
│ │ ├── run-pocket-en.sh
│ │ ├── run-supertonic-en.sh
│ │ ├── run-zipvoice-zh-en.sh
│ │ ├── supertonic-en.pas
│ │ └── zipvoice-zh-en.pas
│ ├── vad/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── circular_buffer.pas
│ │ ├── remove_silence.pas
│ │ ├── remove_silence_ten_vad.pas
│ │ ├── run-circular-buffer.sh
│ │ ├── run-remove-silence-ten-vad.sh
│ │ └── run-remove-silence.sh
│ └── vad-with-non-streaming-asr/
│ ├── .gitignore
│ ├── README.md
│ ├── run-vad-with-dolphin-ctc.sh
│ ├── run-vad-with-moonshine.sh
│ ├── run-vad-with-sense-voice.sh
│ ├── run-vad-with-whisper.sh
│ ├── run-vad-with-zipformer-ctc.sh
│ ├── vad_with_dolphin.pas
│ ├── vad_with_moonshine.pas
│ ├── vad_with_sense_voice.pas
│ ├── vad_with_whisper.pas
│ └── vad_with_zipformer_ctc.pas
├── pom.xml
├── python-api-examples/
│ ├── README.md
│ ├── add-punctuation-online.py
│ ├── add-punctuation.py
│ ├── audio-tagging-from-a-file-ced.py
│ ├── audio-tagging-from-a-file.py
│ ├── generate-subtitles.py
│ ├── http_server.py
│ ├── inverse-text-normalization-offline-asr.py
│ ├── inverse-text-normalization-online-asr.py
│ ├── keyword-spotter-from-microphone.py
│ ├── keyword-spotter.py
│ ├── non_streaming_server.py
│ ├── offline-decode-files.py
│ ├── offline-dolphin-ctc-decode-files.py
│ ├── offline-fire-red-asr-ctc-decode-files.py
│ ├── offline-fire-red-asr-decode-files.py
│ ├── offline-funasr-nano-decode-files.py
│ ├── offline-medasr-ctc-decode-files.py
│ ├── offline-moonshine-decode-files-v2.py
│ ├── offline-moonshine-decode-files.py
│ ├── offline-nemo-canary-decode-files.py
│ ├── offline-nemo-ctc-decode-files.py
│ ├── offline-nemo-parakeet-decode-file.py
│ ├── offline-nemo-transducer-decode-files.py
│ ├── offline-omnilingual-asr-ctc-decode-files.py
│ ├── offline-omnilingual-asr-ctc-v2-decode-files.py
│ ├── offline-sense-voice-ctc-decode-files-with-hr.py
│ ├── offline-sense-voice-ctc-decode-files.py
│ ├── offline-source-separation-spleeter.py
│ ├── offline-source-separation-uvr.py
│ ├── offline-speaker-diarization.py
│ ├── offline-speech-enhancement-dpdfnet.py
│ ├── offline-speech-enhancement-gtcrn.py
│ ├── offline-telespeech-ctc-decode-files.py
│ ├── offline-tts-play.py
│ ├── offline-tts.py
│ ├── offline-websocket-client-decode-files-paralell.py
│ ├── offline-websocket-client-decode-files-sequential.py
│ ├── offline-whisper-decode-files.py
│ ├── offline-zipformer-ctc-decode-files.py
│ ├── online-decode-files.py
│ ├── online-nemo-ctc-decode-files.py
│ ├── online-speech-enhancement-dpdfnet.py
│ ├── online-speech-enhancement-gtcrn.py
│ ├── online-t-one-ctc-decode-files.py
│ ├── online-websocket-client-decode-file.py
│ ├── online-websocket-client-microphone.py
│ ├── online-zipformer-ctc-hlg-decode-file.py
│ ├── pocket-tts-play.py
│ ├── pocket-tts.py
│ ├── simulate-streaming-paraformer-microphone.py
│ ├── simulate-streaming-sense-voice-microphone.py
│ ├── speaker-identification-with-vad-dynamic.py
│ ├── speaker-identification-with-vad-non-streaming-asr-alsa.py
│ ├── speaker-identification-with-vad-non-streaming-asr.py
│ ├── speaker-identification-with-vad.py
│ ├── speaker-identification.py
│ ├── speech-recognition-from-microphone-with-endpoint-detection-alsa.py
│ ├── speech-recognition-from-microphone-with-endpoint-detection.py
│ ├── speech-recognition-from-microphone.py
│ ├── speech-recognition-from-url.py
│ ├── spoken-language-identification.py
│ ├── streaming-paraformer-asr-microphone.py
│ ├── streaming_server.py
│ ├── supertonic-tts.py
│ ├── test-sentence-piece-tokenizer.py
│ ├── test-whisper-timestamps.py
│ ├── two-pass-speech-recognition-from-microphone.py
│ ├── two-pass-wss.py
│ ├── vad-alsa.py
│ ├── vad-microphone.py
│ ├── vad-remove-non-speech-segments-alsa.py
│ ├── vad-remove-non-speech-segments-from-file.py
│ ├── vad-remove-non-speech-segments.py
│ ├── vad-with-non-streaming-asr.py
│ ├── web/
│ │ ├── .gitignore
│ │ ├── generate-certificate.py
│ │ ├── index.html
│ │ ├── js/
│ │ │ ├── offline_record.js
│ │ │ ├── streaming_record.js
│ │ │ └── upload.js
│ │ ├── nav-partial.html
│ │ ├── offline_record.html
│ │ ├── start-https-server.py
│ │ ├── streaming_record.html
│ │ └── upload.html
│ ├── zipvoice-tts-play.py
│ └── zipvoice-tts.py
├── release.sh
├── rust-api-examples/
│ ├── .gitignore
│ ├── Cargo.toml
│ ├── README.md
│ ├── examples/
│ │ ├── audio_tagging_ced.rs
│ │ ├── audio_tagging_zipformer.rs
│ │ ├── fire_red_asr_ctc.rs
│ │ ├── keyword_spotter.rs
│ │ ├── kitten_tts_en.rs
│ │ ├── kokoro_tts_en.rs
│ │ ├── kokoro_tts_zh_en.rs
│ │ ├── matcha_tts_en.rs
│ │ ├── matcha_tts_zh.rs
│ │ ├── moonshine_v2.rs
│ │ ├── nemo_parakeet.rs
│ │ ├── offline_punctuation.rs
│ │ ├── offline_speaker_diarization.rs
│ │ ├── offline_speech_enhancement_dpdfnet.rs
│ │ ├── offline_speech_enhancement_gtcrn.rs
│ │ ├── online_punctuation.rs
│ │ ├── pocket_tts.rs
│ │ ├── sense_voice.rs
│ │ ├── silero_vad_remove_silence.rs
│ │ ├── speaker_embedding_cosine_similarity.rs
│ │ ├── speaker_embedding_extractor.rs
│ │ ├── speaker_embedding_manager.rs
│ │ ├── spoken_language_identification.rs
│ │ ├── streaming_speech_enhancement_dpdfnet.rs
│ │ ├── streaming_speech_enhancement_gtcrn.rs
│ │ ├── streaming_zipformer.rs
│ │ ├── streaming_zipformer_microphone.rs
│ │ ├── supertonic_tts.rs
│ │ ├── version.rs
│ │ ├── vits_tts.rs
│ │ └── zipvoice_tts.rs
│ ├── run-audio-tagging-ced.sh
│ ├── run-audio-tagging-zipformer.sh
│ ├── run-fire-red-asr-ctc.sh
│ ├── run-keyword-spotter.sh
│ ├── run-kitten-tts-en.sh
│ ├── run-kokoro-tts-en.sh
│ ├── run-kokoro-tts-zh-en.sh
│ ├── run-matcha-tts-en.sh
│ ├── run-matcha-tts-zh.sh
│ ├── run-moonshine-v2.sh
│ ├── run-nemo-parakeet-en.sh
│ ├── run-offline-punctuation.sh
│ ├── run-offline-speaker-diarization.sh
│ ├── run-offline-speech-enhancement-dpdfnet.sh
│ ├── run-offline-speech-enhancement-gtcrn.sh
│ ├── run-online-punctuation.sh
│ ├── run-pocket-tts.sh
│ ├── run-sense-voice.sh
│ ├── run-silero-vad-remove-silence.sh
│ ├── run-speaker-embedding-cosine-similarity.sh
│ ├── run-speaker-embedding-extractor.sh
│ ├── run-speaker-embedding-manager.sh
│ ├── run-spoken-language-identification.sh
│ ├── run-streaming-speech-enhancement-dpdfnet.sh
│ ├── run-streaming-speech-enhancement-gtcrn.sh
│ ├── run-streaming-zipformer-en.sh
│ ├── run-streaming-zipformer-microphone-zh-en.sh
│ ├── run-streaming-zipformer-zh-en.sh
│ ├── run-supertonic-tts.sh
│ ├── run-version.sh
│ ├── run-vits-de.sh
│ ├── run-vits-en.sh
│ ├── run-zipformer-en.sh
│ ├── run-zipformer-vi.sh
│ ├── run-zipformer-zh-en.sh
│ └── run-zipvoice-tts.sh
├── scripts/
│ ├── 3dspeaker/
│ │ ├── README.md
│ │ ├── export-onnx.py
│ │ └── test-onnx.py
│ ├── apk/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── build-apk-asr-2pass.sh.in
│ │ ├── build-apk-asr.sh.in
│ │ ├── build-apk-audio-tagging-wearos.sh.in
│ │ ├── build-apk-audio-tagging.sh.in
│ │ ├── build-apk-qnn-vad-asr-simulate-streaming.sh.in
│ │ ├── build-apk-slid.sh.in
│ │ ├── build-apk-speaker-diarization.sh.in
│ │ ├── build-apk-speaker-identification.sh.in
│ │ ├── build-apk-tts-engine.sh.in
│ │ ├── build-apk-tts.sh.in
│ │ ├── build-apk-vad-asr-simulate-streaming.sh.in
│ │ ├── build-apk-vad-asr.sh.in
│ │ ├── generate-asr-2pass-apk-script.py
│ │ ├── generate-asr-apk-script.py
│ │ ├── generate-audio-tagging-apk-script.py
│ │ ├── generate-qnn-vad-asr-apk-script.py
│ │ ├── generate-slid-apk-script.py
│ │ ├── generate-speaker-diarization-apk-script.py
│ │ ├── generate-speaker-identification-apk-script.py
│ │ ├── generate-tts-apk-script.py
│ │ └── generate-vad-asr-apk-script.py
│ ├── bbpe/
│ │ ├── .gitignore
│ │ └── generate_bbpe_table.py
│ ├── benchmark/
│ │ ├── README.md
│ │ ├── download_librispeech_test_data.py
│ │ └── run_timestamp_benchmark.py
│ ├── check_style_cpplint.sh
│ ├── dart/
│ │ ├── add-punctuations-pubspec.yaml
│ │ ├── audio-tagging-pubspec.yaml
│ │ ├── kws-pubspec.yaml
│ │ ├── non-streaming-asr-pubspec.yaml
│ │ ├── release.sh
│ │ ├── sherpa-onnx-pubspec.yaml
│ │ ├── slid-pubspec.yaml
│ │ ├── speaker-diarization-pubspec.yaml
│ │ ├── speaker-id-pubspec.yaml
│ │ ├── speech-enhancement-dpdfnet-pubspec.yaml
│ │ ├── speech-enhancement-gtcrn-pubspec.yaml
│ │ ├── streaming-asr-pubspec.yaml
│ │ ├── streaming-speech-enhancement-dpdfnet-pubspec.yaml
│ │ ├── streaming-speech-enhancement-gtcrn-pubspec.yaml
│ │ ├── tts-pubspec.yaml
│ │ ├── vad-non-streaming-asr-pubspec.yaml
│ │ └── vad-pubspec.yaml
│ ├── dotnet/
│ │ ├── .gitignore
│ │ ├── AudioEvent.cs
│ │ ├── AudioTagging.cs
│ │ ├── AudioTaggingConfig.cs
│ │ ├── AudioTaggingModelConfig.cs
│ │ ├── CircularBuffer.cs
│ │ ├── DenoisedAudio.cs
│ │ ├── Dll.cs
│ │ ├── FastClusteringConfig.cs
│ │ ├── FeatureConfig.cs
│ │ ├── HomophoneReplacerConfig.cs
│ │ ├── KeywordResult.cs
│ │ ├── KeywordSpotter.cs
│ │ ├── KeywordSpotterConfig.cs
│ │ ├── OfflineCanaryModelConfig.cs
│ │ ├── OfflineDolphinModelConfig.cs
│ │ ├── OfflineFireRedAsrCtcModel.cs
│ │ ├── OfflineFireRedAsrModelConfig.cs
│ │ ├── OfflineFunAsrNanoModel.cs
│ │ ├── OfflineLMConfig.cs
│ │ ├── OfflineMedAsrCtcModel.cs
│ │ ├── OfflineModelConfig.cs
│ │ ├── OfflineMoonshineModelConfig.cs
│ │ ├── OfflineNemoEncDecCtcModelConfig.cs
│ │ ├── OfflineOmnilingualAsrCtcModel.cs
│ │ ├── OfflineParaformerModelConfig.cs
│ │ ├── OfflinePunctuation.cs
│ │ ├── OfflinePunctuationConfig.cs
│ │ ├── OfflinePunctuationModelConfig.cs
│ │ ├── OfflineRecognizer.cs
│ │ ├── OfflineRecognizerConfig.cs
│ │ ├── OfflineRecognizerResult.cs
│ │ ├── OfflineSenseVoiceModelConfig.cs
│ │ ├── OfflineSpeakerDiarization.cs
│ │ ├── OfflineSpeakerDiarizationConfig.cs
│ │ ├── OfflineSpeakerDiarizationSegment.cs
│ │ ├── OfflineSpeakerSegmentationModelConfig.cs
│ │ ├── OfflineSpeakerSegmentationPyannoteModelConfig.cs
│ │ ├── OfflineSpeechDenoiser.cs
│ │ ├── OfflineSpeechDenoiserConfig.cs
│ │ ├── OfflineSpeechDenoiserDpdfNetModelConfig.cs
│ │ ├── OfflineSpeechDenoiserGtcrnModelConfig.cs
│ │ ├── OfflineSpeechDenoiserModelConfig.cs
│ │ ├── OfflineStream.cs
│ │ ├── OfflineTdnnModelConfig.cs
│ │ ├── OfflineTransducerModelConfig.cs
│ │ ├── OfflineTts.cs
│ │ ├── OfflineTtsConfig.cs
│ │ ├── OfflineTtsGeneratedAudio.cs
│ │ ├── OfflineTtsGenerationConfig.cs
│ │ ├── OfflineTtsKittenModelConfig.cs
│ │ ├── OfflineTtsKokoroModelConfig.cs
│ │ ├── OfflineTtsMatchaModelConfig.cs
│ │ ├── OfflineTtsModelConfig.cs
│ │ ├── OfflineTtsPocketModelConfig.cs
│ │ ├── OfflineTtsSupertonicModelConfig.cs
│ │ ├── OfflineTtsVitsModelConfig.cs
│ │ ├── OfflineTtsZipVoiceModelConfig.cs
│ │ ├── OfflineWenetCtcModelConfig.cs
│ │ ├── OfflineWhisperModelConfig.cs
│ │ ├── OfflineZipformerAudioTaggingModelConfig.cs
│ │ ├── OfflineZipformerCtcModelConfig.cs
│ │ ├── OnlineCtcFstDecoderConfig.cs
│ │ ├── OnlineModelConfig.cs
│ │ ├── OnlineNemoCtcModelConfig.cs
│ │ ├── OnlineParaformerModelConfig.cs
│ │ ├── OnlineRecognizer.cs
│ │ ├── OnlineRecognizerConfig.cs
│ │ ├── OnlineRecognizerResult.cs
│ │ ├── OnlineSpeechDenoiser.cs
│ │ ├── OnlineSpeechDenoiserConfig.cs
│ │ ├── OnlineStream.cs
│ │ ├── OnlineToneCtcModelConfig.cs
│ │ ├── OnlineTransducerModelConfig.cs
│ │ ├── OnlineZipformer2CtcModelConfig.cs
│ │ ├── README.md
│ │ ├── SileroVadModelConfig.cs
│ │ ├── SpeakerEmbeddingExtractor.cs
│ │ ├── SpeakerEmbeddingExtractorConfig.cs
│ │ ├── SpeakerEmbeddingManager.cs
│ │ ├── SpeechSegment.cs
│ │ ├── SpokenLanguageIdentification.cs
│ │ ├── SpokenLanguageIdentificationConfig.cs
│ │ ├── SpokenLanguageIdentificationResult.cs
│ │ ├── SpokenLanguageIdentificationWhisperConfig.cs
│ │ ├── TenVadModelConfig.cs
│ │ ├── VadModelConfig.cs
│ │ ├── VersionInfo.cs
│ │ ├── VoiceActivityDetector.cs
│ │ ├── examples/
│ │ │ ├── Common.csproj
│ │ │ └── README.md
│ │ ├── generate.py
│ │ ├── sherpa-onnx.csproj.in
│ │ └── sherpa-onnx.csproj.runtime.in
│ ├── export_bpe_vocab.py
│ ├── flutter/
│ │ ├── .gitignore
│ │ ├── build-android-streaming-asr.sh.in
│ │ ├── build-android-tts.sh.in
│ │ ├── build-linux-streaming-asr.sh.in
│ │ ├── build-linux-tts.sh.in
│ │ ├── build-macos-streaming-asr.sh.in
│ │ ├── build-macos-tts.sh.in
│ │ ├── build-windows-streaming-asr.sh.in
│ │ ├── build-windows-tts.sh.in
│ │ ├── generate-streaming-asr.py
│ │ └── generate-tts.py
│ ├── go/
│ │ ├── README.md
│ │ ├── _internal/
│ │ │ ├── .gitignore
│ │ │ ├── add-punctuation/
│ │ │ │ └── go.mod
│ │ │ ├── add-punctuation-online/
│ │ │ │ └── go.mod
│ │ │ ├── build_darwin_amd64.go
│ │ │ ├── build_darwin_arm64.go
│ │ │ ├── build_linux_amd64.go
│ │ │ ├── build_linux_arm.go
│ │ │ ├── build_linux_arm64.go
│ │ │ ├── build_windows_386.go
│ │ │ ├── build_windows_amd64.go
│ │ │ ├── go.mod
│ │ │ ├── lib/
│ │ │ │ └── x86_64-pc-windows-gnu/
│ │ │ │ └── .gitkeep
│ │ │ ├── non-streaming-canary-decode-files/
│ │ │ │ └── go.mod
│ │ │ ├── non-streaming-funasr-nano-decode-files/
│ │ │ │ └── go.mod
│ │ │ ├── non-streaming-omnilingual-asr-ctc-decode-files/
│ │ │ │ └── go.mod
│ │ │ ├── non-streaming-speaker-diarization/
│ │ │ │ └── go.mod
│ │ │ ├── supertonic-tts/
│ │ │ │ └── go.mod
│ │ │ ├── vad-speaker-identification/
│ │ │ │ └── go.mod
│ │ │ ├── zero-shot-zipvoice-tts/
│ │ │ │ └── go.mod
│ │ │ └── zero-shot-zipvoice-tts-play/
│ │ │ └── go.mod
│ │ ├── defines.go.jinja
│ │ ├── generate.py
│ │ ├── release.sh
│ │ ├── sherpa_onnx.go
│ │ └── ssh_config
│ ├── gtcrn/
│ │ ├── README.md
│ │ ├── add_meta_data.py
│ │ ├── show.py
│ │ └── test.py
│ ├── hap/
│ │ ├── .gitignore
│ │ └── build-hap-vad-asr.sh.in
│ ├── kitten-tts/
│ │ ├── README.md
│ │ ├── mini_v0_1/
│ │ │ ├── add_meta_data.py
│ │ │ ├── convert_opset.py
│ │ │ └── generate_samples.py
│ │ ├── nano_v0_1/
│ │ │ ├── add_meta_data.py
│ │ │ ├── convert_opset.py
│ │ │ ├── generate_samples.py
│ │ │ ├── generate_tokens.py
│ │ │ ├── generate_voices_bin.py
│ │ │ ├── show.py
│ │ │ └── test.py
│ │ └── nano_v0_2/
│ │ ├── add_meta_data.py
│ │ ├── convert_opset.py
│ │ └── generate_samples.py
│ ├── kokoro/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── v0.19/
│ │ │ ├── .gitignore
│ │ │ ├── __init__.py
│ │ │ ├── add_meta_data.py
│ │ │ ├── dynamic_quantization.py
│ │ │ ├── generate_samples.py
│ │ │ ├── generate_tokens.py
│ │ │ ├── generate_voices_bin.py
│ │ │ └── test.py
│ │ ├── v1.0/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── __init__.py
│ │ │ ├── add_meta_data.py
│ │ │ ├── dynamic_quantization.py
│ │ │ ├── export_onnx.py
│ │ │ ├── generate_lexicon_en.py
│ │ │ ├── generate_lexicon_zh.py
│ │ │ ├── generate_samples.py
│ │ │ ├── generate_tokens.py
│ │ │ ├── generate_voices_bin.py
│ │ │ └── test.py
│ │ └── v1.1-zh/
│ │ ├── README.md
│ │ ├── add_meta_data.py
│ │ ├── dynamic_quantization.py
│ │ ├── export_onnx.py
│ │ ├── generate_lexicon_zh.py
│ │ ├── generate_samples.py
│ │ ├── generate_voices_bin.py
│ │ └── test.py
│ ├── lazarus/
│ │ └── generate-subtitles.py
│ ├── matcha-tts/
│ │ ├── README.md
│ │ ├── en/
│ │ │ └── generate_samples.py
│ │ ├── fa-en/
│ │ │ ├── .gitignore
│ │ │ ├── README.md
│ │ │ ├── add_meta_data.py
│ │ │ └── test.py
│ │ ├── zh/
│ │ │ └── generate_samples.py
│ │ └── zh-en/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── generate_lexicon.py
│ │ ├── generate_samples.py
│ │ ├── generate_tokens.py
│ │ └── test.py
│ ├── medasr/
│ │ ├── README.md
│ │ ├── export_onnx.py
│ │ └── test_onnx.py
│ ├── melo-tts/
│ │ ├── README.md
│ │ ├── export-onnx-en.py
│ │ ├── export-onnx.py
│ │ ├── show-info.py
│ │ └── test.py
│ ├── mobile-asr-models/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── dynamic_quantization.py
│ │ ├── generate-asr.py
│ │ ├── generate-kws.py
│ │ ├── parse_options.sh
│ │ └── run2.sh.in
│ ├── moonshine/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── export-onnx.py
│ │ ├── test.py
│ │ └── v2/
│ │ ├── README.md
│ │ ├── generate_tokens.py
│ │ └── test.py
│ ├── nemo/
│ │ ├── .gitignore
│ │ ├── GigaAM/
│ │ │ ├── README.md
│ │ │ ├── export-onnx-ctc-v2.py
│ │ │ ├── export-onnx-ctc-v3-punct.py
│ │ │ ├── export-onnx-ctc-v3.py
│ │ │ ├── export-onnx-ctc.py
│ │ │ ├── export-onnx-rnnt-v2.py
│ │ │ ├── export-onnx-rnnt-v3-punct.py
│ │ │ ├── export-onnx-rnnt-v3.py
│ │ │ ├── export-onnx-rnnt.py
│ │ │ ├── run-ctc-v2.sh
│ │ │ ├── run-ctc-v3-punct.sh
│ │ │ ├── run-ctc-v3.sh
│ │ │ ├── run-ctc.sh
│ │ │ ├── run-rnnt-v2.sh
│ │ │ ├── run-rnnt-v3-punct.sh
│ │ │ ├── run-rnnt-v3.sh
│ │ │ ├── run-rnnt.sh
│ │ │ ├── test-onnx-ctc.py
│ │ │ └── test-onnx-rnnt.py
│ │ ├── README.md
│ │ ├── canary/
│ │ │ ├── export_onnx_180m_flash.py
│ │ │ ├── run_180m_flash.sh
│ │ │ └── test_180m_flash.py
│ │ ├── fast-conformer-hybrid-transducer-ctc/
│ │ │ ├── README.md
│ │ │ ├── export-onnx-ctc-non-streaming.py
│ │ │ ├── export-onnx-ctc.py
│ │ │ ├── export-onnx-transducer-non-streaming.py
│ │ │ ├── export-onnx-transducer.py
│ │ │ ├── run-ctc-non-streaming-2.sh
│ │ │ ├── run-ctc-non-streaming.sh
│ │ │ ├── run-ctc.sh
│ │ │ ├── run-transducer-non-streaming-2.sh
│ │ │ ├── run-transducer-non-streaming.sh
│ │ │ ├── run-transducer.sh
│ │ │ ├── show-onnx-transudcer.py
│ │ │ ├── test-onnx-ctc-non-streaming.py
│ │ │ ├── test-onnx-ctc.py
│ │ │ ├── test-onnx-transducer-non-streaming.py
│ │ │ └── test-onnx-transducer.py
│ │ ├── generate_bpe_vocab.py
│ │ ├── nemotron-speech-streaming-en-0.6b/
│ │ │ └── export_onnx.py
│ │ ├── parakeet-tdt-0.6b-v2/
│ │ │ ├── export_onnx.py
│ │ │ └── test_onnx.py
│ │ ├── parakeet-tdt-0.6b-v3/
│ │ │ └── export_onnx.py
│ │ ├── parakeet-tdt_ctc-0.6b-ja/
│ │ │ ├── export-onnx-ctc.py
│ │ │ └── run-ctc.sh
│ │ └── speaker-verification/
│ │ ├── README.md
│ │ ├── export-onnx.py
│ │ └── test-onnx.py
│ ├── node-addon-api/
│ │ ├── .gitignore
│ │ ├── CMakeLists.txt
│ │ ├── README.md
│ │ ├── lib/
│ │ │ ├── addon-static-import.js
│ │ │ ├── addon.js
│ │ │ ├── audio-tagg.js
│ │ │ ├── keyword-spotter.js
│ │ │ ├── non-streaming-asr.js
│ │ │ ├── non-streaming-speaker-diarization.js
│ │ │ ├── non-streaming-speech-denoiser.js
│ │ │ ├── non-streaming-tts.js
│ │ │ ├── online-speech-denoiser.js
│ │ │ ├── punctuation.js
│ │ │ ├── sherpa-onnx.js
│ │ │ ├── speaker-identification.js
│ │ │ ├── spoken-language-identification.js
│ │ │ ├── streaming-asr.js
│ │ │ ├── types.js
│ │ │ └── vad.js
│ │ ├── package.json
│ │ ├── test/
│ │ │ ├── test_asr_streaming_transducer.js
│ │ │ └── test_binding.js
│ │ └── tsconfig.json
│ ├── nodejs/
│ │ ├── README.md
│ │ ├── index.js
│ │ └── package.json
│ ├── omnilingual-asr/
│ │ ├── README.md
│ │ ├── export-onnx.py
│ │ └── test.py
│ ├── paraformer/
│ │ ├── .gitignore
│ │ ├── ascend-npu/
│ │ │ ├── export_decoder_onnx.py
│ │ │ ├── export_encoder_onnx.py
│ │ │ ├── export_predictor_onnx.py
│ │ │ └── test_om.py
│ │ ├── qnn/
│ │ │ ├── .gitignore
│ │ │ ├── convert_decoder.sh
│ │ │ ├── convert_encoder.sh
│ │ │ ├── convert_predictor.sh
│ │ │ ├── generate_decoder_data.py
│ │ │ ├── generate_encoder_data.py
│ │ │ ├── generate_predictor_data.py
│ │ │ └── test_qnn.py
│ │ └── rknn/
│ │ ├── download-example-model.sh
│ │ ├── export_decoder_onnx.py
│ │ ├── export_encoder_onnx.py
│ │ ├── export_predictor_onnx.py
│ │ ├── export_rknn.py
│ │ ├── test_onnx.py
│ │ └── torch_model.py
│ ├── peng-cheng-starling/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ └── quantize_models.py
│ ├── piper/
│ │ ├── .gitignore
│ │ ├── add_meta_data.py
│ │ ├── dynamic_quantization.py
│ │ ├── generate.py
│ │ ├── generate.sh.in
│ │ └── generate_samples.py.in
│ ├── pocket-tts/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── convert_tokenizer.py
│ │ └── test_tokenizer.py
│ ├── pyannote/
│ │ └── segmentation/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── export-onnx.py
│ │ ├── notes.md
│ │ ├── preprocess.sh
│ │ ├── show-onnx.py
│ │ ├── speaker-diarization-onnx.py
│ │ ├── speaker-diarization-torch.py
│ │ ├── vad-onnx.py
│ │ └── vad-torch.py
│ ├── qnn/
│ │ ├── __init__.py
│ │ ├── device_info.py
│ │ └── generate_config.py
│ ├── sense-voice/
│ │ ├── README-nano.md
│ │ ├── README.md
│ │ ├── ascend-npu/
│ │ │ ├── export_onnx.py
│ │ │ ├── export_onnx_static_shape.py
│ │ │ ├── test_om.py
│ │ │ └── test_om_static.py
│ │ ├── export-onnx.py
│ │ ├── export_onnx_nano.py
│ │ ├── qnn/
│ │ │ ├── .gitignore
│ │ │ ├── decode_logits.py
│ │ │ └── generate_test_data.py
│ │ ├── rknn/
│ │ │ ├── adaptor.py
│ │ │ ├── export-onnx.py
│ │ │ ├── export-rknn.py
│ │ │ ├── nano.py
│ │ │ ├── test_nano_torch.py
│ │ │ ├── test_onnx.py
│ │ │ └── torch_model.py
│ │ ├── show-info.py
│ │ ├── test.py
│ │ └── test_onnx_nano.py
│ ├── silero_vad/
│ │ └── v4/
│ │ ├── README.md
│ │ ├── export-onnx.py
│ │ ├── export-rknn.py
│ │ ├── show.py
│ │ ├── test-on-rk3588-board.py
│ │ └── test-onnx.py
│ ├── spleeter/
│ │ ├── .gitignore
│ │ ├── __init__.py
│ │ ├── convert_to_pb.py
│ │ ├── convert_to_torch.py
│ │ ├── export_onnx.py
│ │ ├── separate.py
│ │ ├── separate_onnx.py
│ │ └── unet.py
│ ├── supertonic/
│ │ ├── README.md
│ │ ├── convert.py
│ │ ├── dump_inputs.py
│ │ ├── gen_calib_configs.py
│ │ ├── generate_indexer_bin.py
│ │ └── generate_voices_bin.py
│ ├── t-one/
│ │ ├── README.md
│ │ ├── add_meta_data.py
│ │ ├── generate_tokens.py
│ │ └── test.py
│ ├── tele-speech/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── add-metadata.py
│ │ └── test.py
│ ├── text2token.py
│ ├── utils.sh
│ ├── uvr_mdx/
│ │ ├── READEME.md
│ │ ├── add_meta_data_and_quantize.py
│ │ ├── show.py
│ │ └── test.py
│ ├── vits/
│ │ ├── .gitignore
│ │ ├── __init__.py
│ │ ├── export-onnx-ljs.py
│ │ └── export-onnx-vctk.py
│ ├── vocos/
│ │ ├── README.md
│ │ ├── add_meta_data.py
│ │ └── test.py
│ ├── wasm/
│ │ ├── generate-tts.py
│ │ ├── generate-vad-asr.py
│ │ ├── run-tts.sh.in
│ │ └── run-vad-asr.sh.in
│ ├── wenet/
│ │ ├── README.md
│ │ ├── export-onnx-streaming.py
│ │ ├── export-onnx.py
│ │ ├── test-onnx-streaming.py
│ │ └── test-onnx.py
│ ├── wespeaker/
│ │ ├── README.md
│ │ ├── add_meta_data.py
│ │ └── test.py
│ ├── wheel/
│ │ ├── README.md
│ │ ├── patch_wheel.py
│ │ ├── sherpa-onnx-bin/
│ │ │ └── setup.py
│ │ └── sherpa-onnx-core/
│ │ ├── .gitignore
│ │ ├── MANIFEST.in
│ │ ├── setup.py
│ │ └── sherpa_onnx/
│ │ ├── __main__.py
│ │ └── _info.py
│ ├── whisper/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── ascend-npu/
│ │ │ └── test_om.py
│ │ ├── export-onnx-with-attention.py
│ │ ├── export-onnx.py
│ │ ├── find_alignment_heads.py
│ │ ├── model-info.md
│ │ ├── requirements.txt
│ │ ├── rknn/
│ │ │ ├── README.md
│ │ │ ├── export_onnx.py
│ │ │ ├── export_rknn.py
│ │ │ ├── generate_decoder_data.py
│ │ │ ├── generate_encoder_data.py
│ │ │ ├── notes.md
│ │ │ ├── test_on_rk3588_board.py
│ │ │ ├── test_onnx.py
│ │ │ ├── test_qnn.py
│ │ │ ├── test_torch.py
│ │ │ └── tiny-en-onnx-info.md
│ │ ├── test.py
│ │ ├── test_torch.py
│ │ └── tools/
│ │ ├── timestamp_viewer.html
│ │ └── whisper_timestamps_csv.py
│ ├── zipformer-ctc/
│ │ └── ascend/
│ │ └── 2025-07-03/
│ │ ├── onnx_test.py
│ │ └── test_om.py
│ └── zipvoice/
│ └── zh-en/
│ ├── generate_lexicon.py
│ └── test_onnx.py
├── setup.py
├── sherpa-onnx/
│ ├── CMakeLists.txt
│ ├── c-api/
│ │ ├── CMakeLists.txt
│ │ ├── Doxyfile
│ │ ├── README.md
│ │ ├── c-api.cc
│ │ ├── c-api.h
│ │ ├── cxx-api.cc
│ │ ├── cxx-api.h
│ │ ├── generate.sh
│ │ ├── mainpage.md
│ │ ├── sherpa-onnx-symbols-c.exp
│ │ └── sherpa-onnx-symbols-c.lds
│ ├── csrc/
│ │ ├── .gitignore
│ │ ├── CMakeLists.txt
│ │ ├── CPPLINT.cfg
│ │ ├── README.md
│ │ ├── alsa-play.cc
│ │ ├── alsa-play.h
│ │ ├── alsa.cc
│ │ ├── alsa.h
│ │ ├── ascend/
│ │ │ ├── macros.h
│ │ │ ├── offline-paraformer-model-ascend.cc
│ │ │ ├── offline-paraformer-model-ascend.h
│ │ │ ├── offline-recognizer-zipformer-ctc-ascend-impl.h
│ │ │ ├── offline-sense-voice-model-ascend.cc
│ │ │ ├── offline-sense-voice-model-ascend.h
│ │ │ ├── offline-whisper-model-ascend.cc
│ │ │ ├── offline-whisper-model-ascend.h
│ │ │ ├── offline-zipformer-ctc-model-ascend.cc
│ │ │ ├── offline-zipformer-ctc-model-ascend.h
│ │ │ ├── utils.cc
│ │ │ └── utils.h
│ │ ├── audio-tagging-ced-impl.h
│ │ ├── audio-tagging-impl.cc
│ │ ├── audio-tagging-impl.h
│ │ ├── audio-tagging-label-file.cc
│ │ ├── audio-tagging-label-file.h
│ │ ├── audio-tagging-model-config.cc
│ │ ├── audio-tagging-model-config.h
│ │ ├── audio-tagging-zipformer-impl.h
│ │ ├── audio-tagging.cc
│ │ ├── audio-tagging.h
│ │ ├── axcl/
│ │ │ ├── axcl-engine-guard.cc
│ │ │ ├── axcl-engine-guard.h
│ │ │ ├── axcl-engine-io-guard.cc
│ │ │ ├── axcl-engine-io-guard.h
│ │ │ ├── axcl-engine-io-info-guard.cc
│ │ │ ├── axcl-engine-io-info-guard.h
│ │ │ ├── axcl-manager.cc
│ │ │ ├── axcl-manager.h
│ │ │ ├── axcl-model.cc
│ │ │ ├── axcl-model.h
│ │ │ ├── offline-sense-voice-model-axcl.cc
│ │ │ ├── offline-sense-voice-model-axcl.h
│ │ │ ├── utils.cc
│ │ │ └── utils.h
│ │ ├── axera/
│ │ │ ├── ax-engine-guard.cc
│ │ │ ├── ax-engine-guard.h
│ │ │ ├── offline-sense-voice-model-axera.cc
│ │ │ ├── offline-sense-voice-model-axera.h
│ │ │ ├── utils.cc
│ │ │ └── utils.h
│ │ ├── base64-decode.cc
│ │ ├── base64-decode.h
│ │ ├── bbpe.cc
│ │ ├── bbpe.h
│ │ ├── cat-test.cc
│ │ ├── cat.cc
│ │ ├── cat.h
│ │ ├── character-lexicon.cc
│ │ ├── character-lexicon.h
│ │ ├── circular-buffer-test.cc
│ │ ├── circular-buffer.cc
│ │ ├── circular-buffer.h
│ │ ├── context-graph-test.cc
│ │ ├── context-graph.cc
│ │ ├── context-graph.h
│ │ ├── display.h
│ │ ├── endpoint.cc
│ │ ├── endpoint.h
│ │ ├── fast-clustering-config.cc
│ │ ├── fast-clustering-config.h
│ │ ├── fast-clustering-test.cc
│ │ ├── fast-clustering.cc
│ │ ├── fast-clustering.h
│ │ ├── features.cc
│ │ ├── features.h
│ │ ├── file-utils.cc
│ │ ├── file-utils.h
│ │ ├── fst-utils.cc
│ │ ├── fst-utils.h
│ │ ├── funasr-nano-tokenizer.cc
│ │ ├── funasr-nano-tokenizer.h
│ │ ├── hifigan-vocoder.cc
│ │ ├── hifigan-vocoder.h
│ │ ├── homophone-replacer.cc
│ │ ├── homophone-replacer.h
│ │ ├── hypothesis.cc
│ │ ├── hypothesis.h
│ │ ├── keyword-spotter-impl.cc
│ │ ├── keyword-spotter-impl.h
│ │ ├── keyword-spotter-transducer-impl.h
│ │ ├── keyword-spotter.cc
│ │ ├── keyword-spotter.h
│ │ ├── kokoro-multi-lang-lexicon.cc
│ │ ├── kokoro-multi-lang-lexicon.h
│ │ ├── lexicon.cc
│ │ ├── lexicon.h
│ │ ├── lodr-fst.cc
│ │ ├── lodr-fst.h
│ │ ├── log.cc
│ │ ├── log.h
│ │ ├── macros.h
│ │ ├── matcha-tts-lexicon.cc
│ │ ├── matcha-tts-lexicon.h
│ │ ├── math-test.cc
│ │ ├── math.cc
│ │ ├── math.h
│ │ ├── melo-tts-lexicon.cc
│ │ ├── melo-tts-lexicon.h
│ │ ├── microphone.cc
│ │ ├── microphone.h
│ │ ├── normal-data-generator.cc
│ │ ├── normal-data-generator.h
│ │ ├── offline-canary-model-config.cc
│ │ ├── offline-canary-model-config.h
│ │ ├── offline-canary-model-meta-data.h
│ │ ├── offline-canary-model.cc
│ │ ├── offline-canary-model.h
│ │ ├── offline-ced-model.cc
│ │ ├── offline-ced-model.h
│ │ ├── offline-ct-transformer-model-meta-data.h
│ │ ├── offline-ct-transformer-model.cc
│ │ ├── offline-ct-transformer-model.h
│ │ ├── offline-ctc-decoder.h
│ │ ├── offline-ctc-fst-decoder-config.cc
│ │ ├── offline-ctc-fst-decoder-config.h
│ │ ├── offline-ctc-fst-decoder.cc
│ │ ├── offline-ctc-fst-decoder.h
│ │ ├── offline-ctc-greedy-search-decoder.cc
│ │ ├── offline-ctc-greedy-search-decoder.h
│ │ ├── offline-ctc-model.cc
│ │ ├── offline-ctc-model.h
│ │ ├── offline-dolphin-model-config.cc
│ │ ├── offline-dolphin-model-config.h
│ │ ├── offline-dolphin-model-meta-data.h
│ │ ├── offline-dolphin-model.cc
│ │ ├── offline-dolphin-model.h
│ │ ├── offline-fire-red-asr-ctc-model-config.cc
│ │ ├── offline-fire-red-asr-ctc-model-config.h
│ │ ├── offline-fire-red-asr-ctc-model.cc
│ │ ├── offline-fire-red-asr-ctc-model.h
│ │ ├── offline-fire-red-asr-decoder.h
│ │ ├── offline-fire-red-asr-greedy-search-decoder.cc
│ │ ├── offline-fire-red-asr-greedy-search-decoder.h
│ │ ├── offline-fire-red-asr-model-config.cc
│ │ ├── offline-fire-red-asr-model-config.h
│ │ ├── offline-fire-red-asr-model-meta-data.h
│ │ ├── offline-fire-red-asr-model.cc
│ │ ├── offline-fire-red-asr-model.h
│ │ ├── offline-funasr-nano-model-config.cc
│ │ ├── offline-funasr-nano-model-config.h
│ │ ├── offline-funasr-nano-model.cc
│ │ ├── offline-funasr-nano-model.h
│ │ ├── offline-lm-config.cc
│ │ ├── offline-lm-config.h
│ │ ├── offline-lm.cc
│ │ ├── offline-lm.h
│ │ ├── offline-medasr-ctc-model-config.cc
│ │ ├── offline-medasr-ctc-model-config.h
│ │ ├── offline-medasr-ctc-model.cc
│ │ ├── offline-medasr-ctc-model.h
│ │ ├── offline-model-config.cc
│ │ ├── offline-model-config.h
│ │ ├── offline-moonshine-decoder.h
│ │ ├── offline-moonshine-greedy-search-decoder.cc
│ │ ├── offline-moonshine-greedy-search-decoder.h
│ │ ├── offline-moonshine-model-config.cc
│ │ ├── offline-moonshine-model-config.h
│ │ ├── offline-moonshine-model-v2.cc
│ │ ├── offline-moonshine-model-v2.h
│ │ ├── offline-moonshine-model.cc
│ │ ├── offline-moonshine-model.h
│ │ ├── offline-moonshine-v2-greedy-search-decoder.cc
│ │ ├── offline-moonshine-v2-greedy-search-decoder.h
│ │ ├── offline-nemo-enc-dec-ctc-model-config.cc
│ │ ├── offline-nemo-enc-dec-ctc-model-config.h
│ │ ├── offline-nemo-enc-dec-ctc-model.cc
│ │ ├── offline-nemo-enc-dec-ctc-model.h
│ │ ├── offline-omnilingual-asr-ctc-model-config.cc
│ │ ├── offline-omnilingual-asr-ctc-model-config.h
│ │ ├── offline-omnilingual-asr-ctc-model.cc
│ │ ├── offline-omnilingual-asr-ctc-model.h
│ │ ├── offline-paraformer-decoder.h
│ │ ├── offline-paraformer-greedy-search-decoder.cc
│ │ ├── offline-paraformer-greedy-search-decoder.h
│ │ ├── offline-paraformer-model-config.cc
│ │ ├── offline-paraformer-model-config.h
│ │ ├── offline-paraformer-model.cc
│ │ ├── offline-paraformer-model.h
│ │ ├── offline-punctuation-ct-transformer-impl.h
│ │ ├── offline-punctuation-impl.cc
│ │ ├── offline-punctuation-impl.h
│ │ ├── offline-punctuation-model-config.cc
│ │ ├── offline-punctuation-model-config.h
│ │ ├── offline-punctuation.cc
│ │ ├── offline-punctuation.h
│ │ ├── offline-recognizer-canary-impl.h
│ │ ├── offline-recognizer-ctc-impl.h
│ │ ├── offline-recognizer-fire-red-asr-impl.h
│ │ ├── offline-recognizer-funasr-nano-impl.cc
│ │ ├── offline-recognizer-funasr-nano-impl.h
│ │ ├── offline-recognizer-impl.cc
│ │ ├── offline-recognizer-impl.h
│ │ ├── offline-recognizer-moonshine-impl.h
│ │ ├── offline-recognizer-moonshine-v2-impl.h
│ │ ├── offline-recognizer-paraformer-impl.h
│ │ ├── offline-recognizer-paraformer-tpl-impl.h
│ │ ├── offline-recognizer-sense-voice-impl.h
│ │ ├── offline-recognizer-sense-voice-tpl-impl.h
│ │ ├── offline-recognizer-transducer-impl.h
│ │ ├── offline-recognizer-transducer-nemo-impl.h
│ │ ├── offline-recognizer-whisper-impl.h
│ │ ├── offline-recognizer-whisper-tpl-impl.h
│ │ ├── offline-recognizer.cc
│ │ ├── offline-recognizer.h
│ │ ├── offline-rnn-lm.cc
│ │ ├── offline-rnn-lm.h
│ │ ├── offline-sense-voice-model-config.cc
│ │ ├── offline-sense-voice-model-config.h
│ │ ├── offline-sense-voice-model-meta-data.h
│ │ ├── offline-sense-voice-model.cc
│ │ ├── offline-sense-voice-model.h
│ │ ├── offline-source-separation-impl.cc
│ │ ├── offline-source-separation-impl.h
│ │ ├── offline-source-separation-model-config.cc
│ │ ├── offline-source-separation-model-config.h
│ │ ├── offline-source-separation-spleeter-impl.h
│ │ ├── offline-source-separation-spleeter-model-config.cc
│ │ ├── offline-source-separation-spleeter-model-config.h
│ │ ├── offline-source-separation-spleeter-model-meta-data.h
│ │ ├── offline-source-separation-spleeter-model.cc
│ │ ├── offline-source-separation-spleeter-model.h
│ │ ├── offline-source-separation-uvr-impl.h
│ │ ├── offline-source-separation-uvr-model-config.cc
│ │ ├── offline-source-separation-uvr-model-config.h
│ │ ├── offline-source-separation-uvr-model-meta-data.h
│ │ ├── offline-source-separation-uvr-model.cc
│ │ ├── offline-source-separation-uvr-model.h
│ │ ├── offline-source-separation.cc
│ │ ├── offline-source-separation.h
│ │ ├── offline-speaker-diarization-impl.cc
│ │ ├── offline-speaker-diarization-impl.h
│ │ ├── offline-speaker-diarization-pyannote-impl.h
│ │ ├── offline-speaker-diarization-result.cc
│ │ ├── offline-speaker-diarization-result.h
│ │ ├── offline-speaker-diarization.cc
│ │ ├── offline-speaker-diarization.h
│ │ ├── offline-speaker-segmentation-model-config.cc
│ │ ├── offline-speaker-segmentation-model-config.h
│ │ ├── offline-speaker-segmentation-pyannote-model-config.cc
│ │ ├── offline-speaker-segmentation-pyannote-model-config.h
│ │ ├── offline-speaker-segmentation-pyannote-model-meta-data.h
│ │ ├── offline-speaker-segmentation-pyannote-model.cc
│ │ ├── offline-speaker-segmentation-pyannote-model.h
│ │ ├── offline-speech-denoiser-dpdfnet-impl.h
│ │ ├── offline-speech-denoiser-dpdfnet-model-config.cc
│ │ ├── offline-speech-denoiser-dpdfnet-model-config.h
│ │ ├── offline-speech-denoiser-dpdfnet-model-meta-data.h
│ │ ├── offline-speech-denoiser-dpdfnet-model.cc
│ │ ├── offline-speech-denoiser-dpdfnet-model.h
│ │ ├── offline-speech-denoiser-gtcrn-impl.h
│ │ ├── offline-speech-denoiser-gtcrn-model-config.cc
│ │ ├── offline-speech-denoiser-gtcrn-model-config.h
│ │ ├── offline-speech-denoiser-gtcrn-model-meta-data.h
│ │ ├── offline-speech-denoiser-gtcrn-model.cc
│ │ ├── offline-speech-denoiser-gtcrn-model.h
│ │ ├── offline-speech-denoiser-impl.cc
│ │ ├── offline-speech-denoiser-impl.h
│ │ ├── offline-speech-denoiser-model-config.cc
│ │ ├── offline-speech-denoiser-model-config.h
│ │ ├── offline-speech-denoiser.cc
│ │ ├── offline-speech-denoiser.h
│ │ ├── offline-stream.cc
│ │ ├── offline-stream.h
│ │ ├── offline-tdnn-ctc-model.cc
│ │ ├── offline-tdnn-ctc-model.h
│ │ ├── offline-tdnn-model-config.cc
│ │ ├── offline-tdnn-model-config.h
│ │ ├── offline-telespeech-ctc-model.cc
│ │ ├── offline-telespeech-ctc-model.h
│ │ ├── offline-transducer-decoder.h
│ │ ├── offline-transducer-greedy-search-decoder.cc
│ │ ├── offline-transducer-greedy-search-decoder.h
│ │ ├── offline-transducer-greedy-search-nemo-decoder.cc
│ │ ├── offline-transducer-greedy-search-nemo-decoder.h
│ │ ├── offline-transducer-model-config.cc
│ │ ├── offline-transducer-model-config.h
│ │ ├── offline-transducer-model.cc
│ │ ├── offline-transducer-model.h
│ │ ├── offline-transducer-modified-beam-search-decoder.cc
│ │ ├── offline-transducer-modified-beam-search-decoder.h
│ │ ├── offline-transducer-modified-beam-search-nemo-decoder.cc
│ │ ├── offline-transducer-modified-beam-search-nemo-decoder.h
│ │ ├── offline-transducer-nemo-model.cc
│ │ ├── offline-transducer-nemo-model.h
│ │ ├── offline-tts-character-frontend.cc
│ │ ├── offline-tts-character-frontend.h
│ │ ├── offline-tts-frontend.cc
│ │ ├── offline-tts-frontend.h
│ │ ├── offline-tts-impl.cc
│ │ ├── offline-tts-impl.h
│ │ ├── offline-tts-kitten-impl.h
│ │ ├── offline-tts-kitten-model-config.cc
│ │ ├── offline-tts-kitten-model-config.h
│ │ ├── offline-tts-kitten-model-meta-data.h
│ │ ├── offline-tts-kitten-model.cc
│ │ ├── offline-tts-kitten-model.h
│ │ ├── offline-tts-kokoro-impl.h
│ │ ├── offline-tts-kokoro-model-config.cc
│ │ ├── offline-tts-kokoro-model-config.h
│ │ ├── offline-tts-kokoro-model-meta-data.h
│ │ ├── offline-tts-kokoro-model.cc
│ │ ├── offline-tts-kokoro-model.h
│ │ ├── offline-tts-matcha-impl.h
│ │ ├── offline-tts-matcha-model-config.cc
│ │ ├── offline-tts-matcha-model-config.h
│ │ ├── offline-tts-matcha-model-meta-data.h
│ │ ├── offline-tts-matcha-model.cc
│ │ ├── offline-tts-matcha-model.h
│ │ ├── offline-tts-model-config.cc
│ │ ├── offline-tts-model-config.h
│ │ ├── offline-tts-pocket-impl.h
│ │ ├── offline-tts-pocket-model-config.cc
│ │ ├── offline-tts-pocket-model-config.h
│ │ ├── offline-tts-pocket-model.cc
│ │ ├── offline-tts-pocket-model.h
│ │ ├── offline-tts-supertonic-impl.cc
│ │ ├── offline-tts-supertonic-impl.h
│ │ ├── offline-tts-supertonic-model-config.cc
│ │ ├── offline-tts-supertonic-model-config.h
│ │ ├── offline-tts-supertonic-model.cc
│ │ ├── offline-tts-supertonic-model.h
│ │ ├── offline-tts-supertonic-unicode-processor.cc
│ │ ├── offline-tts-supertonic-unicode-processor.h
│ │ ├── offline-tts-vits-impl.h
│ │ ├── offline-tts-vits-model-config.cc
│ │ ├── offline-tts-vits-model-config.h
│ │ ├── offline-tts-vits-model-meta-data.h
│ │ ├── offline-tts-vits-model.cc
│ │ ├── offline-tts-vits-model.h
│ │ ├── offline-tts-zipvoice-impl.h
│ │ ├── offline-tts-zipvoice-model-config.cc
│ │ ├── offline-tts-zipvoice-model-config.h
│ │ ├── offline-tts-zipvoice-model-meta-data.h
│ │ ├── offline-tts-zipvoice-model.cc
│ │ ├── offline-tts-zipvoice-model.h
│ │ ├── offline-tts.cc
│ │ ├── offline-tts.h
│ │ ├── offline-websocket-server-impl.cc
│ │ ├── offline-websocket-server-impl.h
│ │ ├── offline-websocket-server.cc
│ │ ├── offline-wenet-ctc-model-config.cc
│ │ ├── offline-wenet-ctc-model-config.h
│ │ ├── offline-wenet-ctc-model.cc
│ │ ├── offline-wenet-ctc-model.h
│ │ ├── offline-whisper-decoder.h
│ │ ├── offline-whisper-dtw.cc
│ │ ├── offline-whisper-dtw.h
│ │ ├── offline-whisper-greedy-search-decoder.cc
│ │ ├── offline-whisper-greedy-search-decoder.h
│ │ ├── offline-whisper-model-config.cc
│ │ ├── offline-whisper-model-config.h
│ │ ├── offline-whisper-model.cc
│ │ ├── offline-whisper-model.h
│ │ ├── offline-whisper-timestamp-rules-test.cc
│ │ ├── offline-whisper-timestamp-rules.cc
│ │ ├── offline-whisper-timestamp-rules.h
│ │ ├── offline-zipformer-audio-tagging-model-config.cc
│ │ ├── offline-zipformer-audio-tagging-model-config.h
│ │ ├── offline-zipformer-audio-tagging-model.cc
│ │ ├── offline-zipformer-audio-tagging-model.h
│ │ ├── offline-zipformer-ctc-model-config.cc
│ │ ├── offline-zipformer-ctc-model-config.h
│ │ ├── offline-zipformer-ctc-model.cc
│ │ ├── offline-zipformer-ctc-model.h
│ │ ├── online-cnn-bilstm-model-meta-data.h
│ │ ├── online-cnn-bilstm-model.cc
│ │ ├── online-cnn-bilstm-model.h
│ │ ├── online-conformer-transducer-model.cc
│ │ ├── online-conformer-transducer-model.h
│ │ ├── online-ctc-decoder.h
│ │ ├── online-ctc-fst-decoder-config.cc
│ │ ├── online-ctc-fst-decoder-config.h
│ │ ├── online-ctc-fst-decoder.cc
│ │ ├── online-ctc-fst-decoder.h
│ │ ├── online-ctc-greedy-search-decoder.cc
│ │ ├── online-ctc-greedy-search-decoder.h
│ │ ├── online-ctc-model.cc
│ │ ├── online-ctc-model.h
│ │ ├── online-ebranchformer-transducer-model.cc
│ │ ├── online-ebranchformer-transducer-model.h
│ │ ├── online-lm-config.cc
│ │ ├── online-lm-config.h
│ │ ├── online-lm.cc
│ │ ├── online-lm.h
│ │ ├── online-lstm-transducer-model.cc
│ │ ├── online-lstm-transducer-model.h
│ │ ├── online-model-config.cc
│ │ ├── online-model-config.h
│ │ ├── online-nemo-ctc-model-config.cc
│ │ ├── online-nemo-ctc-model-config.h
│ │ ├── online-nemo-ctc-model.cc
│ │ ├── online-nemo-ctc-model.h
│ │ ├── online-paraformer-decoder.h
│ │ ├── online-paraformer-model-config.cc
│ │ ├── online-paraformer-model-config.h
│ │ ├── online-paraformer-model.cc
│ │ ├── online-paraformer-model.h
│ │ ├── online-punctuation-cnn-bilstm-impl.h
│ │ ├── online-punctuation-impl.cc
│ │ ├── online-punctuation-impl.h
│ │ ├── online-punctuation-model-config.cc
│ │ ├── online-punctuation-model-config.h
│ │ ├── online-punctuation.cc
│ │ ├── online-punctuation.h
│ │ ├── online-recognizer-ctc-impl.h
│ │ ├── online-recognizer-impl.cc
│ │ ├── online-recognizer-impl.h
│ │ ├── online-recognizer-paraformer-impl.h
│ │ ├── online-recognizer-transducer-impl.h
│ │ ├── online-recognizer-transducer-nemo-impl.h
│ │ ├── online-recognizer.cc
│ │ ├── online-recognizer.h
│ │ ├── online-rnn-lm.cc
│ │ ├── online-rnn-lm.h
│ │ ├── online-speech-denoiser-dpdfnet-impl.h
│ │ ├── online-speech-denoiser-gtcrn-impl.h
│ │ ├── online-speech-denoiser-impl.cc
│ │ ├── online-speech-denoiser-impl.h
│ │ ├── online-speech-denoiser-stft-impl.h
│ │ ├── online-speech-denoiser.cc
│ │ ├── online-speech-denoiser.h
│ │ ├── online-stream.cc
│ │ ├── online-stream.h
│ │ ├── online-t-one-ctc-model-config.cc
│ │ ├── online-t-one-ctc-model-config.h
│ │ ├── online-t-one-ctc-model.cc
│ │ ├── online-t-one-ctc-model.h
│ │ ├── online-transducer-decoder.cc
│ │ ├── online-transducer-decoder.h
│ │ ├── online-transducer-greedy-search-decoder.cc
│ │ ├── online-transducer-greedy-search-decoder.h
│ │ ├── online-transducer-greedy-search-nemo-decoder.cc
│ │ ├── online-transducer-greedy-search-nemo-decoder.h
│ │ ├── online-transducer-model-config.cc
│ │ ├── online-transducer-model-config.h
│ │ ├── online-transducer-model.cc
│ │ ├── online-transducer-model.h
│ │ ├── online-transducer-modified-beam-search-decoder.cc
│ │ ├── online-transducer-modified-beam-search-decoder.h
│ │ ├── online-transducer-nemo-model.cc
│ │ ├── online-transducer-nemo-model.h
│ │ ├── online-websocket-client.cc
│ │ ├── online-websocket-server-impl.cc
│ │ ├── online-websocket-server-impl.h
│ │ ├── online-websocket-server.cc
│ │ ├── online-wenet-ctc-model-config.cc
│ │ ├── online-wenet-ctc-model-config.h
│ │ ├── online-wenet-ctc-model.cc
│ │ ├── online-wenet-ctc-model.h
│ │ ├── online-zipformer-transducer-model.cc
│ │ ├── online-zipformer-transducer-model.h
│ │ ├── online-zipformer2-ctc-model-config.cc
│ │ ├── online-zipformer2-ctc-model-config.h
│ │ ├── online-zipformer2-ctc-model.cc
│ │ ├── online-zipformer2-ctc-model.h
│ │ ├── online-zipformer2-transducer-model.cc
│ │ ├── online-zipformer2-transducer-model.h
│ │ ├── onnx-utils.cc
│ │ ├── onnx-utils.h
│ │ ├── packed-sequence-test.cc
│ │ ├── packed-sequence.cc
│ │ ├── packed-sequence.h
│ │ ├── pad-sequence-test.cc
│ │ ├── pad-sequence.cc
│ │ ├── pad-sequence.h
│ │ ├── parse-options.cc
│ │ ├── parse-options.h
│ │ ├── phrase-matcher.cc
│ │ ├── phrase-matcher.h
│ │ ├── piper-phonemize-lexicon.cc
│ │ ├── piper-phonemize-lexicon.h
│ │ ├── piper-phonemize-test.cc
│ │ ├── provider-config.cc
│ │ ├── provider-config.h
│ │ ├── provider.cc
│ │ ├── provider.h
│ │ ├── qnn/
│ │ │ ├── macros.h
│ │ │ ├── offline-paraformer-model-qnn.cc
│ │ │ ├── offline-paraformer-model-qnn.h
│ │ │ ├── offline-recognizer-zipformer-ctc-qnn-impl.h
│ │ │ ├── offline-sense-voice-model-qnn.cc
│ │ │ ├── offline-sense-voice-model-qnn.h
│ │ │ ├── offline-zipformer-ctc-model-qnn.cc
│ │ │ ├── offline-zipformer-ctc-model-qnn.h
│ │ │ ├── qnn-backend.cc
│ │ │ ├── qnn-backend.h
│ │ │ ├── qnn-model.cc
│ │ │ ├── qnn-model.h
│ │ │ ├── utils.cc
│ │ │ └── utils.h
│ │ ├── qnn-config.cc
│ │ ├── qnn-config.h
│ │ ├── regex-lang-test.cc
│ │ ├── resample.cc
│ │ ├── resample.h
│ │ ├── rknn/
│ │ │ ├── context-blocking-queue-rknn.cc
│ │ │ ├── context-blocking-queue-rknn.h
│ │ │ ├── keyword-spotter-transducer-rknn-impl.h
│ │ │ ├── macros.h
│ │ │ ├── offline-ctc-greedy-search-decoder-rknn.cc
│ │ │ ├── offline-ctc-greedy-search-decoder-rknn.h
│ │ │ ├── offline-paraformer-model-rknn.cc
│ │ │ ├── offline-paraformer-model-rknn.h
│ │ │ ├── offline-sense-voice-model-rknn.cc
│ │ │ ├── offline-sense-voice-model-rknn.h
│ │ │ ├── online-recognizer-ctc-rknn-impl.h
│ │ │ ├── online-recognizer-transducer-rknn-impl.h
│ │ │ ├── online-stream-rknn.cc
│ │ │ ├── online-stream-rknn.h
│ │ │ ├── online-transducer-decoder-rknn.h
│ │ │ ├── online-transducer-greedy-search-decoder-rknn.cc
│ │ │ ├── online-transducer-greedy-search-decoder-rknn.h
│ │ │ ├── online-transducer-modified-beam-search-decoder-rknn.cc
│ │ │ ├── online-transducer-modified-beam-search-decoder-rknn.h
│ │ │ ├── online-zipformer-ctc-model-rknn.cc
│ │ │ ├── online-zipformer-ctc-model-rknn.h
│ │ │ ├── online-zipformer-transducer-model-rknn.cc
│ │ │ ├── online-zipformer-transducer-model-rknn.h
│ │ │ ├── silero-vad-model-rknn.cc
│ │ │ ├── silero-vad-model-rknn.h
│ │ │ ├── transducer-keyword-decoder-rknn.cc
│ │ │ ├── transducer-keyword-decoder-rknn.h
│ │ │ ├── utils.cc
│ │ │ └── utils.h
│ │ ├── sentence-piece-tokenizer-test.cc
│ │ ├── sentence-piece-tokenizer.cc
│ │ ├── sentence-piece-tokenizer.h
│ │ ├── session.cc
│ │ ├── session.h
│ │ ├── sherpa-display.h
│ │ ├── sherpa-onnx-alsa-offline-audio-tagging.cc
│ │ ├── sherpa-onnx-alsa-offline-speaker-identification.cc
│ │ ├── sherpa-onnx-alsa-offline.cc
│ │ ├── sherpa-onnx-alsa.cc
│ │ ├── sherpa-onnx-keyword-spotter-alsa.cc
│ │ ├── sherpa-onnx-keyword-spotter-microphone.cc
│ │ ├── sherpa-onnx-keyword-spotter.cc
│ │ ├── sherpa-onnx-microphone-offline-audio-tagging.cc
│ │ ├── sherpa-onnx-microphone-offline-speaker-identification.cc
│ │ ├── sherpa-onnx-microphone-offline.cc
│ │ ├── sherpa-onnx-microphone.cc
│ │ ├── sherpa-onnx-offline-audio-tagging.cc
│ │ ├── sherpa-onnx-offline-denoiser.cc
│ │ ├── sherpa-onnx-offline-language-identification.cc
│ │ ├── sherpa-onnx-offline-parallel.cc
│ │ ├── sherpa-onnx-offline-punctuation.cc
│ │ ├── sherpa-onnx-offline-source-separation.cc
│ │ ├── sherpa-onnx-offline-speaker-diarization.cc
│ │ ├── sherpa-onnx-offline-tts-play-alsa.cc
│ │ ├── sherpa-onnx-offline-tts-play.cc
│ │ ├── sherpa-onnx-offline-tts.cc
│ │ ├── sherpa-onnx-offline.cc
│ │ ├── sherpa-onnx-online-denoiser.cc
│ │ ├── sherpa-onnx-online-punctuation.cc
│ │ ├── sherpa-onnx-vad-alsa-offline-asr.cc
│ │ ├── sherpa-onnx-vad-alsa.cc
│ │ ├── sherpa-onnx-vad-microphone-offline-asr.cc
│ │ ├── sherpa-onnx-vad-microphone-simulated-streaming-asr.cc
│ │ ├── sherpa-onnx-vad-microphone.cc
│ │ ├── sherpa-onnx-vad-with-offline-asr.cc
│ │ ├── sherpa-onnx-vad-with-online-asr.cc
│ │ ├── sherpa-onnx-vad.cc
│ │ ├── sherpa-onnx-version.cc
│ │ ├── sherpa-onnx.cc
│ │ ├── silero-vad-model-config.cc
│ │ ├── silero-vad-model-config.h
│ │ ├── silero-vad-model.cc
│ │ ├── silero-vad-model.h
│ │ ├── slice-test.cc
│ │ ├── slice.cc
│ │ ├── slice.h
│ │ ├── speaker-embedding-extractor-general-impl.h
│ │ ├── speaker-embedding-extractor-impl.cc
│ │ ├── speaker-embedding-extractor-impl.h
│ │ ├── speaker-embedding-extractor-model-meta-data.h
│ │ ├── speaker-embedding-extractor-model.cc
│ │ ├── speaker-embedding-extractor-model.h
│ │ ├── speaker-embedding-extractor-nemo-impl.h
│ │ ├── speaker-embedding-extractor-nemo-model-meta-data.h
│ │ ├── speaker-embedding-extractor-nemo-model.cc
│ │ ├── speaker-embedding-extractor-nemo-model.h
│ │ ├── speaker-embedding-extractor.cc
│ │ ├── speaker-embedding-extractor.h
│ │ ├── speaker-embedding-manager-test.cc
│ │ ├── speaker-embedding-manager.cc
│ │ ├── speaker-embedding-manager.h
│ │ ├── spoken-language-identification-impl.cc
│ │ ├── spoken-language-identification-impl.h
│ │ ├── spoken-language-identification-whisper-impl.h
│ │ ├── spoken-language-identification.cc
│ │ ├── spoken-language-identification.h
│ │ ├── stack-test.cc
│ │ ├── stack.cc
│ │ ├── stack.h
│ │ ├── symbol-table.cc
│ │ ├── symbol-table.h
│ │ ├── tee-stream.h
│ │ ├── ten-vad-model-config.cc
│ │ ├── ten-vad-model-config.h
│ │ ├── ten-vad-model.cc
│ │ ├── ten-vad-model.h
│ │ ├── text-utils-test.cc
│ │ ├── text-utils.cc
│ │ ├── text-utils.h
│ │ ├── text2token-test.cc
│ │ ├── timer.cc
│ │ ├── timer.h
│ │ ├── transducer-keyword-decoder.cc
│ │ ├── transducer-keyword-decoder.h
│ │ ├── transpose-test.cc
│ │ ├── transpose.cc
│ │ ├── transpose.h
│ │ ├── unbind-test.cc
│ │ ├── unbind.cc
│ │ ├── unbind.h
│ │ ├── utfcpp-test.cc
│ │ ├── utils.cc
│ │ ├── utils.h
│ │ ├── vad-model-config.cc
│ │ ├── vad-model-config.h
│ │ ├── vad-model.cc
│ │ ├── vad-model.h
│ │ ├── version.cc
│ │ ├── version.h
│ │ ├── vocoder.cc
│ │ ├── vocoder.h
│ │ ├── vocos-vocoder.cc
│ │ ├── vocos-vocoder.h
│ │ ├── voice-activity-detector.cc
│ │ ├── voice-activity-detector.h
│ │ ├── wave-reader-test.cc
│ │ ├── wave-reader.cc
│ │ ├── wave-reader.h
│ │ ├── wave-writer.cc
│ │ └── wave-writer.h
│ ├── java-api/
│ │ ├── .build.txt
│ │ ├── .gitignore
│ │ ├── MANIFEST.MF
│ │ ├── Makefile
│ │ ├── pom.xml
│ │ ├── readme.md
│ │ ├── readme.zh.md
│ │ └── src/
│ │ └── main/
│ │ ├── java/
│ │ │ └── com/
│ │ │ └── k2fsa/
│ │ │ └── sherpa/
│ │ │ └── onnx/
│ │ │ ├── AudioEvent.java
│ │ │ ├── AudioTagging.java
│ │ │ ├── AudioTaggingConfig.java
│ │ │ ├── AudioTaggingModelConfig.java
│ │ │ ├── DenoisedAudio.java
│ │ │ ├── EndpointConfig.java
│ │ │ ├── EndpointRule.java
│ │ │ ├── FastClusteringConfig.java
│ │ │ ├── FeatureConfig.java
│ │ │ ├── GeneratedAudio.java
│ │ │ ├── GenerationConfig.java
│ │ │ ├── HomophoneReplacerConfig.java
│ │ │ ├── KeywordSpotter.java
│ │ │ ├── KeywordSpotterConfig.java
│ │ │ ├── KeywordSpotterResult.java
│ │ │ ├── LibraryLoader.java
│ │ │ ├── LibraryUtils.java
│ │ │ ├── OfflineCanaryModelConfig.java
│ │ │ ├── OfflineDolphinModelConfig.java
│ │ │ ├── OfflineFireRedAsrCtcModelConfig.java
│ │ │ ├── OfflineFireRedAsrModelConfig.java
│ │ │ ├── OfflineFunAsrNanoModelConfig.java
│ │ │ ├── OfflineMedAsrCtcModelConfig.java
│ │ │ ├── OfflineModelConfig.java
│ │ │ ├── OfflineMoonshineModelConfig.java
│ │ │ ├── OfflineNemoEncDecCtcModelConfig.java
│ │ │ ├── OfflineOmnilingualAsrCtcModelConfig.java
│ │ │ ├── OfflineParaformerModelConfig.java
│ │ │ ├── OfflinePunctuation.java
│ │ │ ├── OfflinePunctuationConfig.java
│ │ │ ├── OfflinePunctuationModelConfig.java
│ │ │ ├── OfflineRecognizer.java
│ │ │ ├── OfflineRecognizerConfig.java
│ │ │ ├── OfflineRecognizerResult.java
│ │ │ ├── OfflineSenseVoiceModelConfig.java
│ │ │ ├── OfflineSpeakerDiarization.java
│ │ │ ├── OfflineSpeakerDiarizationCallback.java
│ │ │ ├── OfflineSpeakerDiarizationConfig.java
│ │ │ ├── OfflineSpeakerDiarizationSegment.java
│ │ │ ├── OfflineSpeakerSegmentationModelConfig.java
│ │ │ ├── OfflineSpeakerSegmentationPyannoteModelConfig.java
│ │ │ ├── OfflineSpeechDenoiser.java
│ │ │ ├── OfflineSpeechDenoiserConfig.java
│ │ │ ├── OfflineSpeechDenoiserDpdfNetModelConfig.java
│ │ │ ├── OfflineSpeechDenoiserGtcrnModelConfig.java
│ │ │ ├── OfflineSpeechDenoiserModelConfig.java
│ │ │ ├── OfflineStream.java
│ │ │ ├── OfflineTransducerModelConfig.java
│ │ │ ├── OfflineTts.java
│ │ │ ├── OfflineTtsCallback.java
│ │ │ ├── OfflineTtsConfig.java
│ │ │ ├── OfflineTtsKittenModelConfig.java
│ │ │ ├── OfflineTtsKokoroModelConfig.java
│ │ │ ├── OfflineTtsMatchaModelConfig.java
│ │ │ ├── OfflineTtsModelConfig.java
│ │ │ ├── OfflineTtsPocketModelConfig.java
│ │ │ ├── OfflineTtsSupertonicModelConfig.java
│ │ │ ├── OfflineTtsVitsModelConfig.java
│ │ │ ├── OfflineTtsZipVoiceModelConfig.java
│ │ │ ├── OfflineWenetCtcModelConfig.java
│ │ │ ├── OfflineWhisperModelConfig.java
│ │ │ ├── OfflineZipformerAudioTaggingModelConfig.java
│ │ │ ├── OfflineZipformerCtcModelConfig.java
│ │ │ ├── OnlineCtcFstDecoderConfig.java
│ │ │ ├── OnlineLMConfig.java
│ │ │ ├── OnlineModelConfig.java
│ │ │ ├── OnlineNeMoCtcModelConfig.java
│ │ │ ├── OnlineParaformerModelConfig.java
│ │ │ ├── OnlinePunctuation.java
│ │ │ ├── OnlinePunctuationConfig.java
│ │ │ ├── OnlinePunctuationModelConfig.java
│ │ │ ├── OnlineRecognizer.java
│ │ │ ├── OnlineRecognizerConfig.java
│ │ │ ├── OnlineRecognizerResult.java
│ │ │ ├── OnlineSpeechDenoiser.java
│ │ │ ├── OnlineSpeechDenoiserConfig.java
│ │ │ ├── OnlineStream.java
│ │ │ ├── OnlineToneCtcModelConfig.java
│ │ │ ├── OnlineTransducerModelConfig.java
│ │ │ ├── OnlineZipformer2CtcModelConfig.java
│ │ │ ├── QnnConfig.java
│ │ │ ├── SileroVadModelConfig.java
│ │ │ ├── SpeakerEmbeddingExtractor.java
│ │ │ ├── SpeakerEmbeddingExtractorConfig.java
│ │ │ ├── SpeakerEmbeddingManager.java
│ │ │ ├── SpeechSegment.java
│ │ │ ├── SpokenLanguageIdentification.java
│ │ │ ├── SpokenLanguageIdentificationConfig.java
│ │ │ ├── SpokenLanguageIdentificationWhisperConfig.java
│ │ │ ├── TenVadModelConfig.java
│ │ │ ├── Vad.java
│ │ │ ├── VadModelConfig.java
│ │ │ ├── VersionInfo.java
│ │ │ ├── WaveData.java
│ │ │ ├── WaveReader.java
│ │ │ └── WaveWriter.java
│ │ └── resources/
│ │ ├── .gitignore
│ │ └── readme.md
│ ├── jni/
│ │ ├── CMakeLists.txt
│ │ ├── audio-tagging.cc
│ │ ├── common.cc
│ │ ├── common.h
│ │ ├── generate.sh
│ │ ├── jni.cc
│ │ ├── keyword-spotter.cc
│ │ ├── offline-punctuation.cc
│ │ ├── offline-recognizer.cc
│ │ ├── offline-speaker-diarization.cc
│ │ ├── offline-speech-denoiser.cc
│ │ ├── offline-stream.cc
│ │ ├── offline-tts.cc
│ │ ├── online-punctuation.cc
│ │ ├── online-recognizer.cc
│ │ ├── online-speech-denoiser.cc
│ │ ├── online-stream.cc
│ │ ├── sherpa-onnx-symbols.exp
│ │ ├── sherpa-onnx-symbols.lds
│ │ ├── speaker-embedding-extractor.cc
│ │ ├── speaker-embedding-manager.cc
│ │ ├── speech-denoiser.cc
│ │ ├── speech-denoiser.h
│ │ ├── spoken-language-identification.cc
│ │ ├── version.cc
│ │ ├── voice-activity-detector.cc
│ │ ├── wave-reader.cc
│ │ └── wave-writer.cc
│ ├── kotlin-api/
│ │ ├── AudioTagging.kt
│ │ ├── DenoisedAudio.kt
│ │ ├── FeatureConfig.kt
│ │ ├── HomophoneReplacerConfig.kt
│ │ ├── KeywordSpotter.kt
│ │ ├── OfflinePunctuation.kt
│ │ ├── OfflineRecognizer.kt
│ │ ├── OfflineSpeakerDiarization.kt
│ │ ├── OfflineSpeechDenoiser.kt
│ │ ├── OfflineStream.kt
│ │ ├── OnlinePunctuation.kt
│ │ ├── OnlineRecognizer.kt
│ │ ├── OnlineSpeechDenoiser.kt
│ │ ├── OnlineStream.kt
│ │ ├── QnnConfig.kt
│ │ ├── Speaker.kt
│ │ ├── SpeakerEmbeddingExtractorConfig.kt
│ │ ├── SpokenLanguageIdentification.kt
│ │ ├── Tts.kt
│ │ ├── Vad.kt
│ │ ├── VersionInfo.kt
│ │ └── WaveReader.kt
│ ├── pascal-api/
│ │ ├── README.md
│ │ ├── portaudio.pas
│ │ └── sherpa_onnx.pas
│ ├── python/
│ │ ├── CMakeLists.txt
│ │ ├── csrc/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── alsa.cc
│ │ │ ├── alsa.h
│ │ │ ├── audio-tagging.cc
│ │ │ ├── audio-tagging.h
│ │ │ ├── circular-buffer.cc
│ │ │ ├── circular-buffer.h
│ │ │ ├── cuda-config.cc
│ │ │ ├── cuda-config.h
│ │ │ ├── display.cc
│ │ │ ├── display.h
│ │ │ ├── endpoint.cc
│ │ │ ├── endpoint.h
│ │ │ ├── faked-alsa.cc
│ │ │ ├── fast-clustering.cc
│ │ │ ├── fast-clustering.h
│ │ │ ├── features.cc
│ │ │ ├── features.h
│ │ │ ├── homophone-replacer.cc
│ │ │ ├── homophone-replacer.h
│ │ │ ├── keyword-spotter.cc
│ │ │ ├── keyword-spotter.h
│ │ │ ├── offline-canary-model-config.cc
│ │ │ ├── offline-canary-model-config.h
│ │ │ ├── offline-ctc-fst-decoder-config.cc
│ │ │ ├── offline-ctc-fst-decoder-config.h
│ │ │ ├── offline-dolphin-model-config.cc
│ │ │ ├── offline-dolphin-model-config.h
│ │ │ ├── offline-fire-red-asr-ctc-model-config.cc
│ │ │ ├── offline-fire-red-asr-ctc-model-config.h
│ │ │ ├── offline-fire-red-asr-model-config.cc
│ │ │ ├── offline-fire-red-asr-model-config.h
│ │ │ ├── offline-funasr-nano-model-config.cc
│ │ │ ├── offline-funasr-nano-model-config.h
│ │ │ ├── offline-lm-config.cc
│ │ │ ├── offline-lm-config.h
│ │ │ ├── offline-medasr-ctc-model-config.cc
│ │ │ ├── offline-medasr-ctc-model-config.h
│ │ │ ├── offline-model-config.cc
│ │ │ ├── offline-model-config.h
│ │ │ ├── offline-moonshine-model-config.cc
│ │ │ ├── offline-moonshine-model-config.h
│ │ │ ├── offline-nemo-enc-dec-ctc-model-config.cc
│ │ │ ├── offline-nemo-enc-dec-ctc-model-config.h
│ │ │ ├── offline-omnilingual-asr-ctc-model-config.cc
│ │ │ ├── offline-omnilingual-asr-ctc-model-config.h
│ │ │ ├── offline-paraformer-model-config.cc
│ │ │ ├── offline-paraformer-model-config.h
│ │ │ ├── offline-punctuation.cc
│ │ │ ├── offline-punctuation.h
│ │ │ ├── offline-recognizer.cc
│ │ │ ├── offline-recognizer.h
│ │ │ ├── offline-sense-voice-model-config.cc
│ │ │ ├── offline-sense-voice-model-config.h
│ │ │ ├── offline-source-separation-model-config.cc
│ │ │ ├── offline-source-separation-model-config.h
│ │ │ ├── offline-source-separation-spleeter-model-config.cc
│ │ │ ├── offline-source-separation-spleeter-model-config.h
│ │ │ ├── offline-source-separation-uvr-model-config.cc
│ │ │ ├── offline-source-separation-uvr-model-config.h
│ │ │ ├── offline-source-separation.cc
│ │ │ ├── offline-source-separation.h
│ │ │ ├── offline-speaker-diarization-result.cc
│ │ │ ├── offline-speaker-diarization-result.h
│ │ │ ├── offline-speaker-diarization.cc
│ │ │ ├── offline-speaker-diarization.h
│ │ │ ├── offline-speech-denoiser-dpdfnet-model-config.cc
│ │ │ ├── offline-speech-denoiser-dpdfnet-model-config.h
│ │ │ ├── offline-speech-denoiser-gtcrn-model-config.cc
│ │ │ ├── offline-speech-denoiser-gtcrn-model-config.h
│ │ │ ├── offline-speech-denoiser-model-config.cc
│ │ │ ├── offline-speech-denoiser-model-config.h
│ │ │ ├── offline-speech-denoiser.cc
│ │ │ ├── offline-speech-denoiser.h
│ │ │ ├── offline-stream.cc
│ │ │ ├── offline-stream.h
│ │ │ ├── offline-tdnn-model-config.cc
│ │ │ ├── offline-tdnn-model-config.h
│ │ │ ├── offline-transducer-model-config.cc
│ │ │ ├── offline-transducer-model-config.h
│ │ │ ├── offline-tts-kitten-model-config.cc
│ │ │ ├── offline-tts-kitten-model-config.h
│ │ │ ├── offline-tts-kokoro-model-config.cc
│ │ │ ├── offline-tts-kokoro-model-config.h
│ │ │ ├── offline-tts-matcha-model-config.cc
│ │ │ ├── offline-tts-matcha-model-config.h
│ │ │ ├── offline-tts-model-config.cc
│ │ │ ├── offline-tts-model-config.h
│ │ │ ├── offline-tts-pocket-model-config.cc
│ │ │ ├── offline-tts-pocket-model-config.h
│ │ │ ├── offline-tts-supertonic-model-config.cc
│ │ │ ├── offline-tts-supertonic-model-config.h
│ │ │ ├── offline-tts-vits-model-config.cc
│ │ │ ├── offline-tts-vits-model-config.h
│ │ │ ├── offline-tts-zipvoice-model-config.cc
│ │ │ ├── offline-tts-zipvoice-model-config.h
│ │ │ ├── offline-tts.cc
│ │ │ ├── offline-tts.h
│ │ │ ├── offline-wenet-ctc-model-config.cc
│ │ │ ├── offline-wenet-ctc-model-config.h
│ │ │ ├── offline-whisper-model-config.cc
│ │ │ ├── offline-whisper-model-config.h
│ │ │ ├── offline-zipformer-ctc-model-config.cc
│ │ │ ├── offline-zipformer-ctc-model-config.h
│ │ │ ├── online-ctc-fst-decoder-config.cc
│ │ │ ├── online-ctc-fst-decoder-config.h
│ │ │ ├── online-lm-config.cc
│ │ │ ├── online-lm-config.h
│ │ │ ├── online-model-config.cc
│ │ │ ├── online-model-config.h
│ │ │ ├── online-nemo-ctc-model-config.cc
│ │ │ ├── online-nemo-ctc-model-config.h
│ │ │ ├── online-paraformer-model-config.cc
│ │ │ ├── online-paraformer-model-config.h
│ │ │ ├── online-punctuation.cc
│ │ │ ├── online-punctuation.h
│ │ │ ├── online-recognizer.cc
│ │ │ ├── online-recognizer.h
│ │ │ ├── online-speech-denoiser.cc
│ │ │ ├── online-speech-denoiser.h
│ │ │ ├── online-stream.cc
│ │ │ ├── online-stream.h
│ │ │ ├── online-t-one-ctc-model-config.cc
│ │ │ ├── online-t-one-ctc-model-config.h
│ │ │ ├── online-transducer-model-config.cc
│ │ │ ├── online-transducer-model-config.h
│ │ │ ├── online-wenet-ctc-model-config.cc
│ │ │ ├── online-wenet-ctc-model-config.h
│ │ │ ├── online-zipformer2-ctc-model-config.cc
│ │ │ ├── online-zipformer2-ctc-model-config.h
│ │ │ ├── provider-config.cc
│ │ │ ├── provider-config.h
│ │ │ ├── sentence-piece-tokenizer.cc
│ │ │ ├── sentence-piece-tokenizer.h
│ │ │ ├── sherpa-onnx.cc
│ │ │ ├── sherpa-onnx.h
│ │ │ ├── silero-vad-model-config.cc
│ │ │ ├── silero-vad-model-config.h
│ │ │ ├── speaker-embedding-extractor.cc
│ │ │ ├── speaker-embedding-extractor.h
│ │ │ ├── speaker-embedding-manager.cc
│ │ │ ├── speaker-embedding-manager.h
│ │ │ ├── spoken-language-identification.cc
│ │ │ ├── spoken-language-identification.h
│ │ │ ├── ten-vad-model-config.cc
│ │ │ ├── ten-vad-model-config.h
│ │ │ ├── tensorrt-config.cc
│ │ │ ├── tensorrt-config.h
│ │ │ ├── vad-model-config.cc
│ │ │ ├── vad-model-config.h
│ │ │ ├── vad-model.cc
│ │ │ ├── vad-model.h
│ │ │ ├── version.cc
│ │ │ ├── version.h
│ │ │ ├── voi
================================================
FILE CONTENTS
================================================
================================================
FILE: .clang-format
================================================
---
BasedOnStyle: Google
---
Language: Cpp
Cpp11BracedListStyle: true
Standard: Cpp11
DerivePointerAlignment: false
PointerAlignment: Right
---
Language: Java
JavaImportGroups: [ 'java', 'javax', 'javafx', 'org', 'io', 'com', 'de.gsi' ]
AccessModifierOffset: -4
AlignAfterOpenBracket: DontAlign
AlignConsecutiveAssignments: false
AlignConsecutiveDeclarations: false
AlignEscapedNewlines: DontAlign
AlignTrailingComments: false
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortLambdasOnASingleLine: None
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: None
AllowShortIfStatementsOnASingleLine: Never
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: Yes
BinPackArguments: true
BinPackParameters: true
BraceWrapping:
AfterClass: false
AfterControlStatement: Never
AfterEnum: false
AfterFunction: false
AfterNamespace: false
AfterObjCDeclaration: false
AfterStruct: false
AfterUnion: false
BeforeCatch: false
BeforeElse: false
IndentBraces: false
SplitEmptyFunction: true
SplitEmptyRecord: true
SplitEmptyNamespace: true
BreakBeforeBinaryOperators: All
BreakBeforeBraces: Custom
BreakBeforeInheritanceComma: false
BreakBeforeTernaryOperators: true
BreakConstructorInitializersBeforeComma: false
BreakConstructorInitializers: BeforeComma
BreakAfterJavaFieldAnnotations: true
BreakStringLiterals: true
ColumnLimit: 0
CommentPragmas: '^ IWYU pragma:'
CompactNamespaces: false
ConstructorInitializerAllOnOneLineOrOnePerLine: false
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 8
Cpp11BracedListStyle: false
DerivePointerAlignment: false
DisableFormat: false
ExperimentalAutoDetectBinPacking: false
FixNamespaceComments: true
ForEachMacros:
- forever # avoids { wrapped to next line
- foreach
- Q_FOREACH
- BOOST_FOREACH
IncludeCategories:
- Regex: '^<Q.*'
Priority: 200
IncludeIsMainRegex: '(Test)?$'
IndentCaseLabels: false
IndentWidth: 4
IndentWrappedFunctionNames: false
JavaScriptQuotes: Leave
JavaScriptWrapImports: true
KeepEmptyLinesAtTheStartOfBlocks: false
# Do not add QT_BEGIN_NAMESPACE/QT_END_NAMESPACE as this will indent lines in between.
MacroBlockBegin: ""
MacroBlockEnd: ""
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
ObjCBlockIndentWidth: 4
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: true
PenaltyBreakAssignment: 150
PenaltyBreakBeforeFirstCallParameter: 300
PenaltyBreakComment: 500
PenaltyBreakFirstLessLess: 400
PenaltyBreakString: 600
PenaltyExcessCharacter: 50
PenaltyReturnTypeOnItsOwnLine: 300
PointerAlignment: Right
ReflowComments: true
SortIncludes: true
SortUsingDeclarations: true
SpaceAfterCStyleCast: true
SpaceAfterTemplateKeyword: false
SpaceBeforeAssignmentOperators: true
SpaceBeforeParens: ControlStatements
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: false
SpacesInContainerLiterals: false
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
Standard: c++17
TabWidth: 4
UseTab: Never
================================================
FILE: .clang-tidy
================================================
---
# NOTE there must be no spaces before the '-', so put the comma last.
# The check bugprone-unchecked-optional-access is also turned off atm
# because it causes clang-tidy to hang randomly. The tracking issue
# can be found at https://github.com/llvm/llvm-project/issues/69369.
#
# Modified from
# https://github.com/pytorch/pytorch/blob/main/.clang-tidy
InheritParentConfig: true
Checks: '
bugprone-*,
-bugprone-easily-swappable-parameters,
-bugprone-forward-declaration-namespace,
-bugprone-implicit-widening-of-multiplication-result,
-bugprone-macro-parentheses,
-bugprone-lambda-function-name,
-bugprone-narrowing-conversions,
-bugprone-reserved-identifier,
-bugprone-swapped-arguments,
-bugprone-unchecked-optional-access,
clang-diagnostic-missing-prototypes,
cppcoreguidelines-*,
-cppcoreguidelines-avoid-const-or-ref-data-members,
-cppcoreguidelines-avoid-do-while,
-cppcoreguidelines-avoid-magic-numbers,
-cppcoreguidelines-avoid-non-const-global-variables,
-cppcoreguidelines-interfaces-global-init,
-cppcoreguidelines-macro-usage,
-cppcoreguidelines-narrowing-conversions,
-cppcoreguidelines-owning-memory,
-cppcoreguidelines-pro-bounds-array-to-pointer-decay,
-cppcoreguidelines-pro-bounds-constant-array-index,
-cppcoreguidelines-pro-bounds-pointer-arithmetic,
-cppcoreguidelines-pro-type-const-cast,
-cppcoreguidelines-pro-type-cstyle-cast,
-cppcoreguidelines-pro-type-reinterpret-cast,
-cppcoreguidelines-pro-type-static-cast-downcast,
-cppcoreguidelines-pro-type-union-access,
-cppcoreguidelines-pro-type-vararg,
-cppcoreguidelines-special-member-functions,
-cppcoreguidelines-non-private-member-variables-in-classes,
-facebook-hte-RelativeInclude,
hicpp-exception-baseclass,
hicpp-avoid-goto,
misc-*,
-misc-const-correctness,
-misc-include-cleaner,
-misc-use-anonymous-namespace,
-misc-unused-parameters,
-misc-no-recursion,
-misc-non-private-member-variables-in-classes,
-misc-confusable-identifiers,
modernize-*,
-modernize-macro-to-enum,
-modernize-pass-by-value,
-modernize-return-braced-init-list,
-modernize-use-auto,
-modernize-use-default-member-init,
-modernize-use-using,
-modernize-use-trailing-return-type,
-modernize-use-nodiscard,
performance-*,
readability-container-size-empty,
readability-delete-null-pointer,
readability-duplicate-include
readability-misplaced-array-index,
readability-redundant-function-ptr-dereference,
readability-redundant-smartptr-get,
readability-simplify-subscript-expr,
readability-string-compare,
'
WarningsAsErrors: '*'
...
================================================
FILE: .flake8
================================================
[flake8]
show-source=true
statistics=true
max-line-length = 120
exclude =
.git,
./cmake,
================================================
FILE: .github/scripts/.gitignore
================================================
Makefile
*.jar
hs_err_pid*.log
================================================
FILE: .github/scripts/as-cmake-sub-project/CMakeLists.txt
================================================
cmake_minimum_required(VERSION 3.13 FATAL_ERROR)
project(use-of-sherpa-onnx-as-a-sub-project)
if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/sherpa-onnx/setup.py")
message(FATAL_ERROR "Please download the source code of sherpa-onnx and put it inside this directory")
endif()
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib")
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
include_directories(./sherpa-onnx)
add_subdirectory(./sherpa-onnx)
add_executable(main main.cc)
target_link_libraries(main sherpa-onnx-core)
================================================
FILE: .github/scripts/as-cmake-sub-project/main.cc
================================================
#include "sherpa-onnx/csrc/offline-recognizer.h"
#include "sherpa-onnx/csrc/parse-options.h"
int main(int32_t argc, char *argv[]) {
sherpa_onnx::ParseOptions po("help info");
sherpa_onnx::OfflineRecognizerConfig config;
config.Register(&po);
po.PrintUsage();
return 0;
}
================================================
FILE: .github/scripts/export-ascend/__init__.py
================================================
================================================
FILE: .github/scripts/export-ascend/generate_paraformer.py
================================================
#!/usr/bin/env python3
# Copyright 2025 Xiaomi Corp. (authors: Fangjun Kuang)
import itertools
import json
from dataclasses import asdict, dataclass
from generate_zipformer_ctc_20250703 import get_cann_version, get_image, get_soc_version
@dataclass
class Config:
# 7.0, 8.0, 8.1, 8.2
cann: str
# 910B, 910B2, 910B3, 310P3
soc_version: str
# FunASR, WSChuan-ASR
framework: str
image: str = ""
def __post_init__(self):
self.image = get_image(self.cann, soc_version=self.soc_version)
def main():
cann_version = get_cann_version()
soc_version = get_soc_version()
framework_list = ["FunASR", "WSChuan-ASR"]
configs = [
Config(cann=cann, soc_version=soc, framework=framework)
for cann, soc, framework in itertools.product(
cann_version, soc_version, framework_list
)
]
ans = [asdict(c) for c in configs]
print(json.dumps({"include": ans}))
if __name__ == "__main__":
main()
================================================
FILE: .github/scripts/export-ascend/generate_sense_voice.py
================================================
#!/usr/bin/env python3
# Copyright 2025 Xiaomi Corp. (authors: Fangjun Kuang)
import itertools
import json
from dataclasses import asdict, dataclass
from generate_zipformer_ctc_20250703 import get_image, get_soc_version, get_cann_version
@dataclass
class Config:
# 7.0, 8.0, 8.1, 8.2
cann: str
# 910B, 910B2, 910B3, 310P3
soc_version: str
# FunASR, WSYue-ASR
framework: str
image: str = ""
def __post_init__(self):
self.image = get_image(self.cann, soc_version=self.soc_version)
def main():
cann_version = get_cann_version()
soc_version = get_soc_version()
framework_list = ["FunASR", "WSYue-ASR"]
configs = [
Config(cann=cann, soc_version=soc, framework=framework)
for cann, soc, framework in itertools.product(
cann_version, soc_version, framework_list
)
]
ans = [asdict(c) for c in configs]
print(json.dumps({"include": ans}))
if __name__ == "__main__":
main()
================================================
FILE: .github/scripts/export-ascend/generate_whisper.py
================================================
#!/usr/bin/env python3
# Copyright 2026 Xiaomi Corp. (authors: Fangjun Kuang)
import itertools
import json
from dataclasses import asdict, dataclass
from generate_zipformer_ctc_20250703 import get_image, get_soc_version, get_cann_version
@dataclass
class Config:
# 7.0, 8.0, 8.1, 8.2
cann: str
# 910B, 910B2, 910B3, 310P3
soc_version: str
model: str
image: str = ""
def __post_init__(self):
self.image = get_image(self.cann, soc_version=self.soc_version)
def main():
cann_version = get_cann_version()
soc_version = get_soc_version()
model_list = [
"turbo",
"distil-medium.en",
"distil-small.en",
"tiny.en",
"base.en",
"small.en",
"medium.en",
"tiny",
"base",
"small",
"medium",
"medium-aishell",
]
configs = [
Config(cann=cann, soc_version=soc, model=model)
for cann, soc, model in itertools.product(cann_version, soc_version, model_list)
]
ans = [asdict(c) for c in configs]
print(json.dumps({"include": ans}))
if __name__ == "__main__":
main()
================================================
FILE: .github/scripts/export-ascend/generate_zipformer_ctc_20250703.py
================================================
#!/usr/bin/env python3
# Copyright 2025 Xiaomi Corp. (authors: Fangjun Kuang)
import itertools
import json
from dataclasses import asdict, dataclass
# image: ascendai/cann:latest
# image: ascendai/cann:8.1.rc1-910b-ubuntu22.04-py3.10
# see https://hub.docker.com/r/gpustack/ascendai-cann/tags?name=8.0
# see https://hub.docker.com/r/gpustack/devel-ascendai-cann/tags?name=310p
# and
# https://quay.io/repository/ascend/cann?tab=tags
def get_image(cann: str, soc_version: str):
cann2image_910 = {
"7.0": "quay.io/ascend/cann:7.0.1.beta1-910b-ubuntu22.04-py3.8",
"8.0": "gpustack/ascendai-cann:8.0.RC3-910b-ubuntu20.04-py3.9",
"8.1": "gpustack/devel-ascendai-cann:8.1.rc1.beta1-910b-ubuntu20.04-v2",
"8.2": "gpustack/devel-ascendai-cann:8.2.rc1-910b-ubuntu20.04-v2",
"8.3": "quay.io/ascend/cann:8.3.rc2-910b-ubuntu22.04-py3.11",
"8.5": "quay.io/ascend/cann:8.5.0-910b-ubuntu22.04-py3.11",
}
cann2image_310 = {
"7.0": "quay.io/ascend/cann:7.0.1-310p-ubuntu22.04-py3.9",
"8.0": "gpustack/devel-ascendai-cann:8.0.rc3.beta1-310p-ubuntu20.04-v2",
"8.1": "gpustack/devel-ascendai-cann:8.1.rc1.beta1-310p-ubuntu20.04-v2",
"8.2": "gpustack/devel-ascendai-cann:8.2.rc1-310p-ubuntu20.04-v2",
"8.3": "quay.io/ascend/cann:8.3.rc2-310p-ubuntu22.04-py3.11",
"8.5": "quay.io/ascend/cann:8.5.0-310p-ubuntu22.04-py3.11",
}
if "910" in soc_version:
return cann2image_910[cann]
elif "310" in soc_version:
return cann2image_310[cann]
else:
raise ValueError(f"Unsupported soc_version {soc_version}")
def get_soc_version():
soc_version = ["910B", "910B2", "910B3", "910B4", "310P3"]
return soc_version
def get_cann_version():
cann_version = ["7.0", "8.0", "8.1", "8.2", "8.3", "8.5"]
return cann_version
@dataclass
class Config:
# 7.0, 8.0, 8.1, 8.2
cann: str
# 910B, 910B2, 910B3, 310P3
soc_version: str
num_seconds: str
image: str = ""
def __post_init__(self):
self.image = get_image(self.cann, soc_version=self.soc_version)
def main():
cann_version = get_cann_version()
soc_version = get_soc_version()
input_in_seconds = ["5", "8", "10", "13", "15", "18", "20", "23", "25", "28", "30"]
configs = [
Config(cann=cann, soc_version=soc, num_seconds=sec)
for cann, soc, sec in itertools.product(
cann_version, soc_version, input_in_seconds
)
]
ans = [asdict(c) for c in configs]
print(json.dumps({"include": ans}))
if __name__ == "__main__":
main()
================================================
FILE: .github/scripts/export-qnn/__init__.py
================================================
================================================
FILE: .github/scripts/export-qnn/generate_paraformer.py
================================================
#!/usr/bin/env python3
# Copyright 2025 Xiaomi Corp. (authors: Fangjun Kuang)
import json
from device_info import soc_info_dict
from dataclasses import asdict, dataclass
import itertools
@dataclass
class Config:
soc: str # SM8850
soc_id: int # 87
arch: str # v81
input_in_seconds: str
framework: str
def main():
input_in_seconds = ["5", "8", "10", "13", "15", "18", "20", "23", "25", "28", "30"]
framework_list = ["FunASR", "WSChuan-ASR"]
configs = []
for name, soc in soc_info_dict.items():
for num_seconds, framework in itertools.product(
input_in_seconds, framework_list
):
configs.append(
Config(
soc=name,
soc_id=soc.model.value,
arch=soc.info.arch.name,
input_in_seconds=num_seconds,
framework=framework,
)
)
ans = [asdict(c) for c in configs]
print(json.dumps({"include": ans}))
if __name__ == "__main__":
main()
================================================
FILE: .github/scripts/export-qnn/generate_sense_voice.py
================================================
#!/usr/bin/env python3
# Copyright 2025 Xiaomi Corp. (authors: Fangjun Kuang)
import json
from device_info import soc_info_dict
from dataclasses import asdict, dataclass
import itertools
@dataclass
class Config:
soc: str # SM8850
soc_id: int # 87
arch: str # v81
input_in_seconds: str
framework: str
def main():
input_in_seconds = ["5", "8", "10", "13", "15", "18", "20", "23", "25", "28", "30"]
framework_list = ["FunASR", "WSYue-ASR"]
configs = []
for name, soc in soc_info_dict.items():
for num_seconds, framework in itertools.product(
input_in_seconds, framework_list
):
configs.append(
Config(
soc=name,
soc_id=soc.model.value,
arch=soc.info.arch.name,
input_in_seconds=num_seconds,
framework=framework,
)
)
ans = [asdict(c) for c in configs]
print(json.dumps({"include": ans}))
if __name__ == "__main__":
main()
================================================
FILE: .github/scripts/export-qnn/generate_zipformer.py
================================================
#!/usr/bin/env python3
# Copyright 2025 Xiaomi Corp. (authors: Fangjun Kuang)
import json
from device_info import soc_info_dict
from dataclasses import asdict, dataclass
import itertools
@dataclass
class Config:
soc: str # SM8850
soc_id: int # 87
arch: str # v81
input_in_seconds: str
model_name: str
def main():
input_in_seconds = ["5", "8", "10", "13", "15", "18", "20", "23", "25", "28", "30"]
model_name_list = ["20250703", "20251222"]
configs = []
for name, soc in soc_info_dict.items():
for num_seconds, model_name in itertools.product(
input_in_seconds, model_name_list
):
if model_name == "20251222":
if num_seconds not in ["5"]:
# TODO(fangjun): We only upload model-5-seconds.onnx right now
continue
configs.append(
Config(
soc=name,
soc_id=soc.model.value,
arch=soc.info.arch.name,
input_in_seconds=num_seconds,
model_name=model_name,
)
)
ans = [asdict(c) for c in configs]
print(json.dumps({"include": ans}))
if __name__ == "__main__":
main()
================================================
FILE: .github/scripts/node-addon/README-optional.md
================================================
# Introduction
Please see [sherpa-onnx-node](https://www.npmjs.com/package/sherpa-onnx-node)
================================================
FILE: .github/scripts/node-addon/README.md
================================================
# Introduction
Please see
https://github.com/k2-fsa/sherpa-onnx/blob/master/nodejs-addon-examples/README.md
for usages.
||Method|Support multiple threads|Minimum required node version|
|---|---|---|---|
|this package| https://github.com/nodejs/node-addon-api | Yes | v16|
|https://www.npmjs.com/package/sherpa-onnx| WebAssembly | No | v18|
================================================
FILE: .github/scripts/node-addon/index.js
================================================
module.exports = require('./sherpa-onnx.node');
================================================
FILE: .github/scripts/node-addon/notes.md
================================================
# Introduction
See also
- https://github.com/WonderInventions/node-webrtc/blob/develop/package.json
- https://stackoverflow.com/questions/15176082/npm-package-json-os-specific-dependency
- https://github.com/WonderInventions/node-webrtc/blob/develop/lib/binding.js
- cross-compiling https://github.com/nodejs/node-gyp/issues/829#issuecomment-665527032
- https://nodejs.github.io/node-addon-examples/build-tools/cmake-js
================================================
FILE: .github/scripts/node-addon/package-optional.json
================================================
{
"name": "sherpa-onnx-PLATFORM2-ARCH",
"version": "SHERPA_ONNX_VERSION",
"description": "Speech-to-text, text-to-speech, speaker diarization, and speech enhancement using Next-gen Kaldi without internet connection",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "git+https://github.com/k2-fsa/sherpa-onnx.git"
},
"keywords": [
"speech to text",
"text to speech",
"transcription",
"real-time speech recognition",
"without internet connection",
"locally",
"local",
"embedded systems",
"open source",
"diarization",
"speaker diarization",
"speaker recognition",
"speaker",
"speaker segmentation",
"speaker verification",
"spoken language identification",
"sherpa",
"zipformer",
"asr",
"tts",
"stt",
"c++",
"onnxruntime",
"onnx",
"ai",
"next-gen kaldi",
"offline",
"privacy",
"open source",
"streaming speech recognition",
"speech",
"recognition",
"vad",
"node-addon-api",
"speaker id",
"language id",
"speech enhancement",
"denoising"
],
"author": "The next-gen Kaldi team",
"license": "Apache-2.0",
"bugs": {
"url": "https://github.com/k2-fsa/sherpa-onnx/issues"
},
"homepage": "https://github.com/k2-fsa/sherpa-onnx#readme",
"os": [
"PLATFORM"
],
"cpu": [
"ARCH"
]
}
================================================
FILE: .github/scripts/node-addon/package.json
================================================
{
"name": "sherpa-onnx-node",
"version": "SHERPA_ONNX_VERSION",
"description": "Speech-to-text, text-to-speech, speaker diarization, and speech enhancement using Next-gen Kaldi without internet connection",
"main": "sherpa-onnx.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "git+https://github.com/k2-fsa/sherpa-onnx.git"
},
"keywords": [
"speech to text",
"text to speech",
"transcription",
"real-time speech recognition",
"without internet connection",
"locally",
"local",
"embedded systems",
"open source",
"diarization",
"speaker diarization",
"speaker recognition",
"speaker",
"speaker segmentation",
"speaker verification",
"spoken language identification",
"sherpa",
"zipformer",
"asr",
"tts",
"stt",
"c++",
"onnxruntime",
"onnx",
"ai",
"next-gen kaldi",
"offline",
"privacy",
"open source",
"streaming speech recognition",
"speech",
"recognition",
"vad",
"node-addon-api",
"speaker id",
"language id",
"speech enhancement",
"denoising"
],
"author": "The next-gen Kaldi team",
"license": "Apache-2.0",
"bugs": {
"url": "https://github.com/k2-fsa/sherpa-onnx/issues"
},
"homepage": "https://github.com/k2-fsa/sherpa-onnx#readme",
"optionalDependencies": {
"sherpa-onnx-darwin-arm64": "^SHERPA_ONNX_VERSION",
"sherpa-onnx-darwin-x64": "^SHERPA_ONNX_VERSION",
"sherpa-onnx-linux-x64": "^SHERPA_ONNX_VERSION",
"sherpa-onnx-linux-arm64": "^SHERPA_ONNX_VERSION",
"sherpa-onnx-win-x64": "^SHERPA_ONNX_VERSION",
"sherpa-onnx-win-ia32": "^SHERPA_ONNX_VERSION"
}
}
================================================
FILE: .github/scripts/test-audio-tagging.sh
================================================
#!/usr/bin/env bash
set -ex
log() {
# This function is from espnet
local fname=${BASH_SOURCE[1]##*/}
echo -e "$(date '+%Y-%m-%d %H:%M:%S') (${fname}:${BASH_LINENO[0]}:${FUNCNAME[1]}) $*"
}
echo "EXE is $EXE"
echo "PATH: $PATH"
which $EXE
log "------------------------------------------------------------"
log "Run zipformer for audio tagging "
log "------------------------------------------------------------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/audio-tagging-models/sherpa-onnx-zipformer-audio-tagging-2024-04-09.tar.bz2
tar xvf sherpa-onnx-zipformer-audio-tagging-2024-04-09.tar.bz2
rm sherpa-onnx-zipformer-audio-tagging-2024-04-09.tar.bz2
repo=sherpa-onnx-zipformer-audio-tagging-2024-04-09
ls -lh $repo
for w in 1.wav 2.wav 3.wav 4.wav; do
$EXE \
--zipformer-model=$repo/model.onnx \
--labels=$repo/class_labels_indices.csv \
$repo/test_wavs/$w
done
rm -rf $repo
================================================
FILE: .github/scripts/test-c-api.sh
================================================
#!/usr/bin/env bash
set -ex
log() {
# This function is from espnet
local fname=${BASH_SOURCE[1]##*/}
echo -e "$(date '+%Y-%m-%d %H:%M:%S') (${fname}:${BASH_LINENO[0]}:${FUNCNAME[1]}) $*"
}
echo "SLID_EXE is $SLID_EXE"
echo "SID_EXE is $SID_EXE"
echo "AT_EXE is $AT_EXE"
echo "PUNCT_EXE is $PUNCT_EXE"
echo "PATH: $PATH"
log "------------------------------------------------------------"
log "Test adding punctuations "
log "------------------------------------------------------------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/punctuation-models/sherpa-onnx-punct-ct-transformer-zh-en-vocab272727-2024-04-12.tar.bz2
ls -lh
tar xf sherpa-onnx-punct-ct-transformer-zh-en-vocab272727-2024-04-12.tar.bz2
ls -lh sherpa-onnx-punct-ct-transformer-zh-en-vocab272727-2024-04-12
rm sherpa-onnx-punct-ct-transformer-zh-en-vocab272727-2024-04-12.tar.bz2
$PUNCT_EXE
rm -rf sherpa-onnx-punct-ct-transformer-zh-en-vocab272727-2024-04-12
log "------------------------------------------------------------"
log "Test audio tagging "
log "------------------------------------------------------------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/audio-tagging-models/sherpa-onnx-zipformer-audio-tagging-2024-04-09.tar.bz2
tar xvf sherpa-onnx-zipformer-audio-tagging-2024-04-09.tar.bz2
rm sherpa-onnx-zipformer-audio-tagging-2024-04-09.tar.bz2
$AT_EXE
rm -rf sherpa-onnx-zipformer-audio-tagging-2024-04-09
log "------------------------------------------------------------"
log "Download whisper tiny for spoken language identification "
log "------------------------------------------------------------"
rm -rf sherpa-onnx-whisper-tiny*
curl -LS -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-whisper-tiny.tar.bz2
tar xvf sherpa-onnx-whisper-tiny.tar.bz2
rm sherpa-onnx-whisper-tiny.tar.bz2
$SLID_EXE
rm -rf sherpa-onnx-whisper-tiny*
log "------------------------------------------------------------"
log "Download file for speaker identification and verification "
log "------------------------------------------------------------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/speaker-recongition-models/3dspeaker_speech_campplus_sv_zh-cn_16k-common.onnx
git clone https://github.com/csukuangfj/sr-data
$SID_EXE
rm -fv *.onnx
rm -rf sr-data
================================================
FILE: .github/scripts/test-cxx-api.sh
================================================
#!/usr/bin/env bash
set -ex
log() {
# This function is from espnet
local fname=${BASH_SOURCE[1]##*/}
echo -e "$(date '+%Y-%m-%d %H:%M:%S') (${fname}:${BASH_LINENO[0]}:${FUNCNAME[1]}) $*"
}
echo "CXX_STREAMING_ZIPFORMER_EXE is $CXX_STREAMING_ZIPFORMER_EXE"
echo "CXX_WHISPER_EXE is $CXX_WHISPER_EXE"
echo "CXX_SENSE_VOICE_EXE is $CXX_SENSE_VOICE_EXE"
echo "PATH: $PATH"
log "------------------------------------------------------------"
log "Test streaming zipformer CXX API"
log "------------------------------------------------------------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20.tar.bz2
tar xvf sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20.tar.bz2
rm sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20.tar.bz2
$CXX_STREAMING_ZIPFORMER_EXE
rm -rf sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20
log "------------------------------------------------------------"
log "Test Whisper CXX API"
log "------------------------------------------------------------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-whisper-tiny.en.tar.bz2
tar xvf sherpa-onnx-whisper-tiny.en.tar.bz2
rm sherpa-onnx-whisper-tiny.en.tar.bz2
$CXX_WHISPER_EXE
rm -rf sherpa-onnx-whisper-tiny.en
log "------------------------------------------------------------"
log "Test SenseVoice CXX API"
log "------------------------------------------------------------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17.tar.bz2
tar xvf sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17.tar.bz2
rm sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17.tar.bz2
$CXX_SENSE_VOICE_EXE
rm -rf sherpa-onnx-sense-voice-*
================================================
FILE: .github/scripts/test-dart.sh
================================================
#!/usr/bin/env bash
set -ex
cd dart-api-examples
pushd speech-enhancement-gtcrn
echo "speech enhancement with gtcrn models"
./run.sh
ls -lh
popd
pushd speech-enhancement-dpdfnet
echo "speech enhancement with dpdfnet models"
./run.sh
ls -lh
popd
pushd streaming-speech-enhancement-gtcrn
echo "streaming speech enhancement with gtcrn models"
./run.sh
ls -lh
popd
pushd streaming-speech-enhancement-dpdfnet
echo "streaming speech enhancement with dpdfnet models"
./run.sh
ls -lh
popd
pushd non-streaming-asr
echo '----------Moonshine v2----------'
./run-moonshine-v2.sh
rm -rf sherpa-onnx-*
echo '----------FireRedASR CTC----------'
./run-fire-red-asr-ctc.sh
rm -rf sherpa-onnx-*
echo '----------FunASR Nano----------'
./run-funasr-nano.sh
rm -rf sherpa-onnx-*
echo '----------MedASR CTC----------'
./run-medasr-ctc.sh
rm -rf sherpa-onnx-*
echo '----------Omnilingual ASR CTC----------'
./run-omnilingual-asr-ctc.sh
rm -rf sherpa-onnx-*
echo '----------Wenet CTC----------'
./run-wenet-ctc.sh
rm -rf sherpa-onnx-*
echo '----------Zipformer CTC----------'
./run-zipformer-ctc.sh
rm -rf sherpa-onnx-*
echo '----------SenseVoice----------'
./run-sense-voice-with-hr.sh
./run-sense-voice.sh
rm -rf sherpa-onnx-*
echo '----------FireRedAsr----------'
./run-fire-red-asr.sh
rm -rf sherpa-onnx-fire-red-asr-*
echo '----------NeMo transducer----------'
./run-nemo-transducer.sh
rm -rf sherpa-onnx-*
echo '----------Dolphin CTC----------'
./run-dolphin-ctc.sh
rm -rf sherpa-onnx-*
echo '----------NeMo CTC----------'
./run-nemo-ctc.sh
rm -rf sherpa-onnx-*
echo '----------TeleSpeech CTC----------'
./run-telespeech-ctc.sh
rm -rf sherpa-onnx-*
echo '----------moonshine----------'
./run-moonshine.sh
rm -rf sherpa-onnx-*
echo '----------whisper----------'
./run-whisper.sh
rm -rf sherpa-onnx-*
echo '----------zipformer transducer----------'
./run-zipformer-transducer.sh
rm -rf sherpa-onnx-*
echo '----------paraformer itn----------'
./run-paraformer-itn.sh
echo '----------paraformer----------'
./run-paraformer.sh
rm -rf sherpa-onnx-*
echo '----------VAD with paraformer----------'
./run-vad-with-paraformer.sh
rm -rf sherpa-onnx-*
popd # non-streaming-asr
pushd tts
echo '----------tts----------'
./run-pocket-en.sh
./run-kitten-en.sh
./run-supertonic-en.sh
./run-kokoro-zh-en.sh
./run-kokoro-en.sh
./run-matcha-zh.sh
./run-matcha-en.sh
./run-zipvoice-zh-en.sh
ls -lh *.wav
rm -rf matcha-icefall-*
rm -rf sherpa-onnx-zipvoice-*
rm *.onnx
echo '----------piper tts----------'
./run-piper.sh
rm -rf vits-piper-*
echo '----------coqui tts----------'
./run-coqui.sh
rm -rf vits-coqui-*
echo '----------zh tts----------'
./run-vits-zh.sh
rm -rf sherpa-onnx-*
ls -lh *.wav
popd # tts
pushd spoken-language-identification
./run-whisper.sh
popd
pushd streaming-asr
echo '----------streaming T-one ctc----------'
./run-t-one-ctc.sh
rm -rf sherpa-onnx-*
echo '----------streaming zipformer ctc HLG----------'
./run-zipformer-ctc-hlg.sh
rm -rf sherpa-onnx-*
echo '----------streaming zipformer ctc----------'
./run-zipformer-ctc.sh
rm -rf sherpa-onnx-*
echo '----------streaming zipformer transducer----------'
./run-zipformer-transducer-itn.sh
./run-zipformer-transducer.sh
rm -f itn*
rm -rf sherpa-onnx-*
echo '----------streaming NeMo transducer----------'
./run-nemo-transducer.sh
rm -rf sherpa-onnx-*
echo '----------streaming paraformer----------'
./run-paraformer.sh
rm -rf sherpa-onnx-*
popd # streaming-asr
pushd vad
./run-ten-vad.sh
./run.sh
rm *.onnx
popd
pushd speaker-diarization
echo '----------speaker diarization----------'
./run.sh
popd
pushd speaker-identification
echo '----------3d speaker----------'
./run-3d-speaker.sh
popd
pushd add-punctuations
echo '----------CT Transformer----------'
./run-ct-transformer.sh
popd
pushd audio-tagging
echo '----------zipformer----------'
./run-zipformer.sh
echo '----------ced----------'
./run-ced.sh
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-*
echo '----------TeleSpeech CTC----------'
./run-telespeech-ctc.sh
rm -rf sherpa-onnx-*
echo "----zipformer transducer----"
./run-zipformer-transducer.sh
rm -rf sherpa-onnx-*
echo "----moonshine----"
./run-moonshine.sh
rm -rf sherpa-onnx-*
echo "----whisper----"
./run-whisper.sh
rm -rf sherpa-onnx-*
echo "----paraformer----"
./run-paraformer.sh
rm -rf sherpa-onnx-*
echo "----SenseVoice zh----"
./run-sense-voice-zh-2.sh
./run-sense-voice-zh.sh
rm -rf sherpa-onnx-*
echo "----SenseVoice en----"
./run-sense-voice-en.sh
rm -rf sherpa-onnx-*
popd
pushd keyword-spotter
./run-zh.sh
popd
================================================
FILE: .github/scripts/test-dot-net.sh
================================================
#!/usr/bin/env bash
set -ex
cd dotnet-examples/
cd ./supertonic-tts
./run.sh
ls -lh
rm -rf sherpa-onnx-supertonic-*
cd ../non-streaming-moonshine-v2-decode-files
./run.sh
rm -rf sherpa-onnx-moonshine-*
cd ../offline-decode-files
./run-fire-red-asr-ctc.sh
rm -rf sherpa-onnx-fire-*
./run-medasr-ctc.sh
rm -rf sherpa-onnx-*
./run-omnilingual-asr-ctc.sh
rm -rf sherpa-onnx-*
./run-wenet-ctc.sh
rm -rf sherpa-onnx-*
./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
./run-fire-red-asr.sh
rm -rf sherpa-onnx-fire-red-asr-*
./run-moonshine.sh
rm -rf sherpa-onnx-*
./run-sense-voice-ctc.sh
rm -rf sherpa-onnx-*
./run-paraformer-itn.sh
rm -rf sherpa-onnx-*
./run-telespeech-ctc.sh
rm -rf sherpa-onnx-*
./run-nemo-ctc.sh
rm -rf sherpa-onnx-*
./run-paraformer.sh
rm -rf sherpa-onnx-*
./run-zipformer.sh
rm -rf sherpa-onnx-*
./run-hotwords.sh
rm -rf sherpa-onnx-*
./run-whisper.sh
rm -rf sherpa-onnx-*
# ./run-whisper-large-v3.sh
# rm -rf sherpa-onnx-*
./run-tdnn-yesno.sh
rm -rf sherpa-onnx-*
cd ../pocket-tts-zero-shot
./run.sh
ls -lh
rm -rf sherpa-onnx-pocket-*
cd ../zipvoice-tts
./run.sh
ls -lh
rm -rf sherpa-onnx-zipvoice-*
rm -f vocos_24khz.onnx
cd ../vad-non-streaming-funasr-nano
./run-ten-vad.sh
rm -fv *.onnx
./run.sh
rm -fv *.onnx
cd ../non-streaming-funasr-nano-decode-files
./run.sh
ls -lh
rm -rf sherpa-onnx-funasr-*
cd ../version-test
./run.sh
ls -lh
cd ../offline-audio-tagging
./run.sh
ls -lh
rm -rf sherpa-onnx-*
cd ../kitten-tts
./run-kitten.sh
ls -lh
rm -rf kitten-nano-en-v0_1-fp16
cd ../vad-non-streaming-asr-paraformer
./run-ten-vad.sh
rm -fv *.onnx
./run.sh
rm -fv *.onnx
cd ../non-streaming-canary-decode-files
./run.sh
ls -lh
rm -rf sherpa-onnx-nemo-*
cd ../speech-enhancement-gtcrn
./run.sh
ls -lh
cd ../speech-enhancement-dpdfnet
./run.sh
ls -lh
cd ../streaming-speech-enhancement-gtcrn
./run.sh
ls -lh
cd ../streaming-speech-enhancement-dpdfnet
./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
cp -v dotnet-examples/supertonic-tts/*.wav ./tts
cp -v dotnet-examples/zipvoice-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
cd ../online-decode-files
./run-t-one-ctc.sh
rm -rf sherpa-onnx-*
./run-transducer-itn.sh
rm -rf sherpa-onnx-*
./run-zipformer2-ctc.sh
rm -rf sherpa-onnx-*
./run-transducer.sh
rm -rf sherpa-onnx-*
./run-paraformer.sh
rm -rf sherpa-onnx-*
cd ../offline-punctuation
./run.sh
rm -rf sherpa-onnx-*
cd ../speaker-identification
./run.sh
cd ../streaming-hlg-decoding/
./run.sh
rm -rf sherpa-onnx-*
cd ../spoken-language-identification
./run.sh
rm -rf sherpa-onnx-*
================================================
FILE: .github/scripts/test-kws.sh
================================================
#!/usr/bin/env bash
set -e
log() {
# This function is from espnet
local fname=${BASH_SOURCE[1]##*/}
echo -e "$(date '+%Y-%m-%d %H:%M:%S') (${fname}:${BASH_LINENO[0]}:${FUNCNAME[1]}) $*"
}
echo "EXE is $EXE"
echo "PATH: $PATH"
which $EXE
log "------------------------------------------------------------"
log "Run Chinese keyword spotting (Wenetspeech)"
log "------------------------------------------------------------"
repo_url=https://github.com/pkufool/keyword-spotting-models/releases/download/v0.1/sherpa-onnx-kws-zipformer-wenetspeech-3.3M-2024-01-01.tar.bz
log "Start testing ${repo_url}"
repo=sherpa-onnx-kws-zipformer-wenetspeech-3.3M-2024-01-01
log "Download pretrained model and test-data from $repo_url"
curl -SL -O $repo_url
tar jxvf ${repo}.tar.bz
time $EXE \
--tokens=$repo/tokens.txt \
--encoder=$repo/encoder-epoch-12-avg-2-chunk-16-left-64.onnx \
--decoder=$repo/decoder-epoch-12-avg-2-chunk-16-left-64.onnx \
--joiner=$repo/joiner-epoch-12-avg-2-chunk-16-left-64.onnx \
--keywords-file=$repo/test_wavs/test_keywords.txt \
--max-active-paths=4 \
--num-threads=4 \
$repo/test_wavs/3.wav $repo/test_wavs/4.wav $repo/test_wavs/5.wav $repo/test_wavs/6.wav
rm -rf $repo
rm -rf ${repo}.tar.bz
log "------------------------------------------------------------"
log "Run English keyword spotting (Gigaspeech)"
log "------------------------------------------------------------"
repo_url=https://github.com/pkufool/keyword-spotting-models/releases/download/v0.1/sherpa-onnx-kws-zipformer-gigaspeech-3.3M-2024-01-01.tar.bz
log "Start testing ${repo_url}"
repo=sherpa-onnx-kws-zipformer-gigaspeech-3.3M-2024-01-01
log "Download pretrained model and test-data from $repo_url"
curl -SL -O $repo_url
tar jxvf ${repo}.tar.bz
time $EXE \
--tokens=$repo/tokens.txt \
--encoder=$repo/encoder-epoch-12-avg-2-chunk-16-left-64.onnx \
--decoder=$repo/decoder-epoch-12-avg-2-chunk-16-left-64.onnx \
--joiner=$repo/joiner-epoch-12-avg-2-chunk-16-left-64.onnx \
--keywords-file=$repo/test_wavs/test_keywords.txt \
--max-active-paths=4 \
--num-threads=4 \
$repo/test_wavs/0.wav $repo/test_wavs/1.wav
rm -rf $repo
rm -rf ${repo}.tar.bz
================================================
FILE: .github/scripts/test-nodejs-addon-npm.sh
================================================
#!/usr/bin/env bash
set -ex
d=nodejs-addon-examples
echo "dir: $d"
cd $d
arch=$(node -p "require('os').arch()")
platform=$(node -p "require('os').platform()")
node_version=$(node -p "process.versions.node.split('.')[0]")
echo "----------Moonshine v2----------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-moonshine-tiny-en-quantized-2026-02-27.tar.bz2
tar xvf sherpa-onnx-moonshine-tiny-en-quantized-2026-02-27.tar.bz2
rm sherpa-onnx-moonshine-tiny-en-quantized-2026-02-27.tar.bz2
node ./test_asr_non_streaming_moonshine_v2.js
rm -rf sherpa-onnx-moonshine-tiny-en-quantized-2026-02-27
echo "----------FireRedAsr CTC----------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-fire-red-asr2-ctc-zh_en-int8-2026-02-25.tar.bz2
tar xvf sherpa-onnx-fire-red-asr2-ctc-zh_en-int8-2026-02-25.tar.bz2
rm sherpa-onnx-fire-red-asr2-ctc-zh_en-int8-2026-02-25.tar.bz2
node ./test_asr_non_streaming_fire_red_asr_ctc.js
node ./test_asr_non_streaming_fire_red_asr_ctc_async.js
rm -rf sherpa-onnx-fire-red-asr2-ctc-zh_en-int8-2026-02-25
echo "----------PocketTTS----------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/sherpa-onnx-pocket-tts-int8-2026-01-26.tar.bz2
tar xf sherpa-onnx-pocket-tts-int8-2026-01-26.tar.bz2
rm sherpa-onnx-pocket-tts-int8-2026-01-26.tar.bz2
node ./test_tts_non_streaming_pocket_en.js
node ./test_tts_non_streaming_pocket_en_async.js
rm -rf sherpa-onnx-pocket-tts-int8-2026-01-26
echo "----------ZipVoice----------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/sherpa-onnx-zipvoice-distill-int8-zh-en-emilia.tar.bz2
tar xf sherpa-onnx-zipvoice-distill-int8-zh-en-emilia.tar.bz2
rm sherpa-onnx-zipvoice-distill-int8-zh-en-emilia.tar.bz2
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/vocoder-models/vocos_24khz.onnx
node ./test_tts_non_streaming_zipvoice_zh_en.js
node ./test_tts_non_streaming_zipvoice_zh_en_async.js
rm -rf sherpa-onnx-zipvoice-distill-int8-zh-en-emilia
rm -f vocos_24khz.onnx
echo "----------non-streaming ASR FunASR Nano----------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-funasr-nano-int8-2025-12-30.tar.bz2
tar xvf sherpa-onnx-funasr-nano-int8-2025-12-30.tar.bz2
rm sherpa-onnx-funasr-nano-int8-2025-12-30.tar.bz2
node ./test_asr_non_streaming_funasr_nano.js
node ./test_asr_non_streaming_funasr_nano_async.js
rm -rf sherpa-onnx-funasr-nano-int8-2025-12-30
echo "----------non-streaming ASR Google MedASR CTC----------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-medasr-ctc-en-int8-2025-12-25.tar.bz2
tar xvf sherpa-onnx-medasr-ctc-en-int8-2025-12-25.tar.bz2
rm sherpa-onnx-medasr-ctc-en-int8-2025-12-25.tar.bz2
node ./test_asr_non_streaming_medasr_ctc.js
rm -rf sherpa-onnx-medasr-ctc-en-int8-2025-12-25
echo "----------non-streaming ASR Omnilingual ASR CTC----------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-omnilingual-asr-1600-languages-300M-ctc-int8-2025-11-12.tar.bz2
tar xvf sherpa-onnx-omnilingual-asr-1600-languages-300M-ctc-int8-2025-11-12.tar.bz2
rm sherpa-onnx-omnilingual-asr-1600-languages-300M-ctc-int8-2025-11-12.tar.bz2
node ./test_asr_non_streaming_omnilingual_asr_ctc.js
rm -rf sherpa-onnx-omnilingual-asr-1600-languages-300M-ctc-int8-2025-11-12
echo "----------non-streaming ASR WeNet CTC----------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-wenetspeech-yue-u2pp-conformer-ctc-zh-en-cantonese-int8-2025-09-10.tar.bz2
tar xvf sherpa-onnx-wenetspeech-yue-u2pp-conformer-ctc-zh-en-cantonese-int8-2025-09-10.tar.bz2
rm sherpa-onnx-wenetspeech-yue-u2pp-conformer-ctc-zh-en-cantonese-int8-2025-09-10.tar.bz2
node ./test_asr_non_streaming_wenet_ctc.js
rm -rf sherpa-onnx-wenetspeech-yue-u2pp-conformer-ctc-zh-en-cantonese-int8-2025-09-10
echo "----------streaming ASR T-one CTC----------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-streaming-t-one-russian-2025-09-08.tar.bz2
tar xvf sherpa-onnx-streaming-t-one-russian-2025-09-08.tar.bz2
rm sherpa-onnx-streaming-t-one-russian-2025-09-08.tar.bz2
node ./test_asr_streaming_t_one_ctc.js
rm -rf sherpa-onnx-streaming-t-one-russian-2025-09-08
echo "----------KittenTTS----------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/kitten-nano-en-v0_1-fp16.tar.bz2
tar xf kitten-nano-en-v0_1-fp16.tar.bz2
rm kitten-nano-en-v0_1-fp16.tar.bz2
node ./test_tts_non_streaming_kitten_en.js
rm -rf kitten-nano-en-v0_1-fp16
echo "----------SupertonicTTS----------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/sherpa-onnx-supertonic-tts-int8-2026-03-06.tar.bz2
tar xf sherpa-onnx-supertonic-tts-int8-2026-03-06.tar.bz2
rm sherpa-onnx-supertonic-tts-int8-2026-03-06.tar.bz2
node ./test_tts_non_streaming_supertonic_en.js
node ./test_tts_non_streaming_supertonic_en_async.js
rm -rf sherpa-onnx-supertonic-tts-int8-2026-03-06
echo "----------non-streaming ASR NeMo Canary----------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-nemo-canary-180m-flash-en-es-de-fr-int8.tar.bz2
tar xvf sherpa-onnx-nemo-canary-180m-flash-en-es-de-fr-int8.tar.bz2
rm sherpa-onnx-nemo-canary-180m-flash-en-es-de-fr-int8.tar.bz2
node ./test_asr_non_streaming_nemo_canary.js
rm -rf sherpa-onnx-nemo-canary-180m-flash-en-es-de-fr-int8
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
rm sherpa-onnx-nemo-parakeet-tdt-0.6b-v2-int8.tar.bz2
node ./test_asr_non_streaming_nemo_parakeet_tdt_v2.js
rm -rf sherpa-onnx-nemo-parakeet-tdt-0.6b-v2-int8
echo "----------non-streaming ASR 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
rm sherpa-onnx-dolphin-base-ctc-multi-lang-int8-2025-04-02.tar.bz2
node ./test_asr_non_streaming_dolphin_ctc.js
rm -rf sherpa-onnx-dolphin-base-ctc-multi-lang-int8-2025-04-02
echo "----------non-streaming speech denoiser----------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/speech-enhancement-models/gtcrn_simple.onnx
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/speech-enhancement-models/dpdfnet_baseline.onnx
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/speech-enhancement-models/inp_16k.wav
node ./test_offline_speech_enhancement_gtcrn.js
node ./test_offline_speech_enhancement_dpdfnet.js
node ./test_online_speech_enhancement_gtcrn.js
node ./test_online_speech_enhancement_dpdfnet.js
rm gtcrn_simple.onnx
rm dpdfnet_baseline.onnx
ls -lh *.wav
echo "----------non-streaming asr FireRedAsr----------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-fire-red-asr-large-zh_en-2025-02-16.tar.bz2
tar xvf sherpa-onnx-fire-red-asr-large-zh_en-2025-02-16.tar.bz2
rm sherpa-onnx-fire-red-asr-large-zh_en-2025-02-16.tar.bz2
node ./test_asr_non_streaming_fire_red_asr.js
rm -rf sherpa-onnx-fire-red-asr-large-zh_en-2025-02-16
echo "----------non-streaming asr moonshine + vad----------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-moonshine-tiny-en-int8.tar.bz2
tar xvf sherpa-onnx-moonshine-tiny-en-int8.tar.bz2
rm sherpa-onnx-moonshine-tiny-en-int8.tar.bz2
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/Obama.wav
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/silero_vad.onnx
node ./test_vad_with_non_streaming_asr_moonshine.js
rm -rf sherpa-onnx-*
rm *.wav
rm *.onnx
echo "----------non-streaming speaker diarization----------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/speaker-segmentation-models/sherpa-onnx-pyannote-segmentation-3-0.tar.bz2
tar xvf sherpa-onnx-pyannote-segmentation-3-0.tar.bz2
rm sherpa-onnx-pyannote-segmentation-3-0.tar.bz2
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/speaker-recongition-models/3dspeaker_speech_eres2net_base_sv_zh-cn_3dspeaker_16k.onnx
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/speaker-segmentation-models/0-four-speakers-zh.wav
node ./test_offline_speaker_diarization.js
rm -rfv *.onnx *.wav sherpa-onnx-pyannote-*
echo "----------non-streaming asr whisper + vad----------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-whisper-tiny.en.tar.bz2
tar xvf sherpa-onnx-whisper-tiny.en.tar.bz2
rm sherpa-onnx-whisper-tiny.en.tar.bz2
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/Obama.wav
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/silero_vad.onnx
node ./test_vad_with_non_streaming_asr_whisper.js
rm -rf sherpa-onnx-whisper*
rm *.wav
rm *.onnx
echo "----------asr----------"
if [[ $arch != "ia32" && $platform != "win32" ]]; then
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-nemo-fast-conformer-ctc-be-de-en-es-fr-hr-it-pl-ru-uk-20k.tar.bz2
tar xvf sherpa-onnx-nemo-fast-conformer-ctc-be-de-en-es-fr-hr-it-pl-ru-uk-20k.tar.bz2
rm sherpa-onnx-nemo-fast-conformer-ctc-be-de-en-es-fr-hr-it-pl-ru-uk-20k.tar.bz2
node ./test_asr_non_streaming_nemo_ctc.js
rm -rf sherpa-onnx-nemo-fast-conformer-ctc-be-de-en-es-fr-hr-it-pl-ru-uk-20k
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17.tar.bz2
tar xvf sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17.tar.bz2
rm sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17.tar.bz2
node ./test_asr_non_streaming_sense_voice.js
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/hr-files/dict.tar.bz2
tar xf dict.tar.bz2
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/hr-files/replace.fst
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/hr-files/test-hr.wav
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/hr-files/lexicon.txt
node ./test_asr_non_streaming_sense_voice_with_hr.js
rm -rf sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17
rm -rf dict replace.fst test-hr.wav lexicon.txt
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-paraformer-zh-2023-09-14.tar.bz2
tar xvf sherpa-onnx-paraformer-zh-2023-09-14.tar.bz2
rm sherpa-onnx-paraformer-zh-2023-09-14.tar.bz2
node ./test_asr_non_streaming_paraformer.js
rm -f itn*
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/itn_zh_number.fst
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/itn-zh-number.wav
node ./test_asr_non_streaming_paraformer_itn.js
rm -rf sherpa-onnx-paraformer-zh-2023-09-14
fi
echo "----------tts----------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/kokoro-multi-lang-v1_0.tar.bz2
tar xf kokoro-multi-lang-v1_0.tar.bz2
rm kokoro-multi-lang-v1_0.tar.bz2
node ./test_tts_non_streaming_kokoro_zh_en.js
ls -lh *.wav
rm -rf kokoro-multi-lang-v1_0
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/kokoro-en-v0_19.tar.bz2
tar xf kokoro-en-v0_19.tar.bz2
rm kokoro-en-v0_19.tar.bz2
node ./test_tts_non_streaming_kokoro_en.js
ls -lh *.wav
rm -rf kokoro-en-v0_19
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/matcha-icefall-en_US-ljspeech.tar.bz2
tar xvf matcha-icefall-en_US-ljspeech.tar.bz2
rm matcha-icefall-en_US-ljspeech.tar.bz2
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/vocoder-models/vocos-22khz-univ.onnx
node ./test_tts_non_streaming_matcha_icefall_en.js
rm vocos-22khz-univ.onnx
rm -rf matcha-icefall-en_US-ljspeech
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/matcha-icefall-zh-baker.tar.bz2
tar xvf matcha-icefall-zh-baker.tar.bz2
rm matcha-icefall-zh-baker.tar.bz2
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/vocoder-models/vocos-22khz-univ.onnx
node ./test_tts_non_streaming_matcha_icefall_zh.js
rm vocos-22khz-univ.onnx
rm -rf matcha-icefall-zh-baker
ls -lh *.wav
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/vits-piper-en_GB-cori-medium.tar.bz2
tar xf vits-piper-en_GB-cori-medium.tar.bz2
rm vits-piper-en_GB-cori-medium.tar.bz2
node ./test_tts_non_streaming_vits_piper_en.js
rm -rf vits-piper-en_GB-cori-medium
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/vits-coqui-de-css10.tar.bz2
tar xvf vits-coqui-de-css10.tar.bz2
rm vits-coqui-de-css10.tar.bz2
node ./test_tts_non_streaming_vits_coqui_de.js
rm -rf vits-coqui-de-css10
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/sherpa-onnx-vits-zh-ll.tar.bz2
tar xvf sherpa-onnx-vits-zh-ll.tar.bz2
rm sherpa-onnx-vits-zh-ll.tar.bz2
node ./test_tts_non_streaming_vits_zh_ll.js
rm -rf sherpa-onnx-vits-zh-ll
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/vits-icefall-zh-aishell3.tar.bz2
tar xvf vits-icefall-zh-aishell3.tar.bz2
rm vits-icefall-zh-aishell3.tar.bz2
node ./test_tts_non_streaming_vits_zh_aishell3.js
rm -rf vits-icefall-zh-aishell3
echo "----------keyword spotting----------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/kws-models/sherpa-onnx-kws-zipformer-wenetspeech-3.3M-2024-01-01.tar.bz2
tar xvf sherpa-onnx-kws-zipformer-wenetspeech-3.3M-2024-01-01.tar.bz2
rm sherpa-onnx-kws-zipformer-wenetspeech-3.3M-2024-01-01.tar.bz2
node ./test_keyword_spotter_transducer.js
rm -rf sherpa-onnx-kws-zipformer-wenetspeech-3.3M-2024-01-01
if [[ $arch != "ia32" && $platform != "win32" && $node_version != 21 ]]; then
# The punctuation model is so large that it cause memory allocation failure on windows x86
# 2024-07-17 03:24:34.2388391 [E:onnxruntime:, inference_session.cc:1981
# onnxruntime::InferenceSession::Initialize::<lambda_d603a8c74863bd6b58a1c7996295ed04>::operator ()]
# Exception during initialization: bad allocation
# Error: Process completed with exit code 127.
#
# Node 21 does not have such an issue
echo "----------add punctuations----------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/punctuation-models/sherpa-onnx-punct-ct-transformer-zh-en-vocab272727-2024-04-12.tar.bz2
tar xvf sherpa-onnx-punct-ct-transformer-zh-en-vocab272727-2024-04-12.tar.bz2
rm sherpa-onnx-punct-ct-transformer-zh-en-vocab272727-2024-04-12.tar.bz2
node ./test_offline_punctuation.js
rm -rf sherpa-onnx-punct-ct-transformer-zh-en-vocab272727-2024-04-12
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/punctuation-models/sherpa-onnx-online-punct-en-2024-08-06.tar.bz2
tar xvf sherpa-onnx-online-punct-en-2024-08-06.tar.bz2
rm sherpa-onnx-online-punct-en-2024-08-06.tar.bz2
node ./test_online_punctuation.js
rm -rf sherpa-onnx-online-punct-en-2024-08-06.tar.bz2
fi
echo "----------audio tagging----------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/audio-tagging-models/sherpa-onnx-zipformer-small-audio-tagging-2024-04-15.tar.bz2
tar xvf sherpa-onnx-zipformer-small-audio-tagging-2024-04-15.tar.bz2
rm sherpa-onnx-zipformer-small-audio-tagging-2024-04-15.tar.bz2
node ./test_audio_tagging_zipformer.js
rm -rf sherpa-onnx-zipformer-small-audio-tagging-2024-04-15
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/audio-tagging-models/sherpa-onnx-ced-mini-audio-tagging-2024-04-19.tar.bz2
tar xvf sherpa-onnx-ced-mini-audio-tagging-2024-04-19.tar.bz2
rm sherpa-onnx-ced-mini-audio-tagging-2024-04-19.tar.bz2
node ./test_audio_tagging_ced.js
rm -rf sherpa-onnx-ced-mini-audio-tagging-2024-04-19
echo "----------speaker identification----------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/speaker-recongition-models/3dspeaker_speech_eres2net_base_sv_zh-cn_3dspeaker_16k.onnx
git clone https://github.com/csukuangfj/sr-data
node ./test_speaker_identification.js
rm *.onnx
rm -rf sr-data
echo "----------spoken language identification----------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-whisper-tiny.tar.bz2
tar xvf sherpa-onnx-whisper-tiny.tar.bz2
rm sherpa-onnx-whisper-tiny.tar.bz2
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/spoken-language-identification-test-wavs.tar.bz2
tar xvf spoken-language-identification-test-wavs.tar.bz2
rm spoken-language-identification-test-wavs.tar.bz2
node ./test_spoken_language_identification.js
rm -rf sherpa-onnx-whisper-tiny
rm -rf spoken-language-identification-test-wavs
echo "----------streaming asr----------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20.tar.bz2
tar xvf sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20.tar.bz2
rm sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20.tar.bz2
rm -f itn*
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/itn_zh_number.fst
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/itn-zh-number.wav
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/hr-files/dict.tar.bz2
tar xf dict.tar.bz2
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/hr-files/replace.fst
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/hr-files/test-hr.wav
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/hr-files/lexicon.txt
if [[ $arch != "ia32" && $platform != "win32" ]]; then
node test_asr_streaming_transducer_itn.js
node test_asr_streaming_transducer.js
node test_asr_streaming_transducer_with_hr.js
fi
rm -rf sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20
rm -rf dict lexicon.txt replace.fst test-hr.wav
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-streaming-zipformer-ctc-small-2024-03-18.tar.bz2
tar xvf sherpa-onnx-streaming-zipformer-ctc-small-2024-03-18.tar.bz2
rm sherpa-onnx-streaming-zipformer-ctc-small-2024-03-18.tar.bz2
node ./test_asr_streaming_ctc.js
# To decode with HLG.fst
node ./test_asr_streaming_ctc_hlg.js
rm -rf sherpa-onnx-streaming-zipformer-ctc-small-2024-03-18
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-streaming-paraformer-bilingual-zh-en.tar.bz2
tar xvf sherpa-onnx-streaming-paraformer-bilingual-zh-en.tar.bz2
rm sherpa-onnx-streaming-paraformer-bilingual-zh-en.tar.bz2
node ./test_asr_streaming_paraformer.js
rm -rf sherpa-onnx-streaming-paraformer-bilingual-zh-en
echo "----------non-streaming asr----------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-zipformer-en-2023-04-01.tar.bz2
tar xvf sherpa-onnx-zipformer-en-2023-04-01.tar.bz2
rm sherpa-onnx-zipformer-en-2023-04-01.tar.bz2
node ./test_asr_non_streaming_transducer.js
rm -rf sherpa-onnx-zipformer-en-2023-04-01
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-whisper-tiny.en.tar.bz2
tar xvf sherpa-onnx-whisper-tiny.en.tar.bz2
rm sherpa-onnx-whisper-tiny.en.tar.bz2
node ./test_asr_non_streaming_whisper.js
rm -rf sherpa-onnx-whisper-tiny.en
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-moonshine-tiny-en-int8.tar.bz2
tar xvf sherpa-onnx-moonshine-tiny-en-int8.tar.bz2
rm sherpa-onnx-moonshine-tiny-en-int8.tar.bz2
node ./test_asr_non_streaming_moonshine.js
rm -rf sherpa-onnx-*
ls -lh
================================================
FILE: .github/scripts/test-nodejs-npm.sh
================================================
#!/usr/bin/env bash
set -ex
echo "dir: $d"
cd $d
npm install
git status
ls -lh
ls -lh node_modules
echo "---test moonshine v2---"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-moonshine-tiny-en-quantized-2026-02-27.tar.bz2
tar xvf sherpa-onnx-moonshine-tiny-en-quantized-2026-02-27.tar.bz2
rm sherpa-onnx-moonshine-tiny-en-quantized-2026-02-27.tar.bz2
node ./test-offline-moonshine-v2.js
rm -rf sherpa-onnx-moonshine-tiny-en-quantized-2026-02-27
echo "---test FireRedASR CTC---"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-fire-red-asr2-ctc-zh_en-int8-2026-02-25.tar.bz2
tar xvf sherpa-onnx-fire-red-asr2-ctc-zh_en-int8-2026-02-25.tar.bz2
rm sherpa-onnx-fire-red-asr2-ctc-zh_en-int8-2026-02-25.tar.bz2
node ./test-offline-fire-red-asr-ctc.js
rm -rf sherpa-onnx-fire-red-asr2-ctc-zh_en-int8-2026-02-25
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-funasr-nano-int8-2025-12-30.tar.bz2
tar xvf sherpa-onnx-funasr-nano-int8-2025-12-30.tar.bz2
rm sherpa-onnx-funasr-nano-int8-2025-12-30.tar.bz2
node ./test-offline-funasr-nano.js
rm -rf sherpa-onnx-funasr-nano-int8-2025-12-30
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-medasr-ctc-en-int8-2025-12-25.tar.bz2
tar xvf sherpa-onnx-medasr-ctc-en-int8-2025-12-25.tar.bz2
rm sherpa-onnx-medasr-ctc-en-int8-2025-12-25.tar.bz2
node ./test-offline-medasr-ctc.js
rm -rf sherpa-onnx-medasr-ctc-en-int8-2025-12-25
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-omnilingual-asr-1600-languages-300M-ctc-int8-2025-11-12.tar.bz2
tar xvf sherpa-onnx-omnilingual-asr-1600-languages-300M-ctc-int8-2025-11-12.tar.bz2
rm sherpa-onnx-omnilingual-asr-1600-languages-300M-ctc-int8-2025-11-12.tar.bz2
node ./test-offline-omnilingual-asr-ctc.js
rm -rf sherpa-onnx-omnilingual-asr-1600-languages-300M-ctc-int8-2025-11-12
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-wenetspeech-yue-u2pp-conformer-ctc-zh-en-cantonese-int8-2025-09-10.tar.bz2
tar xvf sherpa-onnx-wenetspeech-yue-u2pp-conformer-ctc-zh-en-cantonese-int8-2025-09-10.tar.bz2
rm sherpa-onnx-wenetspeech-yue-u2pp-conformer-ctc-zh-en-cantonese-int8-2025-09-10.tar.bz2
node ./test-offline-wenet-ctc.js
rm -rf sherpa-onnx-wenetspeech-yue-u2pp-conformer-ctc-zh-en-cantonese-int8-2025-09-10
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-streaming-t-one-russian-2025-09-08.tar.bz2
tar xvf sherpa-onnx-streaming-t-one-russian-2025-09-08.tar.bz2
rm sherpa-onnx-streaming-t-one-russian-2025-09-08.tar.bz2
node ./test-online-t-one-ctc.js
rm -rf sherpa-onnx-streaming-t-one-russian-2025-09-08
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/kitten-nano-en-v0_1-fp16.tar.bz2
tar xf kitten-nano-en-v0_1-fp16.tar.bz2
rm kitten-nano-en-v0_1-fp16.tar.bz2
node ./test-offline-tts-kitten-en.js
ls -lh *.wav
rm -rf kitten-nano-en-v0_1-fp16
# online asr
curl -LS -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-streaming-paraformer-bilingual-zh-en.tar.bz2
tar xvf sherpa-onnx-streaming-paraformer-bilingual-zh-en.tar.bz2
rm sherpa-onnx-streaming-paraformer-bilingual-zh-en.tar.bz2
node ./test-online-paraformer.js
rm -rf sherpa-onnx-streaming-paraformer-bilingual-zh-en
curl -LS -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20.tar.bz2
tar xvf sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20.tar.bz2
rm sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20.tar.bz2
rm -f itn*
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/itn-zh-number.wav
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/itn_zh_number.fst
node ./test-online-transducer-itn.js
node ./test-online-transducer.js
rm -rf sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20
curl -LS -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-streaming-zipformer-ctc-multi-zh-hans-2023-12-13.tar.bz2
tar xvf sherpa-onnx-streaming-zipformer-ctc-multi-zh-hans-2023-12-13.tar.bz2
rm sherpa-onnx-streaming-zipformer-ctc-multi-zh-hans-2023-12-13.tar.bz2
node ./test-online-zipformer2-ctc.js
rm -rf sherpa-onnx-streaming-zipformer-ctc-multi-zh-hans-2023-12-13
curl -LS -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-streaming-zipformer-ctc-small-2024-03-18.tar.bz2
tar xvf sherpa-onnx-streaming-zipformer-ctc-small-2024-03-18.tar.bz2
rm sherpa-onnx-streaming-zipformer-ctc-small-2024-03-18.tar.bz2
node ./test-online-zipformer2-ctc-hlg.js
rm -rf sherpa-onnx-streaming-zipformer-ctc-small-2024-03-18
echo "----------keyword spotting----------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/kws-models/sherpa-onnx-kws-zipformer-wenetspeech-3.3M-2024-01-01.tar.bz2
tar xvf sherpa-onnx-kws-zipformer-wenetspeech-3.3M-2024-01-01.tar.bz2
rm sherpa-onnx-kws-zipformer-wenetspeech-3.3M-2024-01-01.tar.bz2
node ./test-keyword-spotter-transducer.js
rm -rf sherpa-onnx-kws-zipformer-wenetspeech-3.3M-2024-01-01
# asr with offline nemo canary
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-nemo-canary-180m-flash-en-es-de-fr-int8.tar.bz2
tar xvf sherpa-onnx-nemo-canary-180m-flash-en-es-de-fr-int8.tar.bz2
rm sherpa-onnx-nemo-canary-180m-flash-en-es-de-fr-int8.tar.bz2
node ./test-offline-nemo-canary.js
rm -rf sherpa-onnx-nemo-canary-180m-flash-en-es-de-fr-int8
# 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
rm sherpa-onnx-dolphin-base-ctc-multi-lang-int8-2025-04-02.tar.bz2
node ./test-offline-dolphin-ctc.js
rm -rf sherpa-onnx-dolphin-base-ctc-multi-lang-int8-2025-04-02
# speech enhancement
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/speech-enhancement-models/gtcrn_simple.onnx
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/speech-enhancement-models/dpdfnet_baseline.onnx
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/speech-enhancement-models/inp_16k.wav
node ./test-offline-speech-enhancement-gtcrn.js
node ./test-offline-speech-enhancement-dpdfnet.js
node ./test-online-speech-enhancement-gtcrn.js
node ./test-online-speech-enhancement-dpdfnet.js
ls -lh *.wav
rm gtcrn_simple.onnx
rm dpdfnet_baseline.onnx
rm -fv inp_16k.wav
rm -fv enhanced*.wav
# offline tts
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/sherpa-onnx-zipvoice-distill-int8-zh-en-emilia.tar.bz2
tar xf sherpa-onnx-zipvoice-distill-int8-zh-en-emilia.tar.bz2
rm sherpa-onnx-zipvoice-distill-int8-zh-en-emilia.tar.bz2
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/vocoder-models/vocos_24khz.onnx
node ./test-offline-tts-zipvoice-zh-en.js
ls -lh *.wav
rm -rf sherpa-onnx-zipvoice-distill-int8-zh-en-emilia
rm -f vocos_24khz.onnx
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/kokoro-multi-lang-v1_0.tar.bz2
tar xf kokoro-multi-lang-v1_0.tar.bz2
rm kokoro-multi-lang-v1_0.tar.bz2
node ./test-offline-tts-kokoro-zh-en.js
ls -lh *.wav
rm -rf kokoro-multi-lang-v1_0
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/kokoro-en-v0_19.tar.bz2
tar xf kokoro-en-v0_19.tar.bz2
rm kokoro-en-v0_19.tar.bz2
node ./test-offline-tts-kokoro-en.js
rm -rf kokoro-en-v0_19
ls -lh
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/matcha-icefall-zh-baker.tar.bz2
tar xvf matcha-icefall-zh-baker.tar.bz2
rm matcha-icefall-zh-baker.tar.bz2
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/vocoder-models/vocos-22khz-univ.onnx
node ./test-offline-tts-matcha-zh.js
rm -rf matcha-icefall-zh-baker
rm vocos-22khz-univ.onnx
echo "---"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/matcha-icefall-en_US-ljspeech.tar.bz2
tar xvf matcha-icefall-en_US-ljspeech.tar.bz2
rm matcha-icefall-en_US-ljspeech.tar.bz2
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/vocoder-models/vocos-22khz-univ.onnx
node ./test-offline-tts-matcha-en.js
rm -rf matcha-icefall-en_US-ljspeech
rm vocos-22khz-univ.onnx
echo "---"
curl -LS -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/vits-piper-en_US-amy-low.tar.bz2
tar xf vits-piper-en_US-amy-low.tar.bz2
node ./test-offline-tts-vits-en.js
rm -rf vits-piper-en_US-amy-low*
echo "---"
curl -LS -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/vits-icefall-zh-aishell3.tar.bz2
tar xvf vits-icefall-zh-aishell3.tar.bz2
node ./test-offline-tts-vits-zh.js
rm -rf vits-icefall-zh-aishell3*
ls -lh *.wav
echo '-----speaker diarization----------'
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/speaker-segmentation-models/sherpa-onnx-pyannote-segmentation-3-0.tar.bz2
tar xvf sherpa-onnx-pyannote-segmentation-3-0.tar.bz2
rm sherpa-onnx-pyannote-segmentation-3-0.tar.bz2
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/speaker-recongition-models/3dspeaker_speech_eres2net_base_sv_zh-cn_3dspeaker_16k.onnx
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/speaker-segmentation-models/0-four-speakers-zh.wav
node ./test-offline-speaker-diarization.js
rm -rfv *.wav *.onnx sherpa-onnx-pyannote-*
echo '-----vad+moonshine----------'
curl -LS -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-whisper-tiny.en.tar.bz2
tar xvf sherpa-onnx-whisper-tiny.en.tar.bz2
rm sherpa-onnx-whisper-tiny.en.tar.bz2
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-moonshine-tiny-en-int8.tar.bz2
tar xvf sherpa-onnx-moonshine-tiny-en-int8.tar.bz2
rm sherpa-onnx-moonshine-tiny-en-int8.tar.bz2
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/Obama.wav
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/silero_vad.onnx
node ./test-vad-with-non-streaming-asr-whisper.js
rm Obama.wav
rm silero_vad.onnx
rm -rf sherpa-onnx-moonshine-*
echo '-----vad+whisper----------'
curl -LS -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-whisper-tiny.en.tar.bz2
tar xvf sherpa-onnx-whisper-tiny.en.tar.bz2
rm sherpa-onnx-whisper-tiny.en.tar.bz2
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/Obama.wav
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/silero_vad.onnx
node ./test-vad-with-non-streaming-asr-whisper.js
rm Obama.wav
rm silero_vad.onnx
rm -rf sherpa-onnx-whisper-tiny.en
# offline asr
#
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-int8-2024-07-17.tar.bz2
tar xvf sherpa-onnx-sense-voice-zh-en-ja-ko-yue-int8-2024-07-17.tar.bz2
rm sherpa-onnx-sense-voice-zh-en-ja-ko-yue-int8-2024-07-17.tar.bz2
node ./test-offline-sense-voice.js
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/hr-files/dict.tar.bz2
tar xf dict.tar.bz2
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/hr-files/replace.fst
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/hr-files/test-hr.wav
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/hr-files/lexicon.txt
node ./test-offline-sense-voice-with-hr.js
rm -rf sherpa-onnx-sense-voice-zh-en-ja-ko-yue-int8-2024-07-17
rm -rf dict replace.fst test-hr.wav lexicon.txt
curl -LS -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-paraformer-zh-2023-09-14.tar.bz2
ls -lh
tar xvf sherpa-onnx-paraformer-zh-2023-09-14.tar.bz2
rm sherpa-onnx-paraformer-zh-2023-09-14.tar.bz2
rm -f itn*
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/itn-zh-number.wav
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/itn_zh_number.fst
node ./test-offline-paraformer-itn.js
rm -rf sherpa-onnx-paraformer-zh-2023-09-14
curl -LS -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-nemo-ctc-en-conformer-small.tar.bz2
ls -lh
tar xvf sherpa-onnx-nemo-ctc-en-conformer-small.tar.bz2
rm sherpa-onnx-nemo-ctc-en-conformer-small.tar.bz2
node ./test-offline-nemo-ctc.js
rm -rf sherpa-onnx-nemo-ctc-en-conformer-small
curl -LS -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-paraformer-zh-2023-09-14.tar.bz2
ls -lh
tar xvf sherpa-onnx-paraformer-zh-2023-09-14.tar.bz2
rm sherpa-onnx-paraformer-zh-2023-09-14.tar.bz2
node ./test-offline-paraformer.js
rm -rf sherpa-onnx-paraformer-zh-2023-09-14
curl -LS -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-zipformer-en-2023-06-26.tar.bz2
ls -lh
tar xvf sherpa-onnx-zipformer-en-2023-06-26.tar.bz2
rm sherpa-onnx-zipformer-en-2023-06-26.tar.bz2
node ./test-offline-transducer.js
rm -rf sherpa-onnx-zipformer-en-2023-06-26
curl -LS -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-whisper-tiny.en.tar.bz2
tar xvf sherpa-onnx-whisper-tiny.en.tar.bz2
rm sherpa-onnx-whisper-tiny.en.tar.bz2
node ./test-offline-whisper.js
rm -rf sherpa-onnx-whisper-tiny.en
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-moonshine-tiny-en-int8.tar.bz2
tar xvf sherpa-onnx-moonshine-tiny-en-int8.tar.bz2
rm sherpa-onnx-moonshine-tiny-en-int8.tar.bz2
node ./test-offline-moonshine.js
rm -rf sherpa-onnx-moonshine-*
================================================
FILE: .github/scripts/test-offline-ctc.sh
================================================
#!/usr/bin/env bash
set -e
log() {
# This function is from espnet
local fname=${BASH_SOURCE[1]##*/}
echo -e "$(date '+%Y-%m-%d %H:%M:%S') (${fname}:${BASH_LINENO[0]}:${FUNCNAME[1]}) $*"
}
export GIT_CLONE_PROTECTION_ACTIVE=false
echo "EXE is $EXE"
echo "PATH: $PATH"
which $EXE
for type in base small; do
log "------------------------------------------------------------"
log "Run Dolphin CTC models ($type int8)"
log "------------------------------------------------------------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-dolphin-$type-ctc-multi-lang-int8-2025-04-02.tar.bz2
tar xvf sherpa-onnx-dolphin-$type-ctc-multi-lang-int8-2025-04-02.tar.bz2
rm sherpa-onnx-dolphin-$type-ctc-multi-lang-int8-2025-04-02.tar.bz2
$EXE \
--dolphin-model=./sherpa-onnx-dolphin-$type-ctc-multi-lang-int8-2025-04-02/model.int8.onnx \
--tokens=./sherpa-onnx-dolphin-$type-ctc-multi-lang-int8-2025-04-02/tokens.txt \
--debug=1 \
./sherpa-onnx-dolphin-$type-ctc-multi-lang-int8-2025-04-02/test_wavs/0.wav
rm -rf sherpa-onnx-dolphin-$type-ctc-multi-lang-int8-2025-04-02
log "------------------------------------------------------------"
log "Run Dolphin CTC models ($type)"
log "------------------------------------------------------------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-dolphin-$type-ctc-multi-lang-2025-04-02.tar.bz2
tar xvf sherpa-onnx-dolphin-$type-ctc-multi-lang-2025-04-02.tar.bz2
rm sherpa-onnx-dolphin-$type-ctc-multi-lang-2025-04-02.tar.bz2
$EXE \
--dolphin-model=./sherpa-onnx-dolphin-$type-ctc-multi-lang-2025-04-02/model.onnx \
--tokens=./sherpa-onnx-dolphin-$type-ctc-multi-lang-2025-04-02/tokens.txt \
--debug=1 \
./sherpa-onnx-dolphin-$type-ctc-multi-lang-2025-04-02/test_wavs/0.wav
rm -rf sherpa-onnx-dolphin-$type-ctc-multi-lang-2025-04-02
done
log "------------------------------------------------------------"
log "Run NeMo GigaAM Russian models v2"
log "------------------------------------------------------------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-nemo-ctc-giga-am-v2-russian-2025-04-19.tar.bz2
tar xvf sherpa-onnx-nemo-ctc-giga-am-v2-russian-2025-04-19.tar.bz2
rm sherpa-onnx-nemo-ctc-giga-am-v2-russian-2025-04-19.tar.bz2
$EXE \
--nemo-ctc-model=./sherpa-onnx-nemo-ctc-giga-am-v2-russian-2025-04-19/model.int8.onnx \
--tokens=./sherpa-onnx-nemo-ctc-giga-am-v2-russian-2025-04-19/tokens.txt \
--debug=1 \
./sherpa-onnx-nemo-ctc-giga-am-v2-russian-2025-04-19/test_wavs/example.wav
rm -rf sherpa-onnx-nemo-ctc-giga-am-v2-russian-2025-04-19
log "------------------------------------------------------------"
log "Run NeMo GigaAM Russian models v1"
log "------------------------------------------------------------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-nemo-ctc-giga-am-russian-2024-10-24.tar.bz2
tar xvf sherpa-onnx-nemo-ctc-giga-am-russian-2024-10-24.tar.bz2
rm sherpa-onnx-nemo-ctc-giga-am-russian-2024-10-24.tar.bz2
$EXE \
--nemo-ctc-model=./sherpa-onnx-nemo-ctc-giga-am-russian-2024-10-24/model.int8.onnx \
--tokens=./sherpa-onnx-nemo-ctc-giga-am-russian-2024-10-24/tokens.txt \
--debug=1 \
./sherpa-onnx-nemo-ctc-giga-am-russian-2024-10-24/test_wavs/example.wav
rm -rf sherpa-onnx-nemo-ctc-giga-am-russian-2024-10-24
log "------------------------------------------------------------"
log "Run SenseVoice models"
log "------------------------------------------------------------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-int8-2024-07-17.tar.bz2
tar xvf sherpa-onnx-sense-voice-zh-en-ja-ko-yue-int8-2024-07-17.tar.bz2
rm sherpa-onnx-sense-voice-zh-en-ja-ko-yue-int8-2024-07-17.tar.bz2
repo=sherpa-onnx-sense-voice-zh-en-ja-ko-yue-int8-2024-07-17
for m in model.int8.onnx; do
for w in zh en yue ja ko; do
for use_itn in 0 1; do
echo "$m $w $use_itn"
time $EXE \
--tokens=$repo/tokens.txt \
--sense-voice-model=$repo/$m \
--sense-voice-use-itn=$use_itn \
$repo/test_wavs/$w.wav
done
done
done
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/hr-files/dict.tar.bz2
tar xf dict.tar.bz2
rm dict.tar.bz2
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/hr-files/replace.fst
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/hr-files/test-hr.wav
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/hr-files/lexicon.txt
for m in model.int8.onnx; do
for use_itn in 0 1; do
echo "$m $w $use_itn"
time $EXE \
--tokens=$repo/tokens.txt \
--sense-voice-model=$repo/$m \
--sense-voice-use-itn=$use_itn \
--hr-lexicon=./lexicon.txt \
--hr-rule-fsts=./replace.fst \
./test-hr.wav
done
done
rm -rf dict replace.fst test-hr.wav lexicon.txt
# test wav reader for non-standard wav files
waves=(
naudio.wav
junk-padding.wav
int8-1-channel-zh.wav
int8-2-channel-zh.wav
int8-4-channel-zh.wav
int16-1-channel-zh.wav
int16-2-channel-zh.wav
int32-1-channel-zh.wav
int32-2-channel-zh.wav
float32-1-channel-zh.wav
float32-2-channel-zh.wav
)
for w in ${waves[@]}; do
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/$w
time $EXE \
--tokens=$repo/tokens.txt \
--sense-voice-model=$repo/model.int8.onnx \
$w
rm -v $w
done
rm -rf $repo
if true; then
# It has problems with onnxruntime 1.18
log "------------------------------------------------------------"
log "Run Wenet models"
log "------------------------------------------------------------"
wenet_models=(
sherpa-onnx-zh-wenet-aishell
# sherpa-onnx-zh-wenet-aishell2
# sherpa-onnx-zh-wenet-wenetspeech
# sherpa-onnx-zh-wenet-multi-cn
sherpa-onnx-en-wenet-librispeech
# sherpa-onnx-en-wenet-gigaspeech
)
for name in ${wenet_models[@]}; do
repo_url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/$name.tar.bz2
log "Start testing ${repo_url}"
repo=$name
log "Download pretrained model and test-data from $repo_url"
curl -SL -O $repo_url
tar xvf $name.tar.bz2
rm $name.tar.bz2
log "test float32 models"
time $EXE \
--tokens=$repo/tokens.txt \
--wenet-ctc-model=$repo/model.onnx \
$repo/test_wavs/0.wav \
$repo/test_wavs/1.wav \
$repo/test_wavs/8k.wav
log "test int8 models"
time $EXE \
--tokens=$repo/tokens.txt \
--wenet-ctc-model=$repo/model.int8.onnx \
$repo/test_wavs/0.wav \
$repo/test_wavs/1.wav \
$repo/test_wavs/8k.wav
rm -rf $repo
done
fi
log "test offline TeleSpeech CTC"
url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-telespeech-ctc-int8-zh-2024-06-04.tar.bz2
name=$(basename $url)
repo=$(basename -s .tar.bz2 $name)
curl -SL -O $url
tar xvf $name
rm $name
ls -lh $repo
test_wavs=(
3-sichuan.wav
4-tianjin.wav
5-henan.wav
)
for w in ${test_wavs[@]}; do
time $EXE \
--tokens=$repo/tokens.txt \
--telespeech-ctc=$repo/model.int8.onnx \
--debug=1 \
$repo/test_wavs/$w
done
time $EXE \
--tokens=$repo/tokens.txt \
--telespeech-ctc=$repo/model.int8.onnx \
--debug=1 \
$repo/test_wavs/3-sichuan.wav \
$repo/test_wavs/4-tianjin.wav \
$repo/test_wavs/5-henan.wav
rm -rf $repo
log "-----------------------------------------------------------------"
log "Run Nemo fast conformer hybrid transducer ctc models (CTC branch)"
log "-----------------------------------------------------------------"
url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-nemo-fast-conformer-ctc-be-de-en-es-fr-hr-it-pl-ru-uk-20k.tar.bz2
name=$(basename $url)
curl -SL -O $url
tar xvf $name
rm $name
repo=$(basename -s .tar.bz2 $name)
ls -lh $repo
log "test $repo"
test_wavs=(
de-german.wav
es-spanish.wav
hr-croatian.wav
po-polish.wav
uk-ukrainian.wav
en-english.wav
fr-french.wav
it-italian.wav
ru-russian.wav
)
for w in ${test_wavs[@]}; do
time $EXE \
--tokens=$repo/tokens.txt \
--nemo-ctc-model=$repo/model.onnx \
--debug=1 \
$repo/test_wavs/$w
done
rm -rf $repo
url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-nemo-fast-conformer-ctc-en-24500.tar.bz2
name=$(basename $url)
curl -SL -O $url
tar xvf $name
rm $name
repo=$(basename -s .tar.bz2 $name)
ls -lh $repo
log "Test $repo"
time $EXE \
--tokens=$repo/tokens.txt \
--nemo-ctc-model=$repo/model.onnx \
--debug=1 \
$repo/test_wavs/en-english.wav
rm -rf $repo
url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-nemo-fast-conformer-ctc-es-1424.tar.bz2
name=$(basename $url)
curl -SL -O $url
tar xvf $name
rm $name
repo=$(basename -s .tar.bz2 $name)
ls -lh $repo
log "test $repo"
time $EXE \
--tokens=$repo/tokens.txt \
--nemo-ctc-model=$repo/model.onnx \
--debug=1 \
$repo/test_wavs/es-spanish.wav
rm -rf $repo
url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-nemo-fast-conformer-ctc-en-de-es-fr-14288.tar.bz2
name=$(basename $url)
curl -SL -O $url
tar xvf $name
rm $name
repo=$(basename -s .tar.bz2 $name)
ls -lh $repo
log "Test $repo"
test_wavs=(
en-english.wav
de-german.wav
fr-french.wav
es-spanish.wav
)
for w in ${test_wavs[@]}; do
time $EXE \
--tokens=$repo/tokens.txt \
--nemo-ctc-model=$repo/model.onnx \
--debug=1 \
$repo/test_wavs/$w
done
rm -rf $repo
log "------------------------------------------------------------"
log "Run tdnn yesno (Hebrew)"
log "------------------------------------------------------------"
url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-tdnn-yesno.tar.bz2
curl -SL -O $url
tar xvf sherpa-onnx-tdnn-yesno.tar.bz2
rm sherpa-onnx-tdnn-yesno.tar.bz2
log "Start testing ${url}"
repo=sherpa-onnx-tdnn-yesno
log "Download pretrained model and test-data from $url"
log "test float32 models"
time $EXE \
--sample-rate=8000 \
--feat-dim=23 \
\
--tokens=$repo/tokens.txt \
--tdnn-model=$repo/model-epoch-14-avg-2.onnx \
$repo/test_wavs/0_0_0_1_0_0_0_1.wav \
$repo/test_wavs/0_0_1_0_0_0_1_0.wav \
$repo/test_wavs/0_0_1_0_0_1_1_1.wav \
$repo/test_wavs/0_0_1_0_1_0_0_1.wav \
$repo/test_wavs/0_0_1_1_0_0_0_1.wav \
$repo/test_wavs/0_0_1_1_0_1_1_0.wav
log "test int8 models"
time $EXE \
--sample-rate=8000 \
--feat-dim=23 \
\
--tokens=$repo/tokens.txt \
--tdnn-model=$repo/model-epoch-14-avg-2.int8.onnx \
$repo/test_wavs/0_0_0_1_0_0_0_1.wav \
$repo/test_wavs/0_0_1_0_0_0_1_0.wav \
$repo/test_wavs/0_0_1_0_0_1_1_1.wav \
$repo/test_wavs/0_0_1_0_1_0_0_1.wav \
$repo/test_wavs/0_0_1_1_0_0_0_1.wav \
$repo/test_wavs/0_0_1_1_0_1_1_0.wav
rm -rf $repo
log "------------------------------------------------------------"
log "Run Citrinet (stt_en_citrinet_512, English)"
log "------------------------------------------------------------"
repo_url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-nemo-ctc-en-citrinet-512.tar.bz2
curl -SL -O $repo_url
tar xvf sherpa-onnx-nemo-ctc-en-citrinet-512.tar.bz2
rm sherpa-onnx-nemo-ctc-en-citrinet-512.tar.bz2
log "Start testing ${repo_url}"
repo=sherpa-onnx-nemo-ctc-en-citrinet-512
log "Download pretrained model and test-data from $repo_url"
time $EXE \
--tokens=$repo/tokens.txt \
--nemo-ctc-model=$repo/model.onnx \
--num-threads=2 \
$repo/test_wavs/0.wav \
$repo/test_wavs/1.wav \
$repo/test_wavs/8k.wav
time $EXE \
--tokens=$repo/tokens.txt \
--nemo-ctc-model=$repo/model.int8.onnx \
--num-threads=2 \
$repo/test_wavs/0.wav \
$repo/test_wavs/1.wav \
$repo/test_wavs/8k.wav
rm -rf $repo
log "------------------------------------------------------------"
log "Run Librispeech zipformer CTC H/HL/HLG decoding (English) "
log "------------------------------------------------------------"
repo_url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-zipformer-ctc-en-2023-10-02.tar.bz2
curl -SL -O $repo_url
log "Start testing ${repo_url}"
tar xvf sherpa-onnx-zipformer-ctc-en-2023-10-02.tar.bz2
rm sherpa-onnx-zipformer-ctc-en-2023-10-02.tar.bz2
repo=sherpa-onnx-zipformer-ctc-en-2023-10-02
log "Download pretrained model and test-data from $repo_url"
graphs=(
$repo/H.fst
$repo/HL.fst
$repo/HLG.fst
)
for graph in ${graphs[@]}; do
log "test float32 models with $graph"
time $EXE \
--model-type=zipformer2_ctc \
--ctc.graph=$graph \
--zipformer-ctc-model=$repo/model.onnx \
--tokens=$repo/tokens.txt \
$repo/test_wavs/0.wav \
$repo/test_wavs/1.wav \
$repo/test_wavs/2.wav
log "test int8 models with $graph"
time $EXE \
--model-type=zipformer2_ctc \
--ctc.graph=$graph \
--zipformer-ctc-model=$repo/model.int8.onnx \
--tokens=$repo/tokens.txt \
$repo/test_wavs/0.wav \
$repo/test_wavs/1.wav \
$repo/test_wavs/2.wav
done
rm -rf $repo
================================================
FILE: .github/scripts/test-offline-fire-red-asr.sh
================================================
#!/usr/bin/env bash
set -e
log() {
# This function is from espnet
local fname=${BASH_SOURCE[1]##*/}
echo -e "$(date '+%Y-%m-%d %H:%M:%S') (${fname}:${BASH_LINENO[0]}:${FUNCNAME[1]}) $*"
}
export GIT_CLONE_PROTECTION_ACTIVE=false
echo "EXE is $EXE"
echo "PATH: $PATH"
which $EXE
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-fire-red-asr2-ctc-zh_en-int8-2026-02-25.tar.bz2
tar xvf sherpa-onnx-fire-red-asr2-ctc-zh_en-int8-2026-02-25.tar.bz2
rm sherpa-onnx-fire-red-asr2-ctc-zh_en-int8-2026-02-25.tar.bz2
for w in 0.wav 1.wav 2.wav 3-sichuan.wav 3.wav 4-tianjin.wav 5-henan.wav 8k.wav; do
$EXE \
--fire-red-asr-ctc=./sherpa-onnx-fire-red-asr2-ctc-zh_en-int8-2026-02-25/model.int8.onnx \
--tokens=./sherpa-onnx-fire-red-asr2-ctc-zh_en-int8-2026-02-25/tokens.txt \
./sherpa-onnx-fire-red-asr2-ctc-zh_en-int8-2026-02-25/test_wavs/$w
done
rm -rf sherpa-onnx-fire-red-asr2-ctc-zh_en-int8-2026-02-25
================================================
FILE: .github/scripts/test-offline-moonshine.sh
================================================
#!/usr/bin/env bash
set -e
log() {
# This function is from espnet
local fname=${BASH_SOURCE[1]##*/}
echo -e "$(date '+%Y-%m-%d %H:%M:%S') (${fname}:${BASH_LINENO[0]}:${FUNCNAME[1]}) $*"
}
export GIT_CLONE_PROTECTION_ACTIVE=false
echo "EXE is $EXE"
echo "PATH: $PATH"
which $EXE
names=(
tiny
base
)
for name in ${names[@]}; do
log "------------------------------------------------------------"
log "Run $name"
log "------------------------------------------------------------"
repo_url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-whisper-$name.tar.bz2
repo_url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-moonshine-$name-en-int8.tar.bz2
curl -SL -O $repo_url
tar xvf sherpa-onnx-moonshine-$name-en-int8.tar.bz2
rm sherpa-onnx-moonshine-$name-en-int8.tar.bz2
repo=sherpa-onnx-moonshine-$name-en-int8
log "Start testing ${repo_url}"
log "test int8 onnx"
time $EXE \
--moonshine-preprocessor=$repo/preprocess.onnx \
--moonshine-encoder=$repo/encode.int8.onnx \
--moonshine-uncached-decoder=$repo/uncached_decode.int8.onnx \
--moonshine-cached-decoder=$repo/cached_decode.int8.onnx \
--tokens=$repo/tokens.txt \
--num-threads=2 \
$repo/test_wavs/0.wav \
$repo/test_wavs/1.wav \
$repo/test_wavs/8k.wav
rm -rf $repo
done
================================================
FILE: .github/scripts/test-offline-punctuation.sh
================================================
#!/usr/bin/env bash
set -ex
log() {
# This function is from espnet
local fname=${BASH_SOURCE[1]##*/}
echo -e "$(date '+%Y-%m-%d %H:%M:%S') (${fname}:${BASH_LINENO[0]}:${FUNCNAME[1]}) $*"
}
echo "EXE is $EXE"
echo "PATH: $PATH"
which $EXE
log "------------------------------------------------------------"
log "Download the punctuation model "
log "------------------------------------------------------------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/punctuation-models/sherpa-onnx-punct-ct-transformer-zh-en-vocab272727-2024-04-12.tar.bz2
tar xvf sherpa-onnx-punct-ct-transformer-zh-en-vocab272727-2024-04-12.tar.bz2
rm sherpa-onnx-punct-ct-transformer-zh-en-vocab272727-2024-04-12.tar.bz2
repo=sherpa-onnx-punct-ct-transformer-zh-en-vocab272727-2024-04-12
ls -lh $repo
$EXE \
--debug=1 \
--ct-transformer=$repo/model.onnx \
"这是一个测试你好吗How are you我很好thank you are you ok谢谢你"
$EXE \
--debug=1 \
--ct-transformer=$repo/model.onnx \
"我们都是木头人不会说话不会动"
$EXE \
--debug=1 \
--ct-transformer=$repo/model.onnx \
"The African blogosphere is rapidly expanding bringing more voices online in the form of commentaries opinions analyses rants and poetry"
rm -rf $repo
================================================
FILE: .github/scripts/test-offline-source-separation.sh
================================================
#!/usr/bin/env bash
set -ex
log() {
# This function is from espnet
local fname=${BASH_SOURCE[1]##*/}
echo -e "$(date '+%Y-%m-%d %H:%M:%S') (${fname}:${BASH_LINENO[0]}:${FUNCNAME[1]}) $*"
}
if [ -z $EXE ]; then
EXE=./build/bin/sherpa-onnx-offline-source-separation
fi
echo "EXE is $EXE"
echo "PATH: $PATH"
which $EXE
log "------------------------------------------------------------"
log "Run spleeter"
log "------------------------------------------------------------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/source-separation-models/sherpa-onnx-spleeter-2stems-fp16.tar.bz2
tar xvf sherpa-onnx-spleeter-2stems-fp16.tar.bz2
rm sherpa-onnx-spleeter-2stems-fp16.tar.bz2
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/source-separation-models/qi-feng-le-zh.wav
$EXE \
--spleeter-vocals=sherpa-onnx-spleeter-2stems-fp16/vocals.fp16.onnx \
--spleeter-accompaniment=sherpa-onnx-spleeter-2stems-fp16/accompaniment.fp16.onnx \
--num-threads=2 \
--debug=1 \
--input-wav=./qi-feng-le-zh.wav \
--output-vocals-wav=spleeter_output_vocals.wav \
--output-accompaniment-wav=spleeter_output_accompaniment.wav
rm -rf sherpa-onnx-spleeter-2stems-fp16
log "------------------------------------------------------------"
log "Run UVR"
log "------------------------------------------------------------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/source-separation-models/UVR-MDX-NET-Voc_FT.onnx
$EXE \
--debug=1 \
--num-threads=2 \
--uvr-model=./UVR-MDX-NET-Voc_FT.onnx \
--input-wav=./qi-feng-le-zh.wav \
--output-vocals-wav=uvr_output_vocals.wav \
--output-accompaniment-wav=uvr_output_non_vocals.wav
rm ./UVR-MDX-NET-Voc_FT.onnx \
mkdir source-separation-wavs
mv qi-feng-le-zh.wav source-separation-wavs
mv spleeter_*.wav ./source-separation-wavs
mv uvr_*.wav ./source-separation-wavs
================================================
FILE: .github/scripts/test-offline-speech-denoiser.sh
================================================
#!/usr/bin/env bash
set -ex
log() {
# This function is from espnet
local fname=${BASH_SOURCE[1]##*/}
echo -e "$(date '+%Y-%m-%d %H:%M:%S') (${fname}:${BASH_LINENO[0]}:${FUNCNAME[1]}) $*"
}
if [ -z $EXE ]; then
EXE=./build/bin/sherpa-onnx-offline-denoiser
fi
echo "EXE is $EXE"
echo "PATH: $PATH"
which $EXE
log "------------------------------------------------------------"
log "Run gtcrn"
log "------------------------------------------------------------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/speech-enhancement-models/gtcrn_simple.onnx
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/speech-enhancement-models/speech_with_noise.wav
$EXE \
--debug=1 \
--speech-denoiser-gtcrn-model=./gtcrn_simple.onnx \
--input-wav=./speech_with_noise.wav \
--output-wav=./enhanced_speech_16k.wav
rm ./gtcrn_simple.onnx
================================================
FILE: .github/scripts/test-offline-transducer.sh
================================================
#!/usr/bin/env bash
set -e
log() {
# This function is from espnet
local fname=${BASH_SOURCE[1]##*/}
echo -e "$(date '+%Y-%m-%d %H:%M:%S') (${fname}:${BASH_LINENO[0]}:${FUNCNAME[1]}) $*"
}
export GIT_CLONE_PROTECTION_ACTIVE=false
echo "EXE is $EXE"
echo "PATH: $PATH"
which $EXE
log "------------------------------------------------------------"
log "Run NeMo GigaAM Russian models v2"
log "------------------------------------------------------------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-nemo-transducer-giga-am-v2-russian-2025-04-19.tar.bz2
tar xvf sherpa-onnx-nemo-transducer-giga-am-v2-russian-2025-04-19.tar.bz2
rm sherpa-onnx-nemo-transducer-giga-am-v2-russian-2025-04-19.tar.bz2
$EXE \
--encoder=./sherpa-onnx-nemo-transducer-giga-am-v2-russian-2025-04-19/encoder.int8.onnx \
--decoder=./sherpa-onnx-nemo-transducer-giga-am-v2-russian-2025-04-19/decoder.onnx \
--joiner=./sherpa-onnx-nemo-transducer-giga-am-v2-russian-2025-04-19/joiner.onnx \
--tokens=./sherpa-onnx-nemo-transducer-giga-am-v2-russian-2025-04-19/tokens.txt \
--model-type=nemo_transducer \
./sherpa-onnx-nemo-transducer-giga-am-v2-russian-2025-04-19/test_wavs/example.wav
rm -rf sherpa-onnx-nemo-transducer-giga-am-v2-russian-2025-04-19
log "------------------------------------------------------------------------"
log "Run zipformer transducer models (Russian) "
log "------------------------------------------------------------------------"
for type in small-zipformer zipformer; do
url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-$type-ru-2024-09-18.tar.bz2
name=$(basename $url)
curl -SL -O $url
tar xvf $name
rm $name
repo=$(basename -s .tar.bz2 $name)
ls -lh $repo
log "test $repo"
test_wavs=(
0.wav
1.wav
)
for w in ${test_wavs[@]}; do
time $EXE \
--tokens=$repo/tokens.txt \
--encoder=$repo/encoder.onnx \
--decoder=$repo/decoder.onnx \
--joiner=$repo/joiner.onnx \
--debug=1 \
$repo/test_wavs/$w
done
for w in ${test_wavs[@]}; do
time $EXE \
--tokens=$repo/tokens.txt \
--encoder=$repo/encoder.int8.onnx \
--decoder=$repo/decoder.onnx \
--joiner=$repo/joiner.int8.onnx \
--debug=1 \
$repo/test_wavs/$w
done
rm -rf $repo
done
log "------------------------------------------------------------------------"
log "Run zipformer transducer models (Japanese from ReazonSpeech) "
log "------------------------------------------------------------------------"
url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-zipformer-ja-reazonspeech-2024-08-01.tar.bz2
name=$(basename $url)
curl -SL -O $url
tar xvf $name
rm $name
repo=$(basename -s .tar.bz2 $name)
ls -lh $repo
cat $repo/test_wavs/*.txt
log "test $repo"
test_wavs=(
1.wav
2.wav
3.wav
4.wav
5.wav
)
for w in ${test_wavs[@]}; do
time $EXE \
--tokens=$repo/tokens.txt \
--encoder=$repo/encoder-epoch-99-avg-1.onnx \
--decoder=$repo/decoder-epoch-99-avg-1.onnx \
--joiner=$repo/joiner-epoch-99-avg-1.onnx \
--debug=1 \
$repo/test_wavs/$w
done
for w in ${test_wavs[@]}; do
time $EXE \
--tokens=$repo/tokens.txt \
--encoder=$repo/encoder-epoch-99-avg-1.int8.onnx \
--decoder=$repo/decoder-epoch-99-avg-1.onnx \
--joiner=$repo/joiner-epoch-99-avg-1.int8.onnx \
--debug=1 \
$repo/test_wavs/$w
done
rm -rf $repo
log "------------------------------------------------------------------------"
log "Run Nemo fast conformer hybrid transducer ctc models (transducer branch)"
log "------------------------------------------------------------------------"
url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-nemo-fast-conformer-transducer-be-de-en-es-fr-hr-it-pl-ru-uk-20k.tar.bz2
name=$(basename $url)
curl -SL -O $url
tar xvf $name
rm $name
repo=$(basename -s .tar.bz2 $name)
ls -lh $repo
log "test $repo"
test_wavs=(
de-german.wav
es-spanish.wav
hr-croatian.wav
po-polish.wav
uk-ukrainian.wav
en-english.wav
fr-french.wav
it-italian.wav
ru-russian.wav
)
for w in ${test_wavs[@]}; do
time $EXE \
--tokens=$repo/tokens.txt \
--encoder=$repo/encoder.onnx \
--decoder=$repo/decoder.onnx \
--joiner=$repo/joiner.onnx \
--debug=1 \
$repo/test_wavs/$w
done
rm -rf $repo
url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-nemo-fast-conformer-transducer-en-24500.tar.bz2
name=$(basename $url)
curl -SL -O $url
tar xvf $name
rm $name
repo=$(basename -s .tar.bz2 $name)
ls -lh $repo
log "Test $repo"
time $EXE \
--tokens=$repo/tokens.txt \
--encoder=$repo/encoder.onnx \
--decoder=$repo/decoder.onnx \
--joiner=$repo/joiner.onnx \
--debug=1 \
$repo/test_wavs/en-english.wav
rm -rf $repo
url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-nemo-fast-conformer-transducer-es-1424.tar.bz2
name=$(basename $url)
curl -SL -O $url
tar xvf $name
rm $name
repo=$(basename -s .tar.bz2 $name)
ls -lh $repo
log "test $repo"
time $EXE \
--tokens=$repo/tokens.txt \
--encoder=$repo/encoder.onnx \
--decoder=$repo/decoder.onnx \
--joiner=$repo/joiner.onnx \
--debug=1 \
$repo/test_wavs/es-spanish.wav
rm -rf $repo
url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-nemo-fast-conformer-transducer-en-de-es-fr-14288.tar.bz2
name=$(basename $url)
curl -SL -O $url
tar xvf $name
rm $name
repo=$(basename -s .tar.bz2 $name)
ls -lh $repo
log "Test $repo"
time $EXE \
--tokens=$repo/tokens.txt \
--encoder=$repo/encoder.onnx \
--decoder=$repo/decoder.onnx \
--joiner=$repo/joiner.onnx \
--debug=1 \
$repo/test_wavs/en-english.wav \
$repo/test_wavs/de-german.wav \
$repo/test_wavs/fr-french.wav \
$repo/test_wavs/es-spanish.wav
rm -rf $repo
log "------------------------------------------------------------"
log "Run Conformer transducer (English)"
log "------------------------------------------------------------"
repo_url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-conformer-en-2023-03-18.tar.bz2
curl -SL -O $repo_url
tar xvf sherpa-onnx-conformer-en-2023-03-18.tar.bz2
rm sherpa-onnx-conformer-en-2023-03-18.tar.bz2
log "Start testing ${repo_url}"
repo=sherpa-onnx-conformer-en-2023-03-18
log "Download pretrained model and test-data from $repo_url"
time $EXE \
--tokens=$repo/tokens.txt \
--encoder=$repo/encoder-epoch-99-avg-1.onnx \
--decoder=$repo/decoder-epoch-99-avg-1.onnx \
--joiner=$repo/joiner-epoch-99-avg-1.onnx \
--num-threads=2 \
$repo/test_wavs/0.wav \
$repo/test_wavs/1.wav \
$repo/test_wavs/8k.wav
time $EXE \
--tokens=$repo/tokens.txt \
--encoder=$repo/encoder-epoch-99-avg-1.int8.onnx \
--decoder=$repo/decoder-epoch-99-avg-1.onnx \
--joiner=$repo/joiner-epoch-99-avg-1.int8.onnx \
--num-threads=2 \
$repo/test_wavs/0.wav \
$repo/test_wavs/1.wav \
$repo/test_wavs/8k.wav
rm -rf $repo
log "------------------------------------------------------------"
log "Run Zipformer transducer (English)"
log "------------------------------------------------------------"
repo_url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-zipformer-en-2023-03-30.tar.bz2
curl -SL -O $repo_url
tar xvf sherpa-onnx-zipformer-en-2023-03-30.tar.bz2
rm sherpa-onnx-zipformer-en-2023-03-30.tar.bz2
repo=sherpa-onnx-zipformer-en-2023-03-30
log "Start testing ${repo_url}"
time $EXE \
--tokens=$repo/tokens.txt \
--encoder=$repo/encoder-epoch-99-avg-1.onnx \
--decoder=$repo/decoder-epoch-99-avg-1.onnx \
--joiner=$repo/joiner-epoch-99-avg-1.onnx \
--num-threads=2 \
$repo/test_wavs/0.wav \
$repo/test_wavs/1.wav \
$repo/test_wavs/8k.wav
time $EXE \
--tokens=$repo/tokens.txt \
--encoder=$repo/encoder-epoch-99-avg-1.int8.onnx \
--decoder=$repo/decoder-epoch-99-avg-1.onnx \
--joiner=$repo/joiner-epoch-99-avg-1.int8.onnx \
--num-threads=2 \
$repo/test_wavs/0.wav \
$repo/test_wavs/1.wav \
$repo/test_wavs/8k.wav
lm_repo_url=https://huggingface.co/ezerhouni/icefall-librispeech-rnn-lm
log "Download pre-trained RNN-LM model from ${lm_repo_url}"
GIT_LFS_SKIP_SMUDGE=1 git clone $lm_repo_url
lm_repo=$(basename $lm_repo_url)
pushd $lm_repo
git lfs pull --include "exp/no-state-epoch-99-avg-1.onnx"
popd
bigram_repo_url=https://huggingface.co/vsd-vector/librispeech_bigram_sherpa-onnx-zipformer-large-en-2023-06-26
log "Download bi-gram LM from ${bigram_repo_url}"
GIT_LFS_SKIP_SMUDGE=1 git clone $bigram_repo_url
bigramlm_repo=$(basename $bigram_repo_url)
pushd $bigramlm_repo
git lfs pull --include "2gram.fst"
popd
log "Start testing with LM and bi-gram LODR"
# TODO: find test examples that change with the LODR
time $EXE \
--tokens=$repo/tokens.txt \
--encoder=$repo/encoder-epoch-99-avg-1.onnx \
--decoder=$repo/decoder-epoch-99-avg-1.onnx \
--joiner=$repo/joiner-epoch-99-avg-1.onnx \
--num-threads=2 \
--decoding_method="modified_beam_search" \
--lm=$lm_repo/exp/no-state-epoch-99-avg-1.onnx \
--lodr-fst=$bigramlm_repo/2gram.fst \
--lodr-scale=-0.5 \
$repo/test_wavs/0.wav \
$repo/test_wavs/1.wav \
$repo/test_wavs/8k.wav
rm -rf $repo $lm_repo $bigramlm_repo
log "------------------------------------------------------------"
log "Run Paraformer (Chinese)"
log "------------------------------------------------------------"
# For onnxruntime 1.18.0, sherpa-onnx-paraformer-zh-2023-03-28 throws the following error
# libc++abi: terminating with uncaught exception of type Ort::Exception: Node (Loop_5471)
# Op (Loop) [TypeInferenceError] Graph attribute inferencing failed: Node (Concat_5490)
# Op (Concat) [ShapeInferenceError] All inputs to Concat must have same rank. Input 1 has rank 2 != 1
#
# See https://github.com/microsoft/onnxruntime/issues/8115
# We need to re-export this model using a recent version of onnxruntime and onnx
log "------------------------------------------------------------"
log "Run Paraformer (Chinese) with timestamps"
log "------------------------------------------------------------"
repo_url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-paraformer-zh-2023-09-14.tar.bz2
curl -SL -O $repo_url
tar xvf sherpa-onnx-paraformer-zh-2023-09-14.tar.bz2
rm sherpa-onnx-paraformer-zh-2023-09-14.tar.bz2
repo=sherpa-onnx-paraformer-zh-2023-09-14
log "Start testing ${repo_url}"
time $EXE \
--tokens=$repo/tokens.txt \
--paraformer=$repo/model.int8.onnx \
--num-threads=2 \
--decoding-method=greedy_search \
$repo/test_wavs/0.wav \
$repo/test_wavs/1.wav \
$repo/test_wavs/2.wav \
$repo/test_wavs/8k.wav
rm -rf $repo
log "------------------------------------------------------------"
log "Run NeMo transducer (modified_beam_search + hotwords)"
log "------------------------------------------------------------"
url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-nemo-fast-conformer-transducer-en-24500.tar.bz2
name=$(basename $url)
curl -SL -O $url
tar xvf $name
rm $name
repo=$(basename -s .tar.bz2 $name)
ls -lh $repo
log "Test NeMo transducer with modified_beam_search (no hotwords)"
time $EXE \
--tokens=$repo/tokens.txt \
--encoder=$repo/encoder.onnx \
--decoder=$repo/decoder.onnx \
--joiner=$repo/joiner.onnx \
--model-type=nemo_transducer \
--decoding-method=modified_beam_search \
--debug=1 \
$repo/test_wavs/en-english.wav
log "Test NeMo transducer with modified_beam_search and hotwords"
# Create hotwords file (BPE tokens for common English words)
cat > $repo/hotwords.txt << EOF
▁THE
▁AND
▁THAT
EOF
time $EXE \
--tokens=$repo/tokens.txt \
--encoder=$repo/encoder.onnx \
--decoder=$repo/decoder.onnx \
--joiner=$repo/joiner.onnx \
--model-type=nemo_transducer \
--decoding-method=modified_beam_search \
--hotwords-file=$repo/hotwords.txt \
--hotwords-score=1.5 \
--debug=1 \
$repo/test_wavs/en-english.wav
rm -rf $repo
================================================
FILE: .github/scripts/test-offline-tts.sh
================================================
#!/usr/bin/env bash
set -e
log() {
# This function is from espnet
local fname=${BASH_SOURCE[1]##*/}
echo -e "$(date '+%Y-%m-%d %H:%M:%S') (${fname}:${BASH_LINENO[0]}:${FUNCNAME[1]}) $*"
}
export GIT_CLONE_PROTECTION_ACTIVE=false
echo "EXE is $EXE"
echo "PATH: $PATH"
which $EXE
# test waves are saved in ./tts
mkdir ./tts
log "------------------------------------------------------------"
log "sherpa-onnx-pocket-tts-int8-2026-01-26"
log "------------------------------------------------------------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/sherpa-onnx-pocket-tts-int8-2026-01-26.tar.bz2
tar xvf sherpa-onnx-pocket-tts-int8-2026-01-26.tar.bz2
rm sherpa-onnx-pocket-tts-int8-2026-01-26.tar.bz2
$EXE \
--pocket-lm-flow=./sherpa-onnx-pocket-tts-int8-2026-01-26/lm_flow.int8.onnx \
--pocket-lm-main=./sherpa-onnx-pocket-tts-int8-2026-01-26/lm_main.int8.onnx \
--pocket-encoder=./sherpa-onnx-pocket-tts-int8-2026-01-26/encoder.onnx \
--pocket-decoder=./sherpa-onnx-pocket-tts-int8-2026-01-26/decoder.int8.onnx \
--pocket-text-conditioner=./sherpa-onnx-pocket-tts-int8-2026-01-26/text_conditioner.onnx \
--pocket-vocab-json=./sherpa-onnx-pocket-tts-int8-2026-01-26/vocab.json \
--pocket-token-scores-json=./sherpa-onnx-pocket-tts-int8-2026-01-26/token_scores.json \
--reference-audio=./sherpa-onnx-pocket-tts-int8-2026-01-26/test_wavs/bria.wav \
--num-threads=2 \
--debug=1 \
--num-steps=5 \
--output-filename="./tts/pocket-tts-out-bria.wav" \
"I am happy to join with you today in what will go down in history as the greatest demonstration for freedom in the history of our nation. Five score years ago, a great American, in whose symbolic shadow we stand today, signed the Emancipation Proclamation. This momentous decree came as a great beacon light of hope to millions of Negro slaves who had been seared in the flames of withering injustice. It came as a joyous daybreak to end the long night of their captivity. But one hundred years later, the Negro still is not free. One hundred years later, the life of the Negro is still sadly crippled by the manacles of segregation and the chains of discrimination. One hundred years later, the Negro lives on a lonely island of poverty in the midst of a vast ocean of material prosperity. One hundred years later, the Negro is still languished in the corners of American society and finds himself an exile in his own land. And so we've come here today to dramatize a shameful condition. In a sense we've come to our nation's capital to cash a check. When the architects of our republic wrote the magnificent words of the Constitution and the Declaration of Independence, they were signing a promissory note to which every American was to fall heir. This note was a promise that all men, yes, black men as well as white men, would be guaranteed the unalienable Rights of Life, Liberty and the pursuit of Happiness. It is obvious today that America has defaulted on this promissory note, insofar as her citizens of color are concerned. Instead of honoring this sacred obligation, America has given the Negro people a bad check, a check which has come back marked insufficient funds."
rm -rf sherpa-onnx-pocket-tts-int8-2026-01-26
log "------------------------------------------------------------"
log "kokoro-en-v0_19"
log "------------------------------------------------------------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/kokoro-en-v0_19.tar.bz2
tar xf kokoro-en-v0_19.tar.bz2
rm kokoro-en-v0_19.tar.bz2
# mapping of sid to voice name
# 0->af, 1->af_bella, 2->af_nicole, 3->af_sarah, 4->af_sky, 5->am_adam
# 6->am_michael, 7->bf_emma, 8->bf_isabella, 9->bm_george, 10->bm_lewis
for sid in $(seq 0 10); do
$EXE \
--debug=1 \
--kokoro-model=./kokoro-en-v0_19/model.onnx \
--kokoro-voices=./kokoro-en-v0_19/voices.bin \
--kokoro-tokens=./kokoro-en-v0_19/tokens.txt \
--kokoro-data-dir=./kokoro-en-v0_19/espeak-ng-data \
--num-threads=2 \
--sid=$sid \
--output-filename="./tts/kokoro-$sid.wav" \
"Today as always, men fall into two groups: slaves and free men. Whoever does not have two-thirds of his day for himself, is a slave, whatever he may be a statesman, a businessman, an official, or a scholar."
done
rm -rf kokoro-en-v0_19
log "------------------------------------------------------------"
log "matcha-tts-fa_en-musa"
log "------------------------------------------------------------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/matcha-tts-fa_en-musa.tar.bz2
tar xvf matcha-tts-fa_en-musa.tar.bz2
rm matcha-tts-fa_en-musa.tar.bz2
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/vocoder-models/vocos-22khz-univ.onnx
$EXE \
--matcha-acoustic-model=./matcha-tts-fa_en-musa/model.onnx \
--matcha-vocoder=./vocos-22khz-univ.onnx \
--matcha-tokens=./matcha-tts-fa_en-musa/tokens.txt \
--matcha-data-dir=./matcha-tts-fa_en-musa/espeak-ng-data \
--output-filename=./tts/test-matcha-fa-en-musa.wav \
--num-threads=2 \
"How are you doing today? این یک نمونه ی تست فارسی است. This is a test."
rm -rf matcha-tts-fa_en-musa
rm vocos-22khz-univ.onnx
ls -lh tts/*.wav
log "------------------------------------------------------------"
log "matcha-icefall-en_US-ljspeech"
log "------------------------------------------------------------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/matcha-icefall-en_US-ljspeech.tar.bz2
tar xvf matcha-icefall-en_US-ljspeech.tar.bz2
rm matcha-icefall-en_US-ljspeech.tar.bz2
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/vocoder-models/vocos-22khz-univ.onnx
$EXE \
--matcha-acoustic-model=./matcha-icefall-en_US-ljspeech/model-steps-3.onnx \
--matcha-vocoder=./vocos-22khz-univ.onnx \
--matcha-tokens=./matcha-icefall-en_US-ljspeech/tokens.txt \
--matcha-data-dir=./matcha-icefall-en_US-ljspeech/espeak-ng-data \
--num-threads=2 \
--output-filename=./tts/matcha-ljspeech-1.wav \
--debug=1 \
"Today as always, men fall into two groups: slaves and free men. Whoever does not have two-thirds of his day for himself, is a slave, whatever he may be: a statesman, a businessman, an official, or a scholar."
rm vocos-22khz-univ.onnx
rm -rf matcha-icefall-en_US-ljspeech
ls -lh tts/*.wav
log "------------------------------------------------------------"
log "matcha-icefall-zh-baker"
log "------------------------------------------------------------"
curl -O -SL https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/matcha-icefall-zh-baker.tar.bz2
tar xvf matcha-icefall-zh-baker.tar.bz2
rm matcha-icefall-zh-baker.tar.bz2
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/vocoder-models/vocos-22khz-univ.onnx
$EXE \
--matcha-acoustic-model=./matcha-icefall-zh-baker/model-steps-3.onnx \
--matcha-vocoder=./vocos-22khz-univ.onnx \
--matcha-lexicon=./matcha-icefall-zh-baker/lexicon.txt \
--matcha-tokens=./matcha-icefall-zh-baker/tokens.txt \
--num-threads=2 \
--debug=1 \
--output-filename=./tts/matcha-baker-zh-1.wav \
'小米的使命是,始终坚持做"感动人心、价格厚道"的好产品,让全球每个人都能享受科技带来的美好生活'
$EXE \
--matcha-acoustic-model=./matcha-icefall-zh-baker/model-steps-3.onnx \
--matcha-vocoder=./vocos-22khz-univ.onnx \
--matcha-lexicon=./matcha-icefall-zh-baker/lexicon.txt \
--matcha-tokens=./matcha-icefall-zh-baker/tokens.txt \
--num-threads=2 \
--debug=1 \
--output-filename=./tts/matcha-baker-zh-2.wav \
"当夜幕降临,星光点点,伴随着微风拂面,我在静谧中感受着时光的流转,思念如涟漪荡漾,梦境如画卷展开,我与自然融为一体,沉静在这片宁静的美丽之中,感受着生命的奇迹与温柔。"
rm vocos-22khz-univ.onnx
rm -rf matcha-icefall-zh-baker
log "------------------------------------------------------------"
log "vits-piper-en_US-amy-low"
log "------------------------------------------------------------"
curl -O -SL https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/vits-piper-en_US-amy-low.tar.bz2
tar xf vits-piper-en_US-amy-low.tar.bz2
rm vits-piper-en_US-amy-low.tar.bz2
$EXE \
--vits-model=./vits-piper-en_US-amy-low/en_US-amy-low.onnx \
--vits-tokens=./vits-piper-en_US-amy-low/tokens.txt \
--vits-data-dir=./vits-piper-en_US-amy-low/espeak-ng-data \
--debug=1 \
--output-filename=./tts/amy.wav \
"“Today as always, men fall into two groups: slaves and free men. Whoever does not have two-thirds of his day for himself, is a slave, whatever he may be: a statesman, a businessman, an official, or a scholar.” The sun shone bleakly in the sky, its meager light struggling to penetrate the thick foliage of the forest. Birds sang their songs up in the crowns of the trees, fluttering from one branch to the other. A blanket of total tranquility lied over the forest. The peace was only broken by the steady gallop of the horses of the soldiers who were traveling to their upcoming knighting the morrow at Camelot, and rowdy conversation. “Finally we will get what we deserve,” “It’s been about time,” Perceval agreed. “We’ve been risking our arses for the past two years. It’s the least they could give us.” Merlin remained ostensibly silent, refusing to join the verbal parade of self-aggrandizing his fellow soldiers have engaged in. He found it difficult to happy about anything, when even if they had won the war, he had lost everything else in the process."
file ./tts/amy.wav
rm -rf vits-piper-en_US-amy-low
log "------------------------------------------------------------"
log "vits-ljs test"
log "------------------------------------------------------------"
repo_url=https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/vits-ljs.tar.bz2
curl -SL -O $repo_url
tar xvf vits-ljs.tar.bz2
rm vits-ljs.tar.bz2
repo=vits-ljs
log "Start testing ${repo_url}"
$EXE \
--vits-model=$repo/vits-ljs.onnx \
--vits-lexicon=$repo/lexicon.txt \
--vits-tokens=$repo/tokens.txt \
--output-filename=./tts/vits-ljs.wav \
'liliana, the most beautiful and lovely assistant of our team!'
ls -lh ./tts
rm -rfv $repo
log "------------------------------------------------------------"
log "vits-vctk test"
log "------------------------------------------------------------"
repo_url=https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/vits-vctk.tar.bz2
curl -SL -O $repo_url
tar xvf vits-vctk.tar.bz2
rm vits-vctk.tar.bz2
repo=vits-vctk
log "Start testing ${repo_url}"
for sid in 0 10 90; do
$EXE \
--vits-model=$repo/vits-vctk.onnx \
--vits-lexicon=$repo/lexicon.txt \
--vits-tokens=$repo/tokens.txt \
--sid=$sid \
--output-filename=./tts/vits-vctk-${sid}.wav \
'liliana, the most beautiful and lovely assistant of our team!'
done
rm -rfv $repo
ls -lh tts/
log "------------------------------------------------------------"
log "vits-zh-aishell3"
log "------------------------------------------------------------"
repo_url=https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/vits-zh-aishell3.tar.bz2
curl -SL -O $repo_url
tar xvf vits-zh-aishell3.tar.bz2
rm vits-zh-aishell3.tar.bz2
repo=vits-zh-aishell3
log "Start testing ${repo_url}"
for sid in 0 10 90; do
$EXE \
--vits-model=$repo/vits-aishell3.onnx \
--vits-lexicon=$repo/lexicon.txt \
--vits-tokens=$repo/tokens.txt \
--sid=$sid \
--output-filename=./tts/vits-aishell3-${sid}.wav \
'林美丽最美丽'
done
rm -rfv $repo
ls -lh ./tts/
================================================
FILE: .github/scripts/test-offline-whisper.sh
================================================
#!/usr/bin/env bash
set -e
log() {
# This function is from espnet
local fname=${BASH_SOURCE[1]##*/}
echo -e "$(date '+%Y-%m-%d %H:%M:%S') (${fname}:${BASH_LINENO[0]}:${FUNCNAME[1]}) $*"
}
export GIT_CLONE_PROTECTION_ACTIVE=false
echo "EXE is $EXE"
echo "PATH: $PATH"
which $EXE
names=(
tiny.en
base.en
small.en
medium.en
tiny
base
small
medium
distil-medium.en
distil-small.en
)
for name in ${names[@]}; do
log "------------------------------------------------------------"
log "Run $name"
log "------------------------------------------------------------"
repo_url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-whisper-$name.tar.bz2
curl -SL -O $repo_url
tar xvf sherpa-onnx-whisper-$name.tar.bz2
rm sherpa-onnx-whisper-$name.tar.bz2
repo=sherpa-onnx-whisper-$name
log "Start testing ${repo_url}"
log "test fp32 onnx"
time $EXE \
--tokens=$repo/${name}-tokens.txt \
--whisper-encoder=$repo/${name}-encoder.onnx \
--whisper-decoder=$repo/${name}-decoder.onnx \
--whisper-tail-paddings=500 \
--num-threads=2 \
$repo/test_wavs/0.wav \
$repo/test_wavs/1.wav \
$repo/test_wavs/8k.wav
log "test int8 onnx"
time $EXE \
--tokens=$repo/${name}-tokens.txt \
--whisper-encoder=$repo/${name}-encoder.int8.onnx \
--whisper-decoder=$repo/${name}-decoder.int8.onnx \
--whisper-tail-paddings=500 \
--num-threads=2 \
$repo/test_wavs/0.wav \
$repo/test_wavs/1.wav \
$repo/test_wavs/8k.wav
rm -rf $repo
done
================================================
FILE: .github/scripts/test-online-ctc.sh
================================================
#!/usr/bin/env bash
set -ex
log() {
# This function is from espnet
local fname=${BASH_SOURCE[1]##*/}
echo -e "$(date '+%Y-%m-%d %H:%M:%S') (${fname}:${BASH_LINENO[0]}:${FUNCNAME[1]}) $*"
}
export GIT_CLONE_PROTECTION_ACTIVE=false
echo "EXE is $EXE"
echo "PATH: $PATH"
which $EXE
log "------------------------------------------------------------"
log "Run streaming NeMo CTC "
log "------------------------------------------------------------"
url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-nemo-streaming-fast-conformer-ctc-en-80ms.tar.bz2
name=$(basename $url)
repo=$(basename -s .tar.bz2 $name)
curl -SL -O $url
tar xvf $name
rm $name
ls -lh $repo
$EXE \
--nemo-ctc-model=$repo/model.onnx \
--tokens=$repo/tokens.txt \
$repo/test_wavs/0.wav \
$repo/test_wavs/1.wav \
$repo/test_wavs/8k.wav
rm -rf $repo
log "------------------------------------------------------------"
log "Run streaming Zipformer2 CTC HLG decoding "
log "------------------------------------------------------------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-streaming-zipformer-ctc-small-2024-03-18.tar.bz2
tar xvf sherpa-onnx-streaming-zipformer-ctc-small-2024-03-18.tar.bz2
rm sherpa-onnx-streaming-zipformer-ctc-small-2024-03-18.tar.bz2
repo=$PWD/sherpa-onnx-streaming-zipformer-ctc-small-2024-03-18
ls -lh $repo
echo "pwd: $PWD"
$EXE \
--zipformer2-ctc-model=$repo/ctc-epoch-30-avg-3-chunk-16-left-128.int8.onnx \
--ctc-graph=$repo/HLG.fst \
--tokens=$repo/tokens.txt \
$repo/test_wavs/0.wav \
$repo/test_wavs/1.wav \
$repo/test_wavs/8k.wav
rm -rf $repo
log "------------------------------------------------------------"
log "Run streaming Zipformer2 CTC "
log "------------------------------------------------------------"
url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-streaming-zipformer-ctc-multi-zh-hans-2023-12-13.tar.bz2
repo=$(basename -s .tar.bz2 $url)
curl -SL -O $url
tar xvf $repo.tar.bz2
rm $repo.tar.bz2
log "test fp32"
time $EXE \
--debug=1 \
--zipformer2-ctc-model=$repo/ctc-epoch-20-avg-1-chunk-16-left-128.onnx \
--tokens=$repo/tokens.txt \
$repo/test_wavs/DEV_T0000000000.wav \
$repo/test_wavs/DEV_T0000000001.wav \
$repo/test_wavs/DEV_T0000000002.wav
rm -rf $repo
log "------------------------------------------------------------"
log "Run streaming Conformer CTC from WeNet"
log "------------------------------------------------------------"
wenet_models=(
sherpa-onnx-zh-wenet-aishell
# sherpa-onnx-zh-wenet-aishell2
# sherpa-onnx-zh-wenet-wenetspeech
# sherpa-onnx-zh-wenet-multi-cn
sherpa-onnx-en-wenet-librispeech
# sherpa-onnx-en-wenet-gigaspeech
)
for name in ${wenet_models[@]}; do
repo_url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/$name.tar.bz2
curl -SL -O $repo_url
tar xvf $name.tar.bz2
rm $name.tar.bz2
repo=$name
log "Start testing ${repo_url}"
log "test float32 models"
time $EXE \
--tokens=$repo/tokens.txt \
--wenet-ctc-model=$repo/model-streaming.onnx \
$repo/test_wavs/0.wav \
$repo/test_wavs/1.wav \
$repo/test_wavs/8k.wav
log "test int8 models"
time $EXE \
--tokens=$repo/tokens.txt \
--wenet-ctc-model=$repo/model-streaming.int8.onnx \
$repo/test_wavs/0.wav \
$repo/test_wavs/1.wav \
$repo/test_wavs/8k.wav
rm -rf $repo
done
================================================
FILE: .github/scripts/test-online-paraformer.sh
================================================
#!/usr/bin/env bash
set -e
log() {
# This function is from espnet
local fname=${BASH_SOURCE[1]##*/}
echo -e "$(date '+%Y-%m-%d %H:%M:%S') (${fname}:${BASH_LINENO[0]}:${FUNCNAME[1]}) $*"
}
export GIT_CLONE_PROTECTION_ACTIVE=false
echo "EXE is $EXE"
echo "PATH: $PATH"
which $EXE
log "------------------------------------------------------------"
log "Run streaming Paraformer"
log "------------------------------------------------------------"
repo_url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-streaming-paraformer-bilingual-zh-en.tar.bz2
curl -SL -O $repo_url
tar xvf sherpa-onnx-streaming-paraformer-bilingual-zh-en.tar.bz2
rm sherpa-onnx-streaming-paraformer-bilingual-zh-en.tar.bz2
repo=sherpa-onnx-streaming-paraformer-bilingual-zh-en
log "Start testing ${repo_url}"
time $EXE \
--tokens=$repo/tokens.txt \
--paraformer-encoder=$repo/encoder.onnx \
--paraformer-decoder=$repo/decoder.onnx \
--num-threads=2 \
$repo/test_wavs/0.wav \
$repo/test_wavs/1.wav \
$repo/test_wavs/2.wav \
$repo/test_wavs/3.wav \
$repo/test_wavs/8k.wav
time $EXE \
--tokens=$repo/tokens.txt \
--paraformer-encoder=$repo/encoder.int8.onnx \
--paraformer-decoder=$repo/decoder.int8.onnx \
--num-threads=2 \
$repo/test_wavs/0.wav \
$repo/test_wavs/1.wav \
$repo/test_wavs/2.wav \
$repo/test_wavs/3.wav \
$repo/test_wavs/8k.wav
rm -rf $repo
================================================
FILE: .github/scripts/test-online-punctuation.sh
================================================
#!/usr/bin/env bash
set -ex
echo "TODO(fangjun): Skip this test since the sanitizer test is failed. We need to fix it"
exit 0
log() {
# This function is from espnet
local fname=${BASH_SOURCE[1]##*/}
echo -e "$(date '+%Y-%m-%d %H:%M:%S') (${fname}:${BASH_LINENO[0]}:${FUNCNAME[1]}) $*"
}
echo "EXE is $EXE"
echo "PATH: $PATH"
which $EXE
log "------------------------------------------------------------"
log "Download the punctuation model "
log "------------------------------------------------------------"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/punctuation-models/sherpa-onnx-online-punct-en-2024-08-06.tar.bz2
tar xvf sherpa-onnx-online-punct-en-2024-08-06.tar.bz2
rm sherpa-onnx-online-punct-en-2024-08-06.tar.bz2
repo=sherpa-onnx-online-punct-en-2024-08-06
ls -lh $repo
for m in model.onnx model.int8.onnx; do
$EXE \
--debug=1 \
--cnn-bilstm=$repo/$m \
--bpe-vocab=$repo/bpe.vocab \
"How are you i am fine thank you"
$EXE \
--debug=1 \
--cnn-bilstm=$repo/$m \
--bpe-vocab=$repo/bpe.vocab \
"The African blogosphere is rapidly expanding bringing more voices online in the form of commentaries opinions analyses rants and poetry"
done
rm -rf $repo
================================================
FILE: .github/scripts/test-online-transducer.sh
================================================
#!/usr/bin/env bash
set -e
log() {
# This function is from espnet
local fname=${BASH_SOURCE[1]##*/}
echo -e "$(date '+%Y-%m-%d %H:%M:%S') (${fname}:${BASH_LINENO[0]}:${FUNCNAME[1]}) $*"
}
export GIT_CLONE_PROTECTION_ACTIVE=false
echo "EXE is $EXE"
echo "PATH: $PATH"
which $EXE
log "------------------------------------------------------------"
log "Run NeMo transducer (English)"
log "------------------------------------------------------------"
repo_url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-nemo-streaming-fast-conformer-transducer-en-80ms.tar.bz2
curl -SL -O $repo_url
tar xvf sherpa-onnx-nemo-streaming-fast-conformer-transducer-en-80ms.tar.bz2
rm sherpa-onnx-nemo-streaming-fast-conformer-transducer-en-80ms.tar.bz2
repo=sherpa-onnx-nemo-streaming-fast-conformer-transducer-en-80ms
log "Start testing ${repo_url}"
waves=(
$repo/test_wavs/0.wav
$repo/test_wavs/1.wav
$repo/test_wavs/8k.wav
)
for wave in ${waves[@]}; do
time $EXE \
--tokens=$repo/tokens.txt \
--encoder=$repo/encoder.onnx \
--decoder=$repo/decoder.onnx \
--joiner=$repo/joiner.onnx \
--num-threads=2 \
$wave
done
time $EXE \
--tokens=$repo/tokens.txt \
--encoder=$repo/encoder.onnx \
--decoder=$repo/decoder.onnx \
--joiner=$repo/joiner.onnx \
--num-threads=2 \
$repo/test_wavs/0.wav \
$repo/test_wavs/1.wav \
$repo/test_wavs/8k.wav
rm -rf $repo
log "------------------------------------------------------------"
log "Run LSTM transducer (English)"
log "------------------------------------------------------------"
repo_url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-lstm-en-2023-02-17.tar.bz2
curl -SL -O $repo_url
tar xvf sherpa-onnx-lstm-en-2023-02-17.tar.bz2
rm sherpa-onnx-lstm-en-2023-02-17.tar.bz2
repo=sherpa-onnx-lstm-en-2023-02-17
log "Start testing ${repo_url}"
waves=(
$repo/test_wavs/0.wav
$repo/test_wavs/1.wav
$repo/test_wavs/8k.wav
)
for wave in ${waves[@]}; do
time $EXE \
--tokens=$repo/tokens.txt \
--encoder=$repo/encoder-epoch-99-avg-1.onnx \
--decoder=$repo/decoder-epoch-99-avg-1.onnx \
--joiner=$repo/joiner-epoch-99-avg-1.onnx \
--num-threads=2 \
$wave
done
for wave in ${waves[@]}; do
time $EXE \
--tokens=$repo/tokens.txt \
--encoder=$repo/encoder-epoch-99-avg-1.int8.onnx \
--decoder=$repo/decoder-epoch-99-avg-1.onnx \
--joiner=$repo/joiner-epoch-99-avg-1.int8.onnx \
--num-threads=2 \
$wave
done
rm -rf $repo
log "------------------------------------------------------------"
log "Run LSTM transducer (Chinese)"
log "------------------------------------------------------------"
repo_url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-lstm-zh-2023-02-20.tar.bz2
curl -SL -O $repo_url
tar xvf sherpa-onnx-lstm-zh-2023-02-20.tar.bz2
rm sherpa-onnx-lstm-zh-2023-02-20.tar.bz2
repo=sherpa-onnx-lstm-zh-2023-02-20
log "Start testing ${repo_url}"
waves=(
$repo/test_wavs/0.wav
$repo/test_wavs/1.wav
$repo/test_wavs/8k.wav
)
for wave in ${waves[@]}; do
time $EXE \
--tokens=$repo/tokens.txt \
--encoder=$repo/encoder-epoch-11-avg-1.onnx \
--decoder=$repo/decoder-epoch-11-avg-1.onnx \
--joiner=$repo/joiner-epoch-11-avg-1.onnx \
--num-threads=2 \
$wave
done
for wave in ${waves[@]}; do
time $EXE \
--tokens=$repo/tokens.txt \
--encoder=$repo/encoder-epoch-11-avg-1.int8.onnx \
--decoder=$repo/decoder-epoch-11-avg-1.onnx \
--joiner=$repo/joiner-epoch-11-avg-1.int8.onnx \
--num-threads=2 \
$wave
done
rm -rf $repo
log "------------------------------------------------------------"
log "Run streaming Zipformer transducer (English)"
log "------------------------------------------------------------"
repo_url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-streaming-zipformer-en-2023-02-21.tar.bz2
curl -SL -O $repo_url
tar xvf sherpa-onnx-streaming-zipformer-en-2023-02-21.tar.bz2
rm sherpa-onnx-streaming-zipformer-en-2023-02-21.tar.bz2
repo=sherpa-onnx-streaming-zipformer-en-2023-02-21
log "Start testing ${repo_url}"
waves=(
$repo/test_wavs/0.wav
$repo/test_wavs/1.wav
$repo/test_wavs/8k.wav
)
for wave in ${waves[@]}; do
time $EXE \
--tokens=$repo/tokens.txt \
--encoder=$repo/encoder-epoch-99-avg-1.onnx \
--decoder=$repo/decoder-epoch-99-avg-1.onnx \
--joiner=$repo/joiner-epoch-99-avg-1.onnx \
--num-threads=2 \
$wave
done
# test int8
#
for wave in ${waves[@]}; do
time $EXE \
--tokens=$repo/tokens.txt \
--encoder=$repo/encoder-epoch-99-avg-1.int8.onnx \
--decoder=$repo/decoder-epoch-99-avg-1.onnx \
--joiner=$repo/joiner-epoch-99-avg-1.int8.onnx \
--num-threads=2 \
$wave
done
lm_repo_url=https://huggingface.co/vsd-vector/icefall-librispeech-rnn-lm
log "Download pre-trained RNN-LM model from ${lm_repo_url}"
GIT_LFS_SKIP_SMUDGE=1 git clone $lm_repo_url
lm_repo=$(basename $lm_repo_url)
pushd $lm_repo
git lfs pull --include "with-state-epoch-99-avg-1.onnx"
popd
bigram_repo_url=https://huggingface.co/vsd-vector/librispeech_bigram_sherpa-onnx-zipformer-large-en-2023-06-26
log "Download bi-gram LM from ${bigram_repo_url}"
GIT_LFS_SKIP_SMUDGE=1 git clone $bigram_repo_url
bigramlm_repo=$(basename $bigram_repo_url)
pushd $bigramlm_repo
git lfs pull --include "2gram.fst"
popd
log "Start testing LODR"
waves=(
$repo/test_wavs/0.wav
$repo/test_wavs/1.wav
$repo/test_wavs/8k.wav
)
for wave in ${waves[@]}; do
time $EXE \
--tokens=$repo/tokens.txt \
--encoder=$repo/encoder-epoch-99-avg-1.onnx \
--decoder=$repo/decoder-epoch-99-avg-1.onnx \
--joiner=$repo/joiner-epoch-99-avg-1.onnx \
--num-threads=2 \
--decoding_method="modified_beam_search" \
--lm=$lm_repo/with-state-epoch-99-avg-1.onnx \
--lodr-fst=$bigramlm_repo/2gram.fst \
--lodr-scale=-0.5 \
$wave
done
for wave in ${waves[@]}; do
time $EXE \
--tokens=$repo/tokens.txt \
--encoder=$repo/encoder-epoch-99-avg-1.onnx \
--decoder=$repo/decoder-epoch-99-avg-1.onnx \
--joiner=$repo/joiner-epoch-99-avg-1.onnx \
--num-threads=2 \
--decoding_method="modified_beam_search" \
--lm=$lm_repo/with-state-epoch-99-avg-1.onnx \
--lodr-fst=$bigramlm_repo/2gram.fst \
--lodr-scale=-0.5 \
--lm-shallow-fusion=true \
$wave
done
rm -rf $repo $bigramlm_repo $lm_repo
log "------------------------------------------------------------"
log "Run streaming Zipformer transducer (Bilingual, Chinese + English)"
log "------------------------------------------------------------"
repo_url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20.tar.bz2
curl -SL -O $repo_url
tar xvf sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20.tar.bz2
rm sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20.tar.bz2
repo=sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20
log "Start testing ${repo_url}"
waves=(
$repo/test_wavs/0.wav
$repo/test_wavs/1.wav
$repo/test_wavs/2.wav
$repo/test_wavs/3.wav
$repo/test_wavs/8k.wav
)
for wave in ${waves[@]}; do
time $EXE \
--tokens=$repo/tokens.txt \
--encoder=$repo/encoder-epoch-99-avg-1.onnx \
--decoder=$repo/decoder-epoch-99-avg-1.onnx \
--joiner=$repo/joiner-epoch-99-avg-1.onnx \
--num-threads=2 \
$wave
done
for wave in ${waves[@]}; do
time $EXE \
--tokens=$repo/tokens.txt \
--encoder=$repo/encoder-epoch-99-avg-1.int8.onnx \
--decoder=$repo/decoder-epoch-99-avg-1.onnx \
--joiner=$repo/joiner-epoch-99-avg-1.int8.onnx \
--num-threads=2 \
$wave
done
# Decode a URL
if [ $EXE == "sherpa-onnx-ffmpeg" ]; then
time $EXE \
$repo/tokens.txt \
$repo/encoder-epoch-99-avg-1.onnx \
$repo/decoder-epoch-99-avg-1.onnx \
$repo/joiner-epoch-99-avg-1.onnx \
https://huggingface.co/csukuangfj/sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20/resolve/main/test_wavs/4.wav \
2
fi
if [ $EXE == "sherpa-onnx-ffmpeg" ]; then
time $EXE \
$repo/tokens.txt \
$repo/encoder-epoch-99-avg-1.int8.onnx \
$repo/decoder-epoch-99-avg-1.onnx \
$repo/joiner-epoch-99-avg-1.int8.onnx \
https://huggingface.co/csukuangfj/sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20/resolve/main/test_wavs/4.wav \
2
fi
rm -rf $repo
log "------------------------------------------------------------"
log "Run streaming Conformer transducer (English)"
log "------------------------------------------------------------"
repo_url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-streaming-conformer-en-2023-05-09.tar.bz2
curl -SL -O $repo_url
tar xvf sherpa-onnx-streaming-conformer-en-2023-05-09.tar.bz2
rm sherpa-onnx-streaming-conformer-en-2023-05-09.tar.bz2
repo=sherpa-onnx-streaming-conformer-en-2023-05-09
log "Start testing ${repo_url}"
waves=(
$repo/test_wavs/0.wav
$repo/test_wavs/1.wav
$repo/test_wavs/2.wav
)
for wave in ${waves[@]}; do
time $EXE \
--tokens=$repo/tokens.txt \
--encoder=$repo/encoder-epoch-99-avg-1.onnx \
--decoder=$repo/decoder-epoch-99-avg-1.onnx \
--joiner=$repo/joiner-epoch-99-avg-1.onnx \
--num-threads=2 \
$wave
done
for wave in ${waves[@]}; do
time $EXE \
--tokens=$repo/tokens.txt \
--encoder=$repo/encoder-epoch-99-avg-1.int8.onnx \
--decoder=$repo/decoder-epoch-99-avg-1.onnx \
--joiner=$repo/joiner-epoch-99-avg-1.int8.onnx \
--num-threads=2 \
$wave
done
rm -rf $repo
================================================
FILE: .github/scripts/test-python.sh
================================================
#!/usr/bin/env bash
set -ex
log() {
# This function is from espnet
local fname=${BASH_SOURCE[1]##*/}
echo -e "$(date '+%Y-%m-%d %H:%M:%S') (${fname}:${BASH_LINENO[0]}:${FUNCNAME[1]}) $*"
}
log "test Supertonic TTS"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/sherpa-onnx-supertonic-tts-int8-2026-03-06.tar.bz2
tar xvf sherpa-onnx-supertonic-tts-int8-2026-03-06.tar.bz2
rm sherpa-onnx-supertonic-tts-int8-2026-03-06.tar.bz2
python3 python-api-examples/supertonic-tts.py
rm -rf sherpa-onnx-supertonic-tts-int8-2026-03-06
mkdir -p tts
cp supertonic-en.wav tts/
ls -lh tts
log "test Moonshine v2"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-moonshine-tiny-en-quantized-2026-02-27.tar.bz2
tar xvf sherpa-onnx-moonshine-tiny-en-quantized-2026-02-27.tar.bz2
rm sherpa-onnx-moonshine-tiny-en-quantized-2026-02-27.tar.bz2
ls -lh sherpa-onnx-moonshine-tiny-en-quantized-2026-02-27
python3 ./python-api-examples/offline-moonshine-decode-files-v2.py
rm -rf sherpa-onnx-moonshine-tiny-en-quantized-2026-02-27
log "test FireRedASR CTC"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-fire-red-asr2-ctc-zh_en-int8-2026-02-25.tar.bz2
tar xvf sherpa-onnx-fire-red-asr2-ctc-zh_en-int8-2026-02-25.tar.bz2
rm sherpa-onnx-fire-red-asr2-ctc-zh_en-int8-2026-02-25.tar.bz2
python3 ./python-api-examples/offline-fire-red-asr-ctc-decode-files.py
rm -rf sherpa-onnx-fire-red-asr2-ctc-zh_en-int8-2026-02-25
log "test FireRedASR AED"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-fire-red-asr-large-zh_en-2025-02-16.tar.bz2
tar xvf sherpa-onnx-fire-red-asr-large-zh_en-2025-02-16.tar.bz2
rm sherpa-onnx-fire-red-asr-large-zh_en-2025-02-16.tar.bz2
python3 ./python-api-examples/offline-fire-red-asr-decode-files.py
rm -rf sherpa-onnx-fire-red-asr-large-zh_en-2025-02-16
log "test PocketTTS"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/sherpa-onnx-pocket-tts-int8-2026-01-26.tar.bz2
tar xvf sherpa-onnx-pocket-tts-int8-2026-01-26.tar.bz2
rm sherpa-onnx-pocket-tts-int8-2026-01-26.tar.bz2
python3 ./python-api-examples/pocket-tts.py
rm -rf sherpa-onnx-pocket-tts-int8-2026-01-26
log "test ZipVoice TTS"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/sherpa-onnx-zipvoice-distill-int8-zh-en-emilia.tar.bz2
tar xvf sherpa-onnx-zipvoice-distill-int8-zh-en-emilia.tar.bz2
rm sherpa-onnx-zipvoice-distill-int8-zh-en-emilia.tar.bz2
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/vocoder-models/vocos_24khz.onnx
python3 ./python-api-examples/zipvoice-tts.py
cp generated-zipvoice-zh-en-python.wav tts/
rm -rf sherpa-onnx-zipvoice-distill-int8-zh-en-emilia
rm -f vocos_24khz.onnx
log "test Google MedASR"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-medasr-ctc-en-int8-2025-12-25.tar.bz2
tar xvf sherpa-onnx-medasr-ctc-en-int8-2025-12-25.tar.bz2
rm sherpa-onnx-medasr-ctc-en-int8-2025-12-25.tar.bz2
ls -lh sherpa-onnx-medasr-ctc-en-int8-2025-12-25
ls -lh sherpa-onnx-medasr-ctc-en-int8-2025-12-25/test_wavs
python3 ./python-api-examples/offline-medasr-ctc-decode-files.py
rm -rf sherpa-onnx-medasr-ctc-en-int8-2025-12-25
log "test omnilingual ASR"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-omnilingual-asr-1600-languages-300M-ctc-int8-2025-11-12.tar.bz2
tar xvf sherpa-onnx-omnilingual-asr-1600-languages-300M-ctc-int8-2025-11-12.tar.bz2
rm sherpa-onnx-omnilingual-asr-1600-languages-300M-ctc-int8-2025-11-12.tar.bz2
ls -lh sherpa-onnx-omnilingual-asr-1600-languages-300M-ctc-int8-2025-11-12
python3 ./python-api-examples/offline-omnilingual-asr-ctc-decode-files.py
rm -rf sherpa-onnx-omnilingual-asr-1600-languages-300M-ctc-int8-2025-11-12
log "test T-one"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-streaming-t-one-russian-2025-09-08.tar.bz2
tar xvf sherpa-onnx-streaming-t-one-russian-2025-09-08.tar.bz2
rm sherpa-onnx-streaming-t-one-russian-2025-09-08.tar.bz2
python3 ./python-api-examples/online-t-one-ctc-decode-files.py
rm -rf sherpa-onnx-streaming-t-one-russian-2025-09-08
log "test nemo canary"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-nemo-canary-180m-flash-en-es-de-fr-int8.tar.bz2
tar xvf sherpa-onnx-nemo-canary-180m-flash-en-es-de-fr-int8.tar.bz2
rm sherpa-onnx-nemo-canary-180m-flash-en-es-de-fr-int8.tar.bz2
python3 ./python-api-examples/offline-nemo-canary-decode-files.py
rm -rf sherpa-onnx-nemo-canary-180m-flash-en-es-de-fr-int8
log "test spleeter"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/source-separation-models/sherpa-onnx-spleeter-2stems-fp16.tar.bz2
tar xvf sherpa-onnx-spleeter-2stems-fp16.tar.bz2
rm sherpa-onnx-spleeter-2stems-fp16.tar.bz2
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/source-separation-models/qi-feng-le-zh.wav
./python-api-examples/offline-source-separation-spleeter.py
rm -rf sherpa-onnx-spleeter-2stems-fp16
rm qi-feng-le-zh.wav
log "test UVR"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/source-separation-models/UVR_MDXNET_9482.onnx
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/source-separation-models/qi-feng-le-zh.wav
./python-api-examples/offline-source-separation-uvr.py
rm UVR_MDXNET_9482.onnx
rm qi-feng-le-zh.wav
mkdir source-separation
mv spleeter-*.wav source-separation
mv uvr-*.wav source-separation
ls -lh source-separation
log "test 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
rm sherpa-onnx-dolphin-base-ctc-multi-lang-int8-2025-04-02.tar.bz2
python3 ./python-api-examples/offline-dolphin-ctc-decode-files.py
rm -rf sherpa-onnx-dolphin-base-ctc-multi-lang-int8-2025-04-02
log "test offline speech enhancement (GTCRN)"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/speech-enhancement-models/gtcrn_simple.onnx
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/speech-enhancement-models/dpdfnet_baseline.onnx
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/speech-enhancement-models/speech_with_noise.wav
python3 ./python-api-examples/offline-speech-enhancement-gtcrn.py
python3 ./python-api-examples/offline-speech-enhancement-dpdfnet.py
python3 ./python-api-examples/online-speech-enhancement-gtcrn.py
python3 ./python-api-examples/online-speech-enhancement-dpdfnet.py
ls -lh *.wav
log "test offline zipformer (byte-level bpe, Chinese+English)"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-zipformer-zh-en-2023-11-22.tar.bz2
tar xvf sherpa-onnx-zipformer-zh-en-2023-11-22.tar.bz2
rm sherpa-onnx-zipformer-zh-en-2023-11-22.tar.bz2
repo=sherpa-onnx-zipformer-zh-en-2023-11-22
./python-api-examples/offline-decode-files.py \
--tokens=$repo/tokens.txt \
--encoder=$repo/encoder-epoch-34-avg-19.int8.onnx \
--decoder=$repo/decoder-epoch-34-avg-19.onnx \
--joiner=$repo/joiner-epoch-34-avg-19.int8.onnx \
--num-threads=2 \
--decoding-method=greedy_search \
--debug=true \
$repo/test_wavs/0.wav \
$repo/test_wavs/1.wav \
$repo/test_wavs/2.wav
rm -rf sherpa-onnx-zipformer-zh-en-2023-11-22
log "test offline Moonshine"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-moonshine-tiny-en-int8.tar.bz2
tar xvf sherpa-onnx-moonshine-tiny-en-int8.tar.bz2
rm sherpa-onnx-moonshine-tiny-en-int8.tar.bz2
python3 ./python-api-examples/offline-moonshine-decode-files.py
rm -rf sherpa-onnx-moonshine-tiny-en-int8
log "test offline speaker diarization"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/speaker-segmentation-models/sherpa-onnx-pyannote-segmentation-3-0.tar.bz2
tar xvf sherpa-onnx-pyannote-segmentation-3-0.tar.bz2
rm sherpa-onnx-pyannote-segmentation-3-0.tar.bz2
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/speaker-recongition-models/3dspeaker_speech_eres2net_base_sv_zh-cn_3dspeaker_16k.onnx
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/speaker-segmentation-models/0-four-speakers-zh.wav
python3 ./python-api-examples/offline-speaker-diarization.py
rm -rf *.wav *.onnx ./sherpa-onnx-pyannote-segmentation-3-0
log "test_clustering"
pushd /tmp/
mkdir test-cluster
cd test-cluster
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/speaker-recongition-models/3dspeaker_speech_eres2net_base_sv_zh-cn_3dspeaker_16k.onnx
git clone https://github.com/csukuangfj/sr-data
popd
python3 ./sherpa-onnx/python/tests/test_fast_clustering.py
rm -rf /tmp/test-cluster
export GIT_CLONE_PROTECTION_ACTIVE=false
log "test offline SenseVoice CTC"
url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17.tar.bz2
name=$(basename $url)
repo=$(basename -s .tar.bz2 $name)
curl -SL -O $url
tar xvf $name
rm $name
ls -lh $repo
python3 ./python-api-examples/offline-sense-voice-ctc-decode-files.py
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/hr-files/dict.tar.bz2
tar xf dict.tar.bz2
rm dict.tar.bz2
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/hr-files/replace.fst
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/hr-files/test-hr.wav
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/hr-files/lexicon.txt
python3 ./python-api-examples/offline-sense-voice-ctc-decode-files-with-hr.py
rm -rf dict replace.fst test-hr.wav lexicon.txt
if [[ $(uname) == Linux ]]; then
# It needs ffmpeg
log "generate subtitles (Chinese)"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/silero_vad.onnx
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/lei-jun-test.wav
python3 ./python-api-examples/generate-subtitles.py \
--silero-vad-model=./silero_vad.onnx \
--sense-voice=$repo/model.onnx \
--tokens=$repo/tokens.txt \
--num-threads=2 \
./lei-jun-test.wav
cat lei-jun-test.srt
rm lei-jun-test.wav
log "generate subtitles (English)"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/Obama.wav
python3 ./python-api-examples/generate-subtitles.py \
--silero-vad-model=./silero_vad.onnx \
--sense-voice=$repo/model.onnx \
--tokens=$repo/tokens.txt \
--num-threads=2 \
./Obama.wav
cat Obama.srt
rm Obama.wav
rm silero_vad.onnx
fi
rm -rf $repo
log "test offline TeleSpeech CTC"
url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-telespeech-ctc-int8-zh-2024-06-04.tar.bz2
name=$(basename $url)
repo=$(basename -s .tar.bz2 $name)
curl -SL -O $url
tar xvf $name
rm $name
ls -lh $repo
python3 ./python-api-examples/offline-telespeech-ctc-decode-files.py
rm -rf $repo
log "test online NeMo CTC"
url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-nemo-streaming-fast-conformer-ctc-en-80ms.tar.bz2
name=$(basename $url)
repo=$(basename -s .tar.bz2 $name)
curl -SL -O $url
tar xvf $name
rm $name
ls -lh $repo
python3 ./python-api-examples/online-nemo-ctc-decode-files.py
rm -rf $repo
log "test offline punctuation"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/punctuation-models/sherpa-onnx-punct-ct-transformer-zh-en-vocab272727-2024-04-12.tar.bz2
tar xvf sherpa-onnx-punct-ct-transformer-zh-en-vocab272727-2024-04-12.tar.bz2
rm sherpa-onnx-punct-ct-transformer-zh-en-vocab272727-2024-04-12.tar.bz2
repo=sherpa-onnx-punct-ct-transformer-zh-en-vocab272727-2024-04-12
ls -lh $repo
python3 ./python-api-examples/add-punctuation.py
rm -rf $repo
log "test online punctuation"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/punctuation-models/sherpa-onnx-online-punct-en-2024-08-06.tar.bz2
tar xvf sherpa-onnx-online-punct-en-2024-08-06.tar.bz2
rm sherpa-onnx-online-punct-en-2024-08-06.tar.bz2
repo=sherpa-onnx-online-punct-en-2024-08-06
ls -lh $repo
python3 ./python-api-examples/add-punctuation-online.py
rm -rf $repo
log "test audio tagging"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/audio-tagging-models/sherpa-onnx-zipformer-audio-tagging-2024-04-09.tar.bz2
tar xvf sherpa-onnx-zipformer-audio-tagging-2024-04-09.tar.bz2
rm sherpa-onnx-zipformer-audio-tagging-2024-04-09.tar.bz2
python3 ./python-api-examples/audio-tagging-from-a-file.py
rm -rf sherpa-onnx-zipformer-audio-tagging-2024-04-09
log "test streaming zipformer2 ctc HLG decoding"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-streaming-zipformer-ctc-small-2024-03-18.tar.bz2
tar xvf sherpa-onnx-streaming-zipformer-ctc-small-2024-03-18.tar.bz2
rm sherpa-onnx-streaming-zipformer-ctc-small-2024-03-18.tar.bz2
repo=sherpa-onnx-streaming-zipformer-ctc-small-2024-03-18
python3 ./python-api-examples/online-zipformer-ctc-hlg-decode-file.py \
--debug 1 \
--tokens ./sherpa-onnx-streaming-zipformer-ctc-small-2024-03-18/tokens.txt \
--graph ./sherpa-onnx-streaming-zipformer-ctc-small-2024-03-18/HLG.fst \
--model ./sherpa-onnx-streaming-zipformer-ctc-small-2024-03-18/ctc-epoch-30-avg-3-chunk-16-left-128.int8.onnx \
./sherpa-onnx-streaming-zipformer-ctc-small-2024-03-18/test_wavs/0.wav
rm -rf sherpa-onnx-streaming-zipformer-ctc-small-2024-03-18
mkdir -p /tmp/icefall-models
dir=/tmp/icefall-models
pushd $dir
repo=$dir/icefall-asr-librispeech-streaming-zipformer-small-2024-03-18
mkdir -p $repo
cd $repo
mkdir exp-ctc-rnnt-small
cd exp-ctc-rnnt-small
curl -LS -O https://huggingface.co/csukuangfj/icefall-asr-librispeech-streaming-zipformer-small-2024-03-18/resolve/main/exp-ctc-rnnt-small/ctc-epoch-30-avg-3-chunk-16-left-128.int8.onnx
cd ..
mkdir -p data/lang_bpe_500
cd data/lang_bpe_500
curl -LS -O https://huggingface.co/csukuangfj/icefall-asr-librispeech-streaming-zipformer-small-2024-03-18/resolve/main/data/lang_bpe_500/tokens.txt
cd ../..
mkdir test_wavs
cd test_wavs
curl -LS -O https://huggingface.co/csukuangfj/icefall-asr-librispeech-streaming-zipformer-small-2024-03-18/resolve/main/test_wavs/0.wav
curl -LS -O https://huggingface.co/csukuangfj/icefall-asr-librispeech-streaming-zipformer-small-2024-03-18/resolve/main/test_wavs/1.wav
curl -LS -O https://huggingface.co/csukuangfj/icefall-asr-librispeech-streaming-zipformer-small-2024-03-18/resolve/main/test_wavs/8k.wav
popd
python3 ./python-api-examples/online-decode-files.py \
--tokens=$repo/data/lang_bpe_500/tokens.txt \
--zipformer2-ctc=$repo/exp-ctc-rnnt-small/ctc-epoch-30-avg-3-chunk-16-left-128.int8.onnx \
$repo/test_wavs/0.wav \
$repo/test_wavs/1.wav \
$repo/test_wavs/8k.wav
rm -rf $repo
python3 sherpa-onnx/python/tests/test_offline_recognizer.py --verbose
wenet_models=(
# sherpa-onnx-zh-wenet-aishell
# sherpa-onnx-zh-wenet-aishell2
# sherpa-onnx-zh-wenet-wenetspeech
# sherpa-onnx-zh-wenet-multi-cn
sherpa-onnx-en-wenet-librispeech
# sherpa-onnx-en-wenet-gigaspeech
)
for name in ${wenet_models[@]}; do
repo_url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/$name.tar.bz2
curl -SL -O $repo_url
tar xvf $name.tar.bz2
rm $name.tar.bz2
repo=$name
log "Start testing ${repo_url}"
if false; then
# offline wenet ctc models are not supported by onnxruntime >= 1.18
python3 ./python-api-examples/offline-decode-files.py \
--tokens=$repo/tokens.txt \
--wenet-ctc=$repo/model.onnx \
$repo/test_wavs/0.wav \
$repo/test_wavs/1.wav \
$repo/test_wavs/8k.wav
fi
python3 ./python-api-examples/online-decode-files.py \
--tokens=$repo/tokens.txt \
--wenet-ctc=$repo/model-streaming.onnx \
$repo/test_wavs/0.wav \
$repo/test_wavs/1.wav \
$repo/test_wavs/8k.wav
python3 sherpa-onnx/python/tests/test_offline_recognizer.py --verbose
python3 sherpa-onnx/python/tests/test_online_recognizer.py --verbose
rm -rf $repo
done
log "Offline TTS test"
# test waves are saved in ./tts
mkdir -p ./tts
log "test kitten tts"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/kitten-nano-en-v0_1-fp16.tar.bz2
tar xf kitten-nano-en-v0_1-fp16.tar.bz2
rm kitten-nano-en-v0_1-fp16.tar.bz2
python3 ./python-api-examples/offline-tts.py \
--debug=1 \
--kitten-model=./kitten-nano-en-v0_1-fp16/model.fp16.onnx \
--kitten-voices=./kitten-nano-en-v0_1-fp16/voices.bin \
--kitten-tokens=./kitten-nano-en-v0_1-fp16/tokens.txt \
--kitten-data-dir=./kitten-nano-en-v0_1-fp16/espeak-ng-data \
--num-threads=2 \
--sid=0 \
--output-filename="./tts/kitten-0.wav" \
"Today as always, men fall into two groups: slaves and free men. Whoever does not have two-thirds of his day for himself, is a slave, whatever he may be: a statesman, a businessman, an official, or a scholar."
rm -rf kitten-nano-en-v0_1-fp16
log "kokoro-multi-lang-v1_0 test"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/kokoro-multi-lang-v1_0.tar.bz2
tar xf kokoro-multi-lang-v1_0.tar.bz2
rm kokoro-multi-lang-v1_0.tar.bz2
python3 ./python-api-examples/offline-tts.py \
--debug=1 \
--kokoro-model=./kokoro-multi-lang-v1_0/model.onnx \
--kokoro-voices=./kokoro-multi-lang-v1_0/voices.bin \
--kokoro-tokens=./kokoro-multi-lang-v1_0/tokens.txt \
--kokoro-data-dir=./kokoro-multi-lang-v1_0/espeak-ng-data \
--kokoro-lexicon=./kokoro-multi-lang-v1_0/lexicon-us-en.txt,./kokoro-multi-lang-v1_0/lexicon-zh.txt \
--num-threads=2 \
--sid=18 \
--output-filename="./tts/kokoro-18-zh-en.wav" \
"中英文语音合成测试。This is generated by next generation Kaldi using Kokoro without Misaki. 你觉得中英文说的如何呢?"
rm -rf kokoro-multi-lang-v1_0
log "kokoro-en-v0_19 test"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/kokoro-en-v0_19.tar.bz2
tar xf kokoro-en-v0_19.tar.bz2
rm kokoro-en-v0_19.tar.bz2
python3 ./python-api-examples/offline-tts.py \
--debug=1 \
--kokoro-model=./kokoro-en-v0_19/model.onnx \
--kokoro-voices=./kokoro-en-v0_19/voices.bin \
--kokoro-tokens=./kokoro-en-v0_19/tokens.txt \
--kokoro-data-dir=./kokoro-en-v0_19/espeak-ng-data \
--num-threads=2 \
--sid=10 \
--output-filename="./tts/kokoro-10.wav" \
"Today as always, men fall into two groups: slaves and free men. Whoever does not have two-thirds of his day for himself, is a slave, whatever he may be a statesman, a businessman, an official, or a scholar."
rm -rf kokoro-en-v0_19
log "matcha-ljspeech-en test"
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/matcha-icefall-en_US-ljspeech.tar.bz2
tar xvf matcha-icefall-en_US-ljspeech.tar.bz2
rm matcha-icefall-en_US-ljspeech.tar.bz2
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/vocoder-models/vocos-22khz-univ.onnx
python3 ./python-api-examples/offline-tts.py \
--matcha-acoustic-model=./matcha-icefall-en_US-ljspeech/model-steps-3.onnx \
--matcha-vocoder=./vocos-22khz-univ.onnx \
--matcha-tokens=./matcha-icefall-en_US-ljspeech/tokens.txt \
--matcha-data-dir=./matcha-icefall-en_US-ljspeech/espeak-ng-data \
--output-filename=./tts/test-matcha-ljspeech-en.wav \
--num-threads=2 \
"Today as always, men fall into two groups: slaves and free men. Whoever does not have two-thirds of his day for himself, is a slave, whatever he may be: a statesman, a businessman, an official, or a scholar."
rm vocos-22khz-univ.onnx
rm -rf matcha-icefall-en_US-ljspeech
log "matcha-baker-zh test"
curl -O -SL https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/matcha-icefall-zh-baker.tar.bz2
tar xvf matcha-icefall-zh-baker.tar.bz2
rm matcha-icefall-zh-baker.tar.bz2
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/vocoder-models/vocos-22khz-univ.onnx
python3 ./python-api-examples/offline-tts.py \
--matcha-acoustic-model=./matcha-icefall-zh-baker/model-steps-3.onnx \
--matcha-vocoder=./vocos-22khz-univ.onnx \
--matcha-lexicon=./matcha-icefall-zh-baker/lexicon.txt \
--matcha-tokens=./matcha-icefall-zh-baker/tokens.txt \
--tts-rule-fsts=./matcha-icefall-zh-baker/phone.fst,./matcha-icefall-zh-baker/date.fst,./matcha-icefall-zh-baker/number.fst \
--output-filename=./tts/test-matcha-baker-zh.wav \
"某某银行的副行长和一些行政领导表示,他们去过长江和长白山; 经济不断增长。2024年12月31号,拨打110或者18920240511。123456块钱。"
rm -rf matcha-icefall-zh-baker
rm vocos-22khz-univ.onnx
log "vits-ljs test"
curl -LS -O https://huggingface.co/csukuangfj/vits-ljs/resolve/main/vits-ljs.onnx
curl -LS -O https://huggingface.co/csukuangfj/vits-ljs/resolve/main/lexicon.txt
curl -LS -O https://huggingface.co/csukuangfj/vits-ljs/resolve/main/tokens.txt
python3 ./python-api-examples/offline-tts.py \
--vits-model=./vits-ljs.onnx \
--vits-lexicon=./lexicon.txt \
--vits-tokens=./tokens.txt \
--output-filename=./tts/vits-ljs.wav \
'liliana, the most beautiful and lovely assistant of our team!'
ls -lh ./tts
rm -v vits-ljs.onnx ./lexicon.txt ./tokens.txt
log "vits-vctk test"
curl -LS -O https://huggingface.co/csukuangfj/vits-vctk/resolve/main/vits-vctk.onnx
curl -LS -O https://huggingface.co/csukuangfj/vits-vctk/resolve/main/lexicon.txt
curl -LS -O https://huggingface.co/csukuangfj/vits-vctk/resolve/main/tokens.txt
for sid in 0 10 90; do
python3 ./python-api-examples/offline-tts.py \
--vits-model=./vits-vctk.onnx \
--vits-lexicon=./lexicon.txt \
--vits-tokens=./tokens.txt \
--sid=$sid \
--output-filename=./tts/vits-vctk-${sid}.wav \
'liliana, the most beautiful and lovely assistant of our team!'
done
rm -v vits-vctk.onnx ./lexicon.txt ./tokens.txt
if [[ x$OS != x'windows-latest' ]]; then
echo "OS: $OS"
log "vits-zh-aishell3"
curl -LS -O https://huggingface.co/csukuangfj/vits-zh-aishell3/resolve/main/vits-aishell3.onnx
curl -LS -O https://huggingface.co/csukuangfj/vits-zh-aishell3/resolve/main/lexicon.txt
curl -LS -O https://huggingface.co/csukuangfj/vits-zh-aishell3/resolve/main/tokens.txt
for sid in 0 10 90; do
python3 ./python-api-examples/offline-tts.py \
--vits-model=./vits-aishell3.onnx \
--vits-lexicon=./lexicon.txt \
--vits-tokens=./tokens.txt \
--sid=$sid \
--output-filename=./tts/vits-aishell3-${sid}.wav \
'林美丽最美丽'
done
rm -v vits-aishell3.onnx ./lexicon.txt ./tokens.txt
fi
mkdir -p /tmp/icefall-models
dir=/tmp/icefall-models
log "Test streaming transducer models"
if [[ x$OS != x'windows-latest' ]]; then
echo "OS: $OS"
pushd $dir
repo_url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20.tar.bz2
curl -SL -O $repo_url
tar xvf sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20.tar.bz2
rm sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20.tar.bz2
repo=sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20
log "Start testing ${repo_url}"
repo=$dir/$repo
python3 -c "import sherpa_onnx; print(sherpa_onnx.__file__)"
sherpa_onnx_version=$(python3 -c "import sherpa_onnx; print(sherpa_onnx.__version__)")
echo "sherpa_onnx version: $sherpa_onnx_version"
pwd
ls -lh
ls -lh $repo
popd
python3 ./python-api-examples/online-decode-files.py \
--tokens=$repo/tokens.txt \
--encoder=$repo/encoder-epoch-99-avg-1.onnx \
--decoder=$repo/decoder-epoch-99-avg-1.onnx \
--joiner=$repo/joiner-epoch-99-avg-1.onnx \
$repo/test_wavs/0.wav \
$repo/test_wavs/1.wav \
$repo/test_wavs/2.wav \
$repo/test_wavs/3.wav \
$repo/test_wavs/8k.wav
python3 ./python-api-examples/online-decode-files.py \
--tokens=$repo/tokens.txt \
--encoder=$repo/encoder-epoch-99-avg-1.int8.onnx \
--decoder=$repo/decoder-epoch-99-avg-1.onnx \
--joiner=$repo/joiner-epoch-99-avg-1.int8.onnx \
$repo/test_wavs/0.wav \
$repo/test_wavs/1.wav \
$repo/test_wavs/2.wav \
$repo/test_wavs/3.wav \
$repo/test_wavs/8k.wav
ln -s $repo $PWD/
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/itn_zh_number.fst
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/itn-zh-number.wav
python3 ./python-api-examples/inverse-text-normalization-online-asr.py
python3 sherpa-onnx/python/tests/test_online_recognizer.py --verbose
rm -rfv sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20
rm -rf $repo
fi
log "Test non-streaming transducer models"
pushd $dir
repo_url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-zipformer-en-2023-04-01.tar.bz2
log "Download pretrained model and test-data from $repo_url"
curl -SL -O $repo_url
tar xvf sherpa-onnx-zipformer-en-2023-04-01.tar.bz2
rm sherpa-onnx-zipformer-en-2023-04-01.tar.bz2
repo=$dir/sherpa-onnx-zipformer-en-2023-04-01
popd
ls -lh $repo
python3 ./python-api-examples/offline-decode-files.py \
--tokens=$repo/tokens.txt \
--encoder=$repo/encoder-epoch-99-avg-1.onnx \
--decoder=$repo/decoder-epoch-99-avg-1.onnx \
--joiner=$repo/joiner-epoch-99-avg-1.onnx \
$repo/test_wavs/0.wav \
$repo/test_wavs/1.wav \
$repo/test_wavs/8k.wav
python3 ./python-api-examples/offline-decode-files.py \
--tokens=$repo/tokens.txt \
--encoder=$repo/encoder-epoch-99-avg-1.int8.onnx \
--decoder=$repo/decoder-epoch-99-avg-1.onnx \
--joiner=$repo/joiner-epoch-99-avg-1.int8.onnx \
$repo/test_wavs/0.wav \
$repo/test_wavs/1.wav \
$repo/test_wavs/8k.wav
lm_repo_url=https://huggingface.co/ezerhouni/icefall-librispeech-rnn-lm
log "Download pre-trained RNN-LM model from ${lm_repo_url}"
GIT_LFS_SKIP_SMUDGE=1 git clone $lm_repo_url
lm_repo=$(basename $lm_repo_url)
pushd $lm_repo
git lfs pull --include "exp/no-state-epoch-99-avg-1.onnx"
popd
bigram_repo_url=https://huggingface.co/vsd-vector/librispeech_bigram_sherpa-onnx-zipformer-large-en-2023-06-26
log "Download bi-gram LM from ${bigram_repo_url}"
GIT_LFS_SKIP_SMUDGE=1 git clone $bigram_repo_url
bigramlm_repo=$(basename $bigram_repo_url)
pushd $bigramlm_repo
git lfs pull --include "2gram.fst"
popd
log "Perform offline decoding with RNN-LM and LODR"
python3 ./python-api-examples/offline-decode-files.py \
--tokens=$repo/tokens.txt \
--encoder=$repo/encoder-epoch-99-avg-1.onnx \
--decoder=$repo/decoder-epoch-99-avg-1.onnx \
--joiner=$repo/joiner-epoch-99-avg-1.onnx \
--decoding-method=modified_beam_search \
--lm=$lm_repo/exp/no-state-epoch-99-avg-1.onnx \
--lodr-fst=$bigramlm_repo/2gram.fst \
--lodr-scale=-0.5 \
$repo/test_wavs/0.wav \
$repo/test_wavs/1.wav \
$repo/test_wavs/8k.wav
python3 sherpa-onnx/python/tests/test_offline_recognizer.py --verbose
rm -rf $repo $lm_repo $bigramlm_repo
log "Test non-streaming paraformer models"
if [[ x$OS != x'windows-latest' ]]; then
echo "OS: $OS"
pushd $dir
repo_url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-paraformer-zh-2023-09-14.tar.bz2
curl -SL -O $repo_url
tar xvf sherpa-onnx-paraformer-zh-2023-09-14.tar.bz2
rm sherpa-onnx-paraformer-zh-2023-09-14.tar.bz2
log "Start testing ${repo_url}"
repo=$dir/sherpa-onnx-paraformer-zh-2023-09-14
ls -lh $repo
popd
python3 ./python-api-examples/offline-decode-files.py \
--tokens=$repo/tokens.txt \
--paraformer=$repo/model.int8.onnx \
$repo/test_wavs/0.wav \
$repo/test_wavs/1.wav \
$repo/test_wavs/2.wav \
$repo/test_wavs/8k.wav
python3 sherpa-onnx/python/tests/test_offline_recognizer.py --verbose
ln -s $repo $PWD/
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/itn_zh_number.fst
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/itn-zh-number.wav
python3 ./python-api-examples/inverse-text-normalization-offline-asr.py
rm -rfv sherpa-onnx-paraformer-zh-2023-09-14
rm -rf $repo
fi
log "Test non-streaming NeMo CTC models"
pushd $dir
repo_url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-nemo-ctc-en-citrinet-512.tar.bz2
curl -SL -O $repo_url
tar xvf sherpa-onnx-nemo-ctc-en-citrinet-512.tar.bz2
rm sherpa-onnx-nemo-ctc-en-citrinet-512.tar.bz2
log "Start testing ${repo_url}"
repo=$dir/sherpa-onnx-nemo-ctc-en-citrinet-512
ls -lh $repo
popd
python3 ./python-api-examples/offline-decode-files.py \
--tokens=$repo/tokens.txt \
--nemo-ctc=$repo/model.onnx \
$repo/test_wavs/0.wav \
$repo/test_wavs/1.wav \
$repo/test_wavs/8k.wav
python3 ./python-api-examples/offline-decode-files.py \
--tokens=$repo/tokens.txt \
--nemo-ctc=$repo/model.int8.onnx \
$repo/test_wavs/0.wav \
$repo/test_wavs/1.wav \
$repo/test_wavs/8k.wav
python3 sherpa-onnx/python/tests/test_offline_recognizer.py --verbose
rm -rf $repo
# test text2token
git clone https://github.com/pkufool/sherpa-test-data /tmp/sherpa-test-data
python3 sherpa-onnx/python/tests/test_text2token.py --verbose
rm -rf /tmp/sherpa-test-data
dir=/tmp/onnx-models
mkdir -p $dir
log "Test keyword spotting models"
python3 -c "import sherpa_onnx; print(sherpa_onnx.__file__)"
sherpa_onnx_version=$(python3 -c "import sherpa_onnx; print(sherpa_onnx.__version__)")
echo "sherpa_onnx version: $sherpa_onnx_version"
pwd
ls -lh
if [[ x$OS != x'windows-latest' ]]; then
echo "OS: $OS"
repo=sherpa-onnx-kws-zipformer-wenetspeech-3.3M-2024-01-01
log "Start testing ${repo}"
curl -LS -O https://github.com/pkufool/keyword-spotting-models/releases/download/v0.1/sherpa-onnx-kws-zipformer-wenetspeech-3.3M-2024-01-01.tar.bz
tar xf sherpa-onnx-kws-zipformer-wenetspeech-3.3M-2024-01-01.tar.bz
rm sherpa-onnx-kws-zipformer-wenetspeech-3.3M-2024-01-01.tar.bz
ls -lh $repo
python3 ./python-api-examples/keyword-spotter.py
python3 sherpa-onnx/python/tests/test_keyword_spotter.py --verbose
rm -rf $repo
fi
rm -r $dir
================================================
FILE: .github/scripts/test-rust.sh
================================================
#!/usr/bin/env bash
set -ex
cd rust-api-examples
./run-audio-tagging-zipformer.sh
rm -rf sherpa-onnx-zipformer-small-audio-tagging-2024-04-15
./run-audio-tagging-ced.sh
rm -rf sherpa-onnx-ced-mini-audio-tagging-2024-04-19
./run-speaker-embedding-extractor.sh
./run-speaker-embedding-manager.sh
rm -f 3dspeaker_speech_campplus_sv_zh-cn_16k-common.onnx
rm -rf sr-data
./run-speaker-embedding-cosine-similarity.sh
rm -f wespeaker_zh_cnceleb_resnet34.onnx fangjun-sr-1.wav fangjun-sr-2.wav leijun-sr-1.wav
./run-offline-speaker-diarization.sh
rm -rf sherpa-onnx-pyannote-segmentation-3-0
rm -f 3dspeaker_speech_eres2net_base_sv_zh-cn_3dspeaker_16k.onnx 0-four-speakers-zh.wav
./run-vits-en.sh
rm -rf vits-piper-en_US-amy-low
./run-vits-de.sh
rm -rf vits-piper-de_DE-glados-high
./run-matcha-tts-en.sh
./run-matcha-tts-zh.sh
rm -rf matcha-icefall-en_US-ljspeech matcha-icefall-zh-baker
rm -f vocos-22khz-univ.onnx
./run-kokoro-tts-en.sh
rm -rf kokoro-en-v0_19
./run-kokoro-tts-zh-en.sh
rm -rf kokoro-multi-lang-v1_0
./run-kitten-tts-en.sh
rm -rf kitten-nano-en-v0_1-fp16
./run-pocket-tts.sh
rm -rf sherpa-onnx-pocket-*
./run-supertonic-tts.sh
rm -rf sherpa-onnx-supertonic-*
./run-zipvoice-tts.sh
rm -rf sherpa-onnx-zipvoice-*
rm -f vocos_24khz.onnx
./run-online-punctuation.sh
rm -rf sherpa-onnx-online-punct-*
./run-keyword-spotter.sh
rm -rf sherpa-onnx-kws-zipformer-wenetspeech-3.3M-2024-01-01-mobile
./run-spoken-language-identification.sh
rm -rf sherpa-onnx-whisper-tiny spoken-language-identification-test-wavs
./run-offline-punctuation.sh
rm -rf sherpa-onnx-punct-ct-transformer-zh-en-vocab272727-2024-04-12-int8
./run-version.sh
./run-moonshine-v2.sh
./run-fire-red-asr-ctc.sh
./run-silero-vad-remove-silence.sh
./run-nemo-parakeet-en.sh
./run-zipformer-vi.sh
./run-zipformer-zh-en.sh
./run-zipformer-en.sh
./run-sense-voice.sh
./run-streaming-zipformer-en.sh
./run-streaming-zipformer-zh-en.sh
./run-offline-speech-enhancement-gtcrn.sh
./run-offline-speech-enhancement-dpdfnet.sh
./run-streaming-speech-enhancement-gtcrn.sh
./run-streaming-speech-enhancement-dpdfnet.sh
================================================
FILE: .github/scripts/test-speaker-diarization.sh
================================================
#!/usr/bin/env bash
set -ex
log() {
# This function is from espnet
local fname=${BASH_SOURCE[1]##*/}
echo -e "$(date '+%Y-%m-%d %H:%M:%S') (${fname}:${BASH_LINENO[0]}:${FUNCNAME[1]}) $*"
}
echo "EXE is $EXE"
echo "PATH: $PATH"
which $EXE
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/speaker-segmentation-models/sherpa-onnx-pyannote-segmentation-3-0.tar.bz2
tar xvf sherpa-onnx-pyannote-segmentation-3-0.tar.bz2
rm sherpa-onnx-pyannote-segmentation-3-0.tar.bz2
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/speaker-recongition-models/3dspeaker_speech_eres2net_base_sv_zh-cn_3dspeaker_16k.onnx
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/speaker-segmentation-models/0-four-speakers-zh.wav
log "specify number of clusters"
$EXE \
--clustering.num-clusters=4 \
--segmentation.pyannote-model=./sherpa-onnx-pyannote-segmentation-3-0/model.onnx \
--embedding.model=./3dspeaker_speech_eres2net_base_sv_zh-cn_3dspeaker_16k.onnx \
./0-four-speakers-zh.wav
log "specify threshold for clustering"
$EXE \
--clustering.cluster-threshold=0.90 \
--segmentation.pyannote-model=./sherpa-onnx-pyannote-segmentation-3-0/model.onnx \
--embedding.model=./3dspeaker_speech_eres2net_base_sv_zh-cn_3dspeaker_16k.onnx \
./0-four-speakers-zh.wav
rm -rf sherpa-onnx-pyannote-*
rm -fv *.onnx
rm -fv *.wav
================================================
FILE: .github/scripts/test-speaker-recognition-python.sh
================================================
#!/usr/bin/env bash
set -ex
log() {
# This function is from espnet
local fname=${BASH_SOURCE[1]##*/}
echo -e "$(date '+%Y-%m-%d %H:%M:%S') (${fname}:${BASH_LINENO[0]}:${FUNCNAME[1]}) $*"
}
d=/tmp/sr-models
mkdir -p $d
pushd $d
log "Download test waves"
git clone https://github.com/csukuangfj/sr-data
popd
log "Download wespeaker models"
model_dir=$d/wespeaker
mkdir -p $model_dir
pushd $model_dir
models=(
wespeaker_en_voxceleb_CAM++.onnx
wespeaker_en_voxceleb_CAM++_LM.onnx
wespeaker_en_voxceleb_resnet152_LM.onnx
wespeaker_en_voxceleb_resnet221_LM.onnx
wespeaker_en_voxceleb_resnet293_LM.onnx
wespeaker_en_voxceleb_resnet34.onnx
wespeaker_en_voxceleb_resnet34_LM.onnx
wespeaker_zh_cnceleb_resnet34.onnx
wespeaker_zh_cnceleb_resnet34_LM.onnx
)
for m in ${models[@]}; do
curl -LS -O https://github.com/k2-fsa/sherpa-onnx/releases/download/speaker-recongition-models/$m
curl -LS -O https://github.com/k2-fsa/sherpa-onnx/releases/download/speaker-recongition-models/wespeaker_en_voxceleb_CAM++_LM.onnx
done
ls -lh
popd
log "Download 3d-speaker models"
model_dir=$d/3dspeaker
mkdir -p $model_dir
pushd $model_dir
models=(
3dspeaker_speech_campplus_sv_en_voxceleb_16k.onnx
3dspeaker_speech_campplus_sv_zh-cn_16k-common.onnx
3dspeaker_speech_eres2net_base_200k_sv_zh-cn_16k-common.onnx
3dspeaker_speech_eres2net_base_sv_zh-cn_3dspeaker_16k.onnx
3dspeaker_speech_eres2net_large_sv_zh-cn_3dspeaker_16k.onnx
3dspeaker_speech_eres2net_sv_en_voxceleb_16k.onnx
3dspeaker_speech_eres2net_sv_zh-cn_16k-common.onnx
)
for m in ${models[@]}; do
curl -LS -O https://github.com/k2-fsa/sherpa-onnx/releases/download/speaker-recongition-models/$m
done
ls -lh
popd
log "Download NeMo models"
model_dir=$d/nemo
mkdir -p $model_dir
pushd $model_dir
models=(
nemo_en_titanet_large.onnx
nemo_en_titanet_small.onnx
nemo_en_speakerverification_speakernet.onnx
)
for m in ${models[@]}; do
curl -LS -O https://github.com/k2-fsa/sherpa-onnx/releases/download/speaker-recongition-models/$m
done
ls -lh
popd
python3 sherpa-onnx/python/tests/test_speaker_recognition.py --verbose
================================================
FILE: .github/scripts/test-spoken-language-identification.sh
================================================
#!/usr/bin/env bash
set -e
log() {
# This function is from espnet
local fname=${BASH_SOURCE[1]##*/}
echo -e "$(date '+%Y-%m-%d %H:%M:%S') (${fname}:${BASH_LINENO[0]}:${FUNCNAME[1]}) $*"
}
export GIT_CLONE_PROTECTION_ACTIVE=false
echo "EXE is $EXE"
echo "PATH: $PATH"
which $EXE
names=(
tiny
base
small
medium
)
# all_language_codes=bo,ml,tt,fa,sl,bg,sn,sr,tl,km,ln,mr,hr,eu,ro,ba,bs,pl,as,nn,sk,ko,oc,ar,uz,pa,tg,mk,kk,hi,ha,uk,is,de,el,ja,yo,be,so,tk,id,sa,ru,yi,en,am,cs,ne,la,sv,su,pt,mi,ca,sd,hy,haw,fi,et,kn,da,lt,it,nl,he,mg,ur,tr,af,br,bn,ta,no,my,si,mt,th,gl,sw,mn,jw,ms,ps,fo,ka,hu,zh,ht,az,fr,lo,sq,gu,cy,lv,es,lb,te,vi
log "Download test waves"
waves=(
ar-arabic.wav
bg-bulgarian.wav
cs-czech.wav
da-danish.wav
# de-german.wav
# el-greek.wav
# en-english.wav
# es-spanish.wav
# fa-persian.wav
# fi-finnish.wav
# fr-french.wav
# hi-hindi.wav
# hr-croatian.wav
# id-indonesian.wav
# it-italian.wav
# ja-japanese.wav
# ko-korean.wav
# nl-dutch.wav
# no-norwegian.wav
# po-polish.wav
# pt-portuguese.wav
# ro-romanian.wav
# ru-russian.wav
# sk-slovak.wav
# sv-swedish.wav
# ta-tamil.wav
# tl-tagalog.wav
# tr-turkish.wav
# uk-ukrainian.wav
# zh-chinese.wav
)
for wav in ${waves[@]}; do
echo "Downloading $wav"
curl -SL -O https://hf-mirror.com/spaces/k2-fsa/spoken-language-identification/resolve/main/test_wavs/$wav
ls -lh *.wav
done
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/spoken-language-identification-test-wavs.tar.bz2
tar xvf spoken-language-identification-test-wavs.tar.bz2
rm spoken-language-identification-test-wavs.tar.bz2
data=spoken-language-identification-test-wavs
for name in ${names[@]}; do
log "------------------------------------------------------------"
log "Run $name"
log "------------------------------------------------------------"
repo_url=https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-whisper-$name.tar.bz2
curl -SL -O $repo_url
tar xvf sherpa-onnx-whisper-$name.tar.bz2
rm sherpa-onnx-whisper-$name.tar.bz2
log "Start testing ${repo_url}"
repo=sherpa-onnx-whisper-$name
for wav in ${waves[@]}; do
log "test fp32 onnx"
time $EXE \
--whisper-encoder=$repo/${name}-encoder.onnx \
--whisper-decoder=$repo/${name}-decoder.onnx \
$data/$wav
log "test int8 onnx"
time $EXE \
--whisper-encoder=$repo/${name}-encoder.int8.onnx \
--whisper-decoder=$repo/${name}-decoder.int8.onnx \
$data/$wav
done
rm -rf $repo
done
================================================
FILE: .github/scripts/test-swift.sh
================================================
#!/usr/bin/env bash
set -ex
echo "pwd: $PWD"
cd swift-api-examples
ls -lh
./run-test-version.sh
./run-moonshine-v2-asr.sh
rm -rf sherpa-onnx-moonshine-*
./run-fire-red-asr-ctc.sh
rm -rf sherpa-onnx-fire-red-*
./run-tts-pocket-en.sh
ls -lh
rm -rf sherpa-onnx-pocket-*
./run-tts-supertonic-en.sh
ls -lh
rm -rf sherpa-onnx-supertonic-*
./run-medasr-ctc-asr.sh
rm -rf sherpa-onnx-medasr-*
./run-funasr-nano-asr.sh
rm -rf sherpa-onnx-funasr-nano-*
./run-omnilingual-asr-ctc-asr.sh
rm -rf sherpa-onnx-omnilingual-*
./run-decode-file-t-one-streaming.sh
rm -rf sherpa-onnx-streaming-*
./run-compute-speaker-embeddings.sh
rm -fv *.wav *.onnx
./run-tts-kitten-en.sh
ls -lh
rm -rf kitten-*
./run-wenet-ctc-asr.sh
rm -rf sherpa-onnx-*
./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
./run-dolphin-ctc-asr.sh
rm -rf sherpa-onnx-dolphin-*
./run-speech-enhancement-gtcrn.sh
./run-speech-enhancement-dpdfnet.sh
./run-online-speech-enhancement-gtcrn.sh
./run-online-speech-enhancement-dpdfnet.sh
ls -lh *.wav
./run-fire-red-asr.sh
rm -rf sherpa-onnx-fire-red-asr-*
./run-tts-vits.sh
ls -lh
rm -rf vits-piper-*
./run-tts-kokoro-zh-en.sh
ls -lh
rm -rf kokoro-multi-*
./run-tts-kokoro-en.sh
ls -lh
rm -rf kokoro-en-*
./run-tts-matcha-zh.sh
ls -lh
rm -rf matcha-icefall-*
./run-tts-matcha-en.sh
ls -lh
rm -rf matcha-icefall-*
./run-tts-zipvoice.sh
ls -lh
rm -rf sherpa-onnx-zipvoice-*
rm -f vocos_24khz.onnx
./run-speaker-diarization.sh
rm -rf *.onnx
rm -rf sherpa-onnx-pyannote-segmentation-3-0
rm -fv *.wav
./run-add-punctuations.sh
rm ./add-punctuations
rm -rf sherpa-onnx-punct-ct-transformer-zh-en-vocab272727-2024-04-12
./run-keyword-spotting-from-file.sh
rm ./keyword-spotting-from-file
rm -rf sherpa-onnx-kws-*
./run-streaming-hlg-decode-file.sh
rm ./streaming-hlg-decode-file
rm -rf sherpa-onnx-streaming-zipformer-ctc-small-2024-03-18
./run-spoken-language-identification.sh
rm -rf sherpa-onnx-whisper*
mkdir -p /Users/fangjun/Desktop
pushd /Users/fangjun/Desktop
curl -SL -O https://huggingface.co/csukuangfj/test-data/resolve/main/Obama.wav
ls -lh
popd
./run-generate-subtitles-ten-vad.sh
rm -rf *.onnx
./run-generate-subtitles.sh
rm -rf *.onnx
ls -lh /Users/fangjun/Desktop
cat /Users/fangjun/Desktop/Obama.srt
rm -rf sherpa-onnx-whisper*
rm -f *.onnx
rm /Users/fangjun/Desktop/Obama.wav
./run-decode-file.sh
rm decode-file
sed -i.bak '20d' ./decode-file.swift
./run-decode-file.sh
./run-decode-file-non-streaming.sh
ls -lh
================================================
FILE: .github/workflows/.gitignore
================================================
!*.yaml
================================================
FILE: .github/workflows/aarch64-linux-gnu-shared.yaml
================================================
# Modified from https://github.com/Tencent/ncnn/blob/master/.github/workflows/linux-arm-cpu-gcc.yml
name: aarch64-linux-gnu-shared
on:
push:
branches:
- master
tags:
- 'v[0-9]+.[0-9]+.[0-9]+*'
paths:
- '.github/workflows/aarch64-linux-gnu-shared.yaml'
- 'cmake/**'
- 'sherpa-onnx/csrc/*'
- 'sherpa-onnx/c-api/*'
- 'toolchains/aarch64-linux-gnu.toolchain.cmake'
workflow_dispatch:
concurrency:
group: aarch64-linux-gnu-shared-${{ github.ref }}
cancel-in-progress: true
jobs:
aarch64_linux_gnu_shared:
runs-on: ${{ matrix.os }}
name: aarch64 shared GPU ${{ matrix.gpu }} ${{ matrix.onnxruntime_version }}
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-22.04-arm
gpu: ON
onnxruntime_version: "1.11.0"
- os: ubuntu-22.04-arm
gpu: ON
onnxruntime_version: "1.16.0"
- os: ubuntu-22.04-arm
gpu: ON
onnxruntime_version: "1.18.0"
- os: ubuntu-22.04-arm
gpu: ON
onnxruntime_version: "1.18.1"
- os: ubuntu-22.04-arm
gpu: OFF
onnxruntime_version: ""
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Update version
shell: bash
run: |
./new-release.sh
git diff .
- name: Build sherpa-onnx
if: matrix.gpu == 'ON'
shell: bash
run: |
onnxruntime_version=${{ matrix.onnxruntime_version }}
git clone --depth 1 --branch v1.2.12 https://github.com/alsa-project/alsa-lib
pushd alsa-lib
./gitcompile
popd
p=$PWD
export CPLUS_INCLUDE_PATH=$PWD/alsa-lib/include:$CPLUS_INCLUDE_PATH
export C_INCLUDE_PATH=$PWD/alsa-lib/include:$C_INCLUDE_PATH
export SHERPA_ONNX_ALSA_LIB_DIR=$PWD/alsa-lib/src/.libs
mkdir build
cd build
cmake \
-DALSA_INCLUDE_DIR=$p/alsa-lib/include \
-DALSA_LIBRARY=$p/alsa-lib/src/.libs/libasound.so \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_INSTALL_PREFIX=./install \
-DSHERPA_ONNX_ENABLE_GPU=ON \
-DSHERPA_ONNX_LINUX_ARM64_GPU_ONNXRUNTIME_VERSION=$onnxruntime_version \
..
make -j4 install
cp -v bin/sense-voice-simulate-streaming-alsa-cxx-api install/bin
cp -v bin/zipformer-ctc-simulate-streaming-alsa-cxx-api install/bin
rm -rf install/lib/pkgconfig
rm -fv install/lib/cargs.h
rm -fv install/lib/libcargs.so
- name: Build sherpa-onnx
if: matrix.gpu == 'OFF'
shell: bash
run: |
docker run --rm \
--volume ${{ github.workspace }}/:/k2-fsa/sherpa-onnx \
quay.io/pypa/manylinux2014_aarch64 \
bash -c '
echo "config: ${{ matrix.config }}"
uname -a
which gcc
gcc --version
g++ --version
echo "pwd"
ls -lh
cd /k2-fsa/sherpa-onnx/
git clone --depth 1 --branch v1.2.12 https://github.com/alsa-project/alsa-lib
pushd alsa-lib
./gitcompile
popd
p=$PWD
export CPLUS_INCLUDE_PATH=$PWD/alsa-lib/include:$CPLUS_INCLUDE_PATH
export C_INCLUDE_PATH=$PWD/alsa-lib/include:$C_INCLUDE_PATH
export SHERPA_ONNX_ALSA_LIB_DIR=$PWD/alsa-lib/src/.libs
mkdir build
cd build
cmake \
-DALSA_INCLUDE_DIR=$p/alsa-lib/include \
-DALSA_LIBRARY=$p/alsa-lib/src/.libs/libasound.so \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_INSTALL_PREFIX=./install \
..
make -j4 install
cp -v bin/sense-voice-simulate-streaming-alsa-cxx-api install/bin
cp -v bin/zipformer-ctc-simulate-streaming-alsa-cxx-api install/bin
rm -rf install/lib/pkgconfig
rm -fv install/lib/cargs.h
rm -fv install/lib/libcargs.so
'
- name: Display system info
shell: bash
run: |
uname -a
gcc --version
g++ --version
- name: Display generated files
shell: bash
run: |
cd build/install
ls -lh bin
echo "---"
ls -lh lib
file bin/sherpa-onnx
readelf -d bin/sherpa-onnx
ldd bin/sherpa-onnx
./bin/sherpa-onnx --help
- name: Copy files
shell: bash
run: |
SHERPA_ONNX_VERSION=v$(grep "SHERPA_ONNX_VERSION" ./CMakeLists.txt | cut -d " " -f 2 | cut -d '"' -f 2)
dst=sherpa-onnx-${SHERPA_ONNX_VERSION}-linux-aarch64-shared
if [[ ${{ matrix.gpu }} == OFF ]]; then
dst=${dst}-cpu
else
dst=${dst}-gpu-onnxruntime-${{ matrix.onnxruntime_version }}
fi
mkdir $dst
cp -a build/install/bin $dst/
cp -a build/install/lib $dst/
ls -lh build/install/lib
ls -lh build/install/bin
ls -lh $dst/bin/
echo "strip"
strip $dst/bin/*
echo "after strip"
ls -lh $dst/bin/
tree $dst
tar cjvf ${dst}.tar.bz2 $dst
- uses: actions/upload-artifact@v4
with:
name: sherpa-onnx-linux-aarch64-shared-gpu-${{ matrix.gpu }}-onnxruntime-${{ matrix.onnxruntime_version }}
path: sherpa-onnx-*linux-aarch64-shared*.tar.bz2
# https://huggingface.co/docs/hub/spaces-github-actions
- name: Publish to huggingface
if: (github.repository_owner == 'csukuangfj' || github.repository_owner == 'k2-fsa') && (github.event_name == 'push' || github.event_name == 'workflow_dispatch')
env:
HF_TOKEN: ${{ secrets.HF_TOKEN }}
uses: nick-fields/retry@v3
with:
max_attempts: 20
timeout_seconds: 200
shell: bash
command: |
SHERPA_ONNX_VERSION=$(grep "SHERPA_ONNX_VERSION" ./CMakeLists.txt | cut -d " " -f 2 | cut -d '"' -f 2)
git config --global user.email "csukuangfj@gmail.com"
git config --global user.name "Fangjun Kuang"
rm -rf huggingface
export GIT_CLONE_PROTECTION_ACTIVE=false
GIT_LFS_SKIP_SMUDGE=1 git clone https://csukuangfj2:$HF_TOKEN@huggingface.co/csukuangfj2/sherpa-onnx-libs huggingface
cd huggingface
dst=aarch64/$SHERPA_ONNX_VERSION
mkdir -p $dst
cp -v ../sherpa-onnx-*-shared*.tar.bz2 $dst/
git status
git lfs track "*.bz2"
git add .
git commit -m "upload sherpa-onnx-${SHERPA_ONNX_VERSION}-linux-aarch64-shared.tar.bz2"
git push https://csukuangfj2:$HF_TOKEN@huggingface.co/csukuangfj2/sherpa-onnx-libs main
- name: Release pre-compiled binaries and libs for aarch64 linux
if: github.repository_owner == 'k2-fsa' && github.event_name == 'push' && contains(github.ref, 'refs/tags/')
uses: svenstaro/upload-release-action@v2
with:
file_glob: true
overwrite: true
file: sherpa-onnx-*linux-aarch64*.tar.bz2
- name: Release pre-compiled binaries and libs for aarch64 linux
if: github.repository_owner == 'csukuangfj' && github.event_name == 'push' && contains(github.ref, 'refs/tags/')
uses: svenstaro/upload-release-action@v2
with:
file_glob: true
overwrite: true
file: sherpa-onnx-*linux-aarch64*.tar.bz2
# repo_name: k2-fsa/sherpa-onnx
# repo_token: ${{ secrets.UPLOAD_GH_SHERPA_ONNX_TOKEN }}
# tag: v1.12.17
- name: Test offline Moonshine
if: matrix.build_type != 'Debug'
shell: bash
run: |
du -h -d1 .
export PATH=$PWD/build/install/bin:$PATH
export EXE=sherpa-onnx-offline
ls -lh build/bin/sherpa-onnx-offline
readelf -d build/bin/sherpa-onnx-offline
strings build/bin/sherpa-onnx-offline | grep ^GLIBC
.github/scripts/test-offline-moonshine.sh
================================================
FILE: .github/workflows/aarch64-linux-gnu-static.yaml
================================================
# Modified from https://github.com/Tencent/ncnn/blob/master/.github/workflows/linux-arm-cpu-gcc.yml
name: aarch64-linux-gnu-static
on:
push:
branches:
- master
tags:
- 'v[0-9]+.[0-9]+.[0-9]+*'
paths:
- '.github/workflows/aarch64-linux-gnu-static.yaml'
- 'cmake/**'
- 'sherpa-onnx/csrc/*'
- 'sherpa-onnx/c-api/*'
- 'toolchains/aarch64-linux-gnu.toolchain.cmake'
workflow_dispatch:
concurrency:
group: aarch64-linux-gnu-static-${{ github.ref }}
cancel-in-progress: true
jobs:
aarch64_linux_gnu_static:
runs-on: ${{ matrix.os }}
name: aarch64 static lib test
strategy:
fail-fast: false
matrix:
os: [ubuntu-22.04-arm]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Update version
shell: bash
run: |
./new-release.sh
git diff .
- name: Build sherpa-onnx
shell: bash
run: |
docker run --rm \
--volume ${{ github.workspace }}/:/k2-fsa/sherpa-onnx \
ghcr.io/csukuangfj/manylinux2014-aarch64-gcc11:latest \
bash -c '
echo "config: ${{ matrix.config }}"
uname -a
which gcc
gcc --version
g++ --version
ldd --version
export GCC_ROOT=/opt/gcc-11.4.0
export CC=$GCC_ROOT/bin/gcc
export CXX=$GCC_ROOT/bin/g++
export PATH=$GCC_ROOT/bin:$PATH
gcc --version
which gcc
g++ --version
which g++
ldd --version
echo "pwd"
ls -lh
cd /k2-fsa/sherpa-onnx/
git clone --depth 1 --branch v1.2.12 https://github.com/alsa-project/alsa-lib
pushd alsa-lib
./gitcompile
popd
export CPLUS_INCLUDE_PATH=$PWD/alsa-lib/include:$CPLUS_INCLUDE_PATH
export C_INCLUDE_PATH=$PWD/alsa-lib/include:$C_INCLUDE_PATH
export SHERPA_ONNX_ALSA_LIB_DIR=$PWD/alsa-lib/src/.libs
p=$PWD
mkdir build
cd build
cmake \
-DALSA_INCLUDE_DIR=$p/alsa-lib/include \
-DALSA_LIBRARY=$p/alsa-lib/src/.libs/libasound.so \
-DBUILD_SHARED_LIBS=OFF \
-DCMAKE_INSTALL_PREFIX=./install \
..
make -j 4
make install
cp bin/sense-voice-simulate-streaming-alsa-cxx-api install/bin
cp bin/zipformer-ctc-simulate-streaming-alsa-cxx-api install/bin
ls -lh install/lib
rm -rf install/lib/pkgconfig
rm -fv install/lib/cargs.h
'
- name: Copy files
shell: bash
run: |
SHERPA_ONNX_VERSION=v$(grep "SHERPA_ONNX_VERSION" ./CMakeLists.txt | cut -d " " -f 2 | cut -d '"' -f 2)
dst=sherpa-onnx-${SHERPA_ONNX_VERSION}-linux-aarch64-static
mkdir $dst
ls -lh build/install/lib
cp -a build/install/bin $dst/
ls -lh $dst/bin/
echo "strip"
strip $dst/bin/*
ls -lh $dst/bin/
tree $dst
tar cjvf ${dst}.tar.bz2 $dst
- uses: actions/upload-artifact@v4
with:
name: sherpa-onnx-linux-aarch64-static
path: sherpa-onnx-*linux-aarch64-static.tar.bz2
# https://huggingface.co/docs/hub/spaces-github-actions
- name: Publish to huggingface
if: (github.repository_owner == 'csukuangfj' || github.repository_owner == 'k2-fsa') && (github.event_name == 'push' || github.event_name == 'workflow_dispatch')
env:
HF_TOKEN: ${{ secrets.HF_TOKEN }}
uses: nick-fields/retry@v3
with:
max_attempts: 20
timeout_seconds: 200
shell: bash
command: |
SHERPA_ONNX_VERSION=$(grep "SHERPA_ONNX_VERSION" ./CMakeLists.txt | cut -d " " -f 2 | cut -d '"' -f 2)
git config --global user.email "csukuangfj@gmail.com"
git config --global user.name "Fangjun Kuang"
rm -rf huggingface
export GIT_CLONE_PROTECTION_ACTIVE=false
GIT_LFS_SKIP_SMUDGE=1 git clone https://csukuangfj2:$HF_TOKEN@huggingface.co/csukuangfj2/sherpa-onnx-libs huggingface
cd huggingface
dst=aarch64/$SHERPA_ONNX_VERSION
mkdir -p $dst
cp -v ../sherpa-onnx-*-static.tar.bz2 $dst/
git status
git lfs track "*.bz2"
git add .
git commit -m "upload sherpa-onnx-${SHERPA_ONNX_VERSION}-linux-aarch64-static.tar.bz2"
git push https://csukuangfj2:$HF_TOKEN@huggingface.co/csukuangfj2/sherpa-onnx-libs main
- name: Release pre-compiled binaries and libs for aarch64 linux
if: github.repository_owner == 'k2-fsa' && github.event_name == 'push' && contains(github.ref, 'refs/tags/')
uses: svenstaro/upload-release-action@v2
with:
file_glob: true
overwrite: true
file: sherpa-onnx-*linux-aarch64*.tar.bz2
- name: Release pre-compiled binaries and libs for aarch64 linux
if: github.repository_owner == 'csukuangfj' && github.event_name == 'push' && contains(github.ref, 'refs/tags/')
uses: svenstaro/upload-release-action@v2
with:
file_glob: true
overwrite: true
file: sherpa-onnx-*linux-aarch64*.tar.bz2
# repo_name: k2-fsa/sherpa-onnx
# repo_token: ${{ secrets.UPLOAD_GH_SHERPA_ONNX_TOKEN }}
# tag: v1.11.5
- name: Test offline Moonshine
if: matrix.build_type != 'Debug'
shell: bash
run: |
du -h -d1 .
export PATH=$PWD/build/bin:$PATH
export EXE=sherpa-onnx-offline
ls -lh build/bin/sherpa-onnx-offline
readelf -d build/bin/sherpa-onnx-offline
strings build/bin/sherpa-onnx-offline | grep ^GLIBC
.github/scripts/test-offline-moonshine.sh
================================================
FILE: .github/workflows/add-new-asr-models.yaml
================================================
name: add-new-asr-models
on:
# push:
# branches:
# - new-asr-models
workflow_dispatch:
concurrency:
group: add-new-asr-models-${{ github.ref }}
cancel-in-progress: true
jobs:
add-new-asr-models:
runs-on: ${{ matrix.os }}
name: New asr models
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Download icefall-asr-zipformer-multi-zh-en-2023-11-22
shell: bash
run: |
d=sherpa-onnx-zipformer-zh-en-2023-11-22
mkdir $d
pushd $d
wget -q https://huggingface.co/zrjin/icefall-asr-zipformer-multi-zh-en-2023-11-22/resolve/main/data/lang_bbpe_2000/tokens.txt
wget -q https://huggingface.co/zrjin/icefall-asr-zipformer-multi-zh-en-2023-11-22/resolve/main/data/lang_bbpe_2000/bbpe.model
wget -q https://huggingface.co/zrjin/icefall-asr-zipformer-multi-zh-en-2023-11-22/resolve/main/exp/decoder-epoch-34-avg-19.onnx
wget -q https://huggingface.co/zrjin/icefall-asr-zipformer-multi-zh-en-2023-11-22/resolve/main/exp/encoder-epoch-34-avg-19.int8.onnx
wget -q https://huggingface.co/zrjin/icefall-asr-zipformer-multi-zh-en-2023-11-22/resolve/main/exp/encoder-epoch-34-avg-19.onnx
wget -q https://huggingface.co/zrjin/icefall-asr-zipformer-multi-zh-en-2023-11-22/resolve/main/exp/joiner-epoch-34-avg-19.int8.onnx
wget -q https://huggingface.co/zrjin/icefall-asr-zipformer-multi-zh-en-2023-11-22/resolve/main/exp/joiner-epoch-34-avg-19.onnx
mkdir test_wavs
cd test_wavs
wget -O 0.wav -q https://huggingface.co/zrjin/icefall-asr-zipformer-multi-zh-en-2023-11-22/resolve/main/test_wavs/_1634_210_2577_1_1525157964032_3712259_29.wav
wget -O 1.wav -q https://huggingface.co/zrjin/icefall-asr-zipformer-multi-zh-en-2023-11-22/resolve/main/test_wavs/_1634_210_2577_1_1525157964032_3712259_55.wav
wget -O 2.wav -q https://huggingface.co/zrjin/icefall-asr-zipformer-multi-zh-en-2023-11-22/resolve/main/test_wavs/_1634_210_2577_1_1525157964032_3712259_75.wav
popd
tar cvjf $d.tar.bz2 $d
ls -lh $d
rm -rf $d
- name: Release
uses: svenstaro/upload-release-action@v2
with:
file_glob: true
file: ./*.tar.bz2
overwrite: true
repo_name: k2-fsa/sherpa-onnx
repo_token: ${{ secrets.UPLOAD_GH_SHERPA_ONNX_TOKEN }}
tag: asr-models
================================================
FILE: .github/workflows/android-rknn.yaml
================================================
name: android-rknn
on:
push:
branches:
- master
paths:
- '.github/workflows/android-rknn.yaml'
- 'cmake/**'
- 'sherpa-onnx/csrc/*'
- 'sherpa-onnx/jni/*'
- 'build-android*.sh'
tags:
- 'v[0-9]+.[0-9]+.[0-9]+*'
workflow_dispatch:
concurrency:
group: android-rknn-${{ github.ref }}
cancel-in-progress: true
jobs:
build-android-rknn-libs:
name: Android rknn libs
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
key: ${{ matrix.os }}-android-rknn
- name: Update version
shell: bash
run: |
./new-release.sh
git diff .
- name: Display NDK HOME
shell: bash
run: |
echo "ANDROID_NDK_LATEST_HOME: ${ANDROID_NDK_LATEST_HOME}"
ls -lh ${ANDROID_NDK_LATEST_HOME}
- name: build android arm64-v8a
shell: bash
run: |
export CMAKE_CXX_COMPILER_LAUNCHER=ccache
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
export ANDROID_NDK=$ANDROID_NDK_LATEST_HOME
export SHERPA_ONNX_ENABLE_C_API=ON
export SHERPA_ONNX_ENABLE_RKNN=ON
./build-android-arm64-v8a.sh
mkdir -p jniLibs/arm64-v8a/
cp -v ./build-android-arm64-v8a/install/lib/*.so ./jniLibs/arm64-v8a/
cp -v ./build-android-arm64-v8a/install/lib/README.md ./jniLibs/arm64-v8a/
rm -rf ./build-android-arm64-v8a/
- name: build android armv7-eabi
shell: bash
run: |
export CMAKE_CXX_COMPILER_LAUNCHER=ccache
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
export ANDROID_NDK=$ANDROID_NDK_LATEST_HOME
export SHERPA_ONNX_ENABLE_C_API=ON
export SHERPA_ONNX_ENABLE_RKNN=ON
./build-android-armv7-eabi.sh
mkdir -p ./jniLibs/armeabi-v7a/
cp -v ./build-android-armv7-eabi/install/lib/*.so ./jniLibs/armeabi-v7a/
cp -v ./build-android-armv7-eabi/install/lib/README.md ./jniLibs/armeabi-v7a/
rm -rf ./build-android-armv7-eabi
- name: Copy files
shell: bash
run: |
SHERPA_ONNX_VERSION=v$(grep "SHERPA_ONNX_VERSION" ./CMakeLists.txt | cut -d " " -f 2 | cut -d '"' -f 2)
echo "SHERPA_ONNX_VERSION=$SHERPA_ONNX_VERSION" >> "$GITHUB_ENV"
filename=sherpa-onnx-${SHERPA_ONNX_VERSION}-android-rknn.tar.bz2
tar cjvf $filename ./jniLibs
ls -lh
- uses: actions/upload-artifact@v4
with:
name: sherpa-onnx-android-libs-rknn
path: ./jniLibs
# https://huggingface.co/docs/hub/spaces-github-actions
- name: Publish to huggingface
if: (github.repository_owner == 'csukuangfj' || github.repository_owner == 'k2-fsa') && (github.event_name == 'push' || github.event_name == 'workflow_dispatch')
env:
HF_TOKEN: ${{ secrets.HF_TOKEN }}
uses: nick-fields/retry@v3
with:
max_attempts: 20
timeout_seconds: 200
shell: bash
command: |
git config --global user.email "csukuangfj@gmail.com"
git config --global user.name "Fangjun Kuang"
du -h -d1 .
ls -lh
rm -rf huggingface
export GIT_CLONE_PROTECTION_ACTIVE=false
GIT_LFS_SKIP_SMUDGE=1 git clone https://csukuangfj2:$HF_TOKEN@huggingface.co/csukuangfj2/sherpa-onnx-libs huggingface
cd huggingface
cp -v ../sherpa-onnx-*-android-rknn.tar.bz2 ./
git status
git lfs track "*.bz2"
git add .
git commit -m "upload sherpa-onnx-${SHERPA_ONNX_VERSION}-android.tar.bz2"
git push https://csukuangfj2:$HF_TOKEN@huggingface.co/csukuangfj2/sherpa-onnx-libs main
- name: Release android libs
if: (github.repository_owner == 'csukuangfj' || github.repository_owner == 'k2-fsa') && github.event_name == 'push' && contains(github.ref, 'refs/tags/')
uses: svenstaro/upload-release-action@v2
with:
file_glob: true
overwrite: true
file: sherpa-onnx-*-android-rknn.tar.bz2
# repo_name: k2-fsa/sherpa-onnx
# repo_token: ${{ secrets.UPLOAD_GH_SHERPA_ONNX_TOKEN }}
# tag: v1.12.17
build-android-aar-rknn:
needs: [build-android-rknn-libs]
name: Android rknn AAR
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v4
with:
Showing preview only (207K chars total). Download the full file or copy to clipboard to get everything.
gitextract_zccx8fk8/ ├── .clang-format ├── .clang-tidy ├── .flake8 ├── .github/ │ ├── scripts/ │ │ ├── .gitignore │ │ ├── as-cmake-sub-project/ │ │ │ ├── CMakeLists.txt │ │ │ └── main.cc │ │ ├── export-ascend/ │ │ │ ├── __init__.py │ │ │ ├── generate_paraformer.py │ │ │ ├── generate_sense_voice.py │ │ │ ├── generate_whisper.py │ │ │ └── generate_zipformer_ctc_20250703.py │ │ ├── export-qnn/ │ │ │ ├── __init__.py │ │ │ ├── generate_paraformer.py │ │ │ ├── generate_sense_voice.py │ │ │ └── generate_zipformer.py │ │ ├── node-addon/ │ │ │ ├── README-optional.md │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ ├── notes.md │ │ │ ├── package-optional.json │ │ │ └── package.json │ │ ├── test-audio-tagging.sh │ │ ├── test-c-api.sh │ │ ├── test-cxx-api.sh │ │ ├── test-dart.sh │ │ ├── test-dot-net.sh │ │ ├── test-kws.sh │ │ ├── test-nodejs-addon-npm.sh │ │ ├── test-nodejs-npm.sh │ │ ├── test-offline-ctc.sh │ │ ├── test-offline-fire-red-asr.sh │ │ ├── test-offline-moonshine.sh │ │ ├── test-offline-punctuation.sh │ │ ├── test-offline-source-separation.sh │ │ ├── test-offline-speech-denoiser.sh │ │ ├── test-offline-transducer.sh │ │ ├── test-offline-tts.sh │ │ ├── test-offline-whisper.sh │ │ ├── test-online-ctc.sh │ │ ├── test-online-paraformer.sh │ │ ├── test-online-punctuation.sh │ │ ├── test-online-transducer.sh │ │ ├── test-python.sh │ │ ├── test-rust.sh │ │ ├── test-speaker-diarization.sh │ │ ├── test-speaker-recognition-python.sh │ │ ├── test-spoken-language-identification.sh │ │ └── test-swift.sh │ └── workflows/ │ ├── .gitignore │ ├── aarch64-linux-gnu-shared.yaml │ ├── aarch64-linux-gnu-static.yaml │ ├── add-new-asr-models.yaml │ ├── android-rknn.yaml │ ├── android-static.yaml │ ├── android.yaml │ ├── apk-asr-2pass.yaml │ ├── apk-asr.yaml │ ├── apk-audio-tagging-wearos.yaml │ ├── apk-audio-tagging.yaml │ ├── apk-kws.yaml │ ├── apk-qnn-vad-asr-simulated-streaming.yaml │ ├── apk-speaker-diarization.yaml │ ├── apk-speaker-identification.yaml │ ├── apk-spoken-language-identification.yaml │ ├── apk-tts-engine.yaml │ ├── apk-tts.yaml │ ├── apk-vad-asr-simulated-streaming.yaml │ ├── apk-vad-asr.yaml │ ├── apk-vad.yaml │ ├── arm-linux-gnueabihf.yaml │ ├── as_cmake_sub_project.yaml │ ├── ascend.yaml │ ├── axcl-linux-aarch64.yaml │ ├── axera-linux-aarch64.yaml │ ├── build-wheels-aarch64-cuda.yaml │ ├── build-wheels-aarch64-rknn.yaml │ ├── build-wheels-aarch64.yaml │ ├── build-wheels-armv7l.yaml │ ├── build-wheels-linux-cuda.yaml │ ├── build-wheels-linux.yaml │ ├── build-wheels-macos-arm64.yaml │ ├── build-wheels-macos-universal2.yaml │ ├── build-wheels-macos-x64.yaml │ ├── build-wheels-win32.yaml │ ├── build-wheels-win64-cuda.yaml │ ├── build-wheels-win64.yaml │ ├── build-xcframework.yaml │ ├── c-api-from-buffer.yaml │ ├── c-api.yaml │ ├── checksum.yaml │ ├── clang-tidy.yaml │ ├── cxx-api.yaml │ ├── dot-net.yaml │ ├── export-3dspeaker-to-onnx.yaml │ ├── export-ced-to-onnx.yaml │ ├── export-dophin-ctc-to-onnx.yaml │ ├── export-fire-red-asr.yaml │ ├── export-gtcrn.yaml │ ├── export-kitten.yaml │ ├── export-kokoro.yaml │ ├── export-libriheavy.yaml │ ├── export-matcha-fa-en.yaml │ ├── export-matcha-zh-en.yaml │ ├── export-medasr-ctc-to-onnx.yaml │ ├── export-melo-tts-to-onnx.yaml │ ├── export-moonshine-to-onnx.yaml │ ├── export-nemo-canary-180m-flash.yaml │ ├── export-nemo-fast-conformer-hybrid-transducer-ctc-non-streaming.yaml │ ├── export-nemo-fast-conformer-hybrid-transducer-ctc.yaml │ ├── export-nemo-fast-conformer-hybrid-transducer-transducer-non-streaming.yaml │ ├── export-nemo-fast-conformer-hybrid-transducer-transducer.yaml │ ├── export-nemo-giga-am-to-onnx.yaml │ ├── export-nemo-parakeet-tdt-0.6b-v2.yaml │ ├── export-nemo-parakeet-tdt.yaml │ ├── export-nemo-speaker-verification-to-onnx.yaml │ ├── export-nemotron-speech-streaming-en-0.6b.yaml │ ├── export-omnilingual-asr-to-onnx.yaml │ ├── export-paraformer-to-ascend-npu.yaml │ ├── export-paraformer-to-qnn.yaml │ ├── export-paraformer-to-rknn.yaml │ ├── export-peng-cheng-starling.yaml │ ├── export-piper.yaml │ ├── export-pocket-tts.yaml │ ├── export-pyannote-segmentation-to-onnx.yaml │ ├── export-revai-segmentation-to-onnx.yaml │ ├── export-russian-onnx-models.yaml │ ├── export-sense-voice-to-ascend-npu.yaml │ ├── export-sense-voice-to-onnx.yaml │ ├── export-sense-voice-to-qnn.yaml │ ├── export-sense-voice-to-rknn.yaml │ ├── export-silero-vad-rknn.yaml │ ├── export-spleeter-to-onnx.yaml │ ├── export-supertonic.yaml │ ├── export-t-one-to-onnx.yaml │ ├── export-telespeech-ctc.yaml │ ├── export-uvr-to-onnx.yaml │ ├── export-vits-ljspeech-to-onnx.yaml │ ├── export-vocos.yaml │ ├── export-wenet-to-onnx.yaml │ ├── export-wespeaker-to-onnx.yaml │ ├── export-whisper-to-ascend-npu.yaml │ ├── export-whisper-to-onnx.yaml │ ├── export-zipformer-ctc-to-ascend-20250703.yaml │ ├── export-zipformer-ctc-to-qnn-20250703.yaml │ ├── flutter-android.yaml │ ├── flutter-linux.yaml │ ├── flutter-macos.yaml │ ├── flutter-windows-x64.yaml │ ├── generate-tts-samples.yaml │ ├── hap-vad-asr.yaml │ ├── har.yaml │ ├── harmony-os.yaml │ ├── jar.yaml │ ├── jni.yaml │ ├── lazarus.yaml │ ├── linux-gpu.yaml │ ├── linux-jni-aarch64.yaml │ ├── linux-jni.yaml │ ├── linux.yaml │ ├── macos-jni.yaml │ ├── macos.yaml │ ├── mfc.yaml │ ├── mobile-asr-models.yaml │ ├── mobile-kws-models.yaml │ ├── nightly-wheel-arm.yaml │ ├── npm-addon-linux-aarch64.yaml │ ├── npm-addon-linux-x64.yaml │ ├── npm-addon-macos.yaml │ ├── npm-addon-win-x64.yaml │ ├── npm-addon-win-x86.yaml │ ├── npm-addon.yaml │ ├── npm.yaml │ ├── pascal.yaml │ ├── pkg-config.yaml │ ├── release-dart-package.yaml │ ├── release-go.yaml │ ├── release-rust.yaml │ ├── riscv64-linux.yaml │ ├── riscv64-spacemit-linux.yaml │ ├── rknn-linux-aarch64.yaml │ ├── run-java-test.yaml │ ├── run-python-test-macos.yaml │ ├── run-python-test.yaml │ ├── sanitizer.yaml │ ├── speaker-diarization.yaml │ ├── style_check.yaml │ ├── swift.yaml │ ├── test-build-wheel.yaml │ ├── test-dart-package.yaml │ ├── test-dart.yaml │ ├── test-dot-net-nuget.yaml │ ├── test-dot-net.yaml │ ├── test-go-package.yaml │ ├── test-go.yaml │ ├── test-nodejs-addon-api.yaml │ ├── test-nodejs-addon-npm-aarch64.yaml │ ├── test-nodejs-addon-npm-win-x86.yaml │ ├── test-nodejs-addon-npm.yaml │ ├── test-nodejs-npm.yaml │ ├── test-nodejs.yaml │ ├── test-onnxruntime-version.yaml │ ├── test-pip-install.yaml │ ├── test-piper-phonemize.yaml │ ├── test-python-offline-websocket-server.yaml │ ├── test-python-online-websocket-server.yaml │ ├── test-rust-package.yaml │ ├── test-rust.yaml │ ├── upload-models.yaml │ ├── upload-zipvoice-models.yaml │ ├── wasm-simd-hf-space-en-asr-zipformer.yaml │ ├── wasm-simd-hf-space-silero-vad.yaml │ ├── wasm-simd-hf-space-speaker-diarization.yaml │ ├── wasm-simd-hf-space-speech-enhancement-gtcrn.yaml │ ├── wasm-simd-hf-space-ten-vad.yaml │ ├── wasm-simd-hf-space-tts.yaml │ ├── wasm-simd-hf-space-vad-asr.yaml │ ├── wasm-simd-hf-space-zh-cantonese-en-asr-paraformer.yaml │ ├── wasm-simd-hf-space-zh-en-asr-paraformer.yaml │ ├── wasm-simd-hf-space-zh-en-asr-zipformer.yaml │ ├── windows-arm64.yaml │ ├── windows-x64-cuda.yaml │ ├── windows-x64-jni.yaml │ ├── windows-x64.yaml │ └── windows-x86.yaml ├── .gitignore ├── CHANGELOG.md ├── CMakeLists.txt ├── CPPLINT.cfg ├── LICENSE ├── MANIFEST.in ├── README.md ├── android/ │ ├── .gitignore │ ├── README.md │ ├── SherpaOnnx/ │ │ ├── .gitignore │ │ ├── app/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── k2fsa/ │ │ │ │ └── sherpa/ │ │ │ │ └── onnx/ │ │ │ │ └── ExampleInstrumentedTest.kt │ │ │ ├── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── k2fsa/ │ │ │ │ │ └── sherpa/ │ │ │ │ │ └── onnx/ │ │ │ │ │ └── MainActivity.kt │ │ │ │ ├── jniLibs/ │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── arm64-v8a/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── armeabi-v7a/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── x86/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ └── x86_64/ │ │ │ │ │ └── .gitkeep │ │ │ │ └── res/ │ │ │ │ ├── drawable/ │ │ │ │ │ └── ic_launcher_background.xml │ │ │ │ ├── drawable-v24/ │ │ │ │ │ └── ic_launcher_foreground.xml │ │ │ │ ├── layout/ │ │ │ │ │ └── activity_main.xml │ │ │ │ ├── mipmap-anydpi-v26/ │ │ │ │ │ ├── ic_launcher.xml │ │ │ │ │ └── ic_launcher_round.xml │ │ │ │ ├── values/ │ │ │ │ │ ├── colors.xml │ │ │ │ │ ├── strings.xml │ │ │ │ │ └── themes.xml │ │ │ │ ├── values-night/ │ │ │ │ │ └── themes.xml │ │ │ │ └── xml/ │ │ │ │ ├── backup_rules.xml │ │ │ │ └── data_extraction_rules.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── k2fsa/ │ │ │ └── sherpa/ │ │ │ └── onnx/ │ │ │ └── ExampleUnitTest.kt │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── settings.gradle │ ├── SherpaOnnx2Pass/ │ │ ├── .gitignore │ │ ├── app/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── k2fsa/ │ │ │ │ └── sherpa/ │ │ │ │ └── onnx/ │ │ │ │ └── ExampleInstrumentedTest.kt │ │ │ ├── main/ │ │ │ │ ├── .gitignore │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── assets/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── k2fsa/ │ │ │ │ │ └── sherpa/ │ │ │ │ │ └── onnx/ │ │ │ │ │ └── MainActivity.kt │ │ │ │ ├── jniLibs/ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ ├── arm64-v8a/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── armeabi-v7a/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── x86/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ └── x86_64/ │ │ │ │ │ └── .gitkeep │ │ │ │ └── res/ │ │ │ │ ├── drawable/ │ │ │ │ │ └── ic_launcher_background.xml │ │ │ │ ├── drawable-v24/ │ │ │ │ │ └── ic_launcher_foreground.xml │ │ │ │ ├── layout/ │ │ │ │ │ └── activity_main.xml │ │ │ │ ├── mipmap-anydpi-v26/ │ │ │ │ │ ├── ic_launcher.xml │ │ │ │ │ └── ic_launcher_round.xml │ │ │ │ ├── values/ │ │ │ │ │ ├── colors.xml │ │ │ │ │ ├── strings.xml │ │ │ │ │ └── themes.xml │ │ │ │ ├── values-night/ │ │ │ │ │ └── themes.xml │ │ │ │ └── xml/ │ │ │ │ ├── backup_rules.xml │ │ │ │ └── data_extraction_rules.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── k2fsa/ │ │ │ └── sherpa/ │ │ │ └── onnx/ │ │ │ └── ExampleUnitTest.kt │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── settings.gradle │ ├── SherpaOnnxAar/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── build.gradle.kts │ │ ├── gradle/ │ │ │ ├── libs.versions.toml │ │ │ └── wrapper/ │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── settings.gradle.kts │ │ └── sherpa_onnx/ │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── consumer-rules.pro │ │ ├── proguard-rules.pro │ │ └── src/ │ │ ├── androidTest/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── k2fsa/ │ │ │ └── sherpa/ │ │ │ └── onnx/ │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main/ │ │ │ ├── AndroidManifest.xml │ │ │ └── jniLibs/ │ │ │ ├── arm64-v8a/ │ │ │ │ └── .gitkeep │ │ │ ├── armeabi-v7a/ │ │ │ │ └── .gitkeep │ │ │ ├── x86/ │ │ │ │ └── .gitkeep │ │ │ └── x86_64/ │ │ │ └── .gitkeep │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── k2fsa/ │ │ └── sherpa/ │ │ └── onnx/ │ │ └── ExampleUnitTest.kt │ ├── SherpaOnnxAudioTagging/ │ │ ├── .gitignore │ │ ├── app/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle.kts │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── k2fsa/ │ │ │ │ └── sherpa/ │ │ │ │ └── onnx/ │ │ │ │ └── audio/ │ │ │ │ └── tagging/ │ │ │ │ └── ExampleInstrumentedTest.kt │ │ │ ├── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── assets/ │ │ │ │ │ └── .gitignore │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── k2fsa/ │ │ │ │ │ └── sherpa/ │ │ │ │ │ └── onnx/ │ │ │ │ │ └── audio/ │ │ │ │ │ └── tagging/ │ │ │ │ │ ├── Home.kt │ │ │ │ │ ├── MainActivity.kt │ │ │ │ │ ├── Tagger.kt │ │ │ │ │ └── ui/ │ │ │ │ │ └── theme/ │ │ │ │ │ ├── Color.kt │ │ │ │ │ ├── Theme.kt │ │ │ │ │ └── Type.kt │ │ │ │ ├── jniLibs/ │ │ │ │ │ ├── arm64-v8a/ │ │ │ │ │ │ └── .gitignore │ │ │ │ │ ├── armeabi-v7a/ │ │ │ │ │ │ └── .gitignore │ │ │ │ │ ├── x86/ │ │ │ │ │ │ └── .gitignore │ │ │ │ │ └── x86_64/ │ │ │ │ │ └── .gitignore │ │ │ │ └── res/ │ │ │ │ ├── drawable/ │ │ │ │ │ └── ic_launcher_background.xml │ │ │ │ ├── drawable-v24/ │ │ │ │ │ └── ic_launcher_foreground.xml │ │ │ │ ├── mipmap-anydpi-v26/ │ │ │ │ │ ├── ic_launcher.xml │ │ │ │ │ └── ic_launcher_round.xml │ │ │ │ ├── values/ │ │ │ │ │ ├── colors.xml │ │ │ │ │ ├── strings.xml │ │ │ │ │ └── themes.xml │ │ │ │ └── xml/ │ │ │ │ ├── backup_rules.xml │ │ │ │ └── data_extraction_rules.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── k2fsa/ │ │ │ └── sherpa/ │ │ │ └── onnx/ │ │ │ └── audio/ │ │ │ └── tagging/ │ │ │ └── ExampleUnitTest.kt │ │ ├── build.gradle.kts │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── settings.gradle.kts │ ├── SherpaOnnxAudioTaggingWearOs/ │ │ ├── .gitignore │ │ ├── app/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle.kts │ │ │ ├── lint.xml │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── assets/ │ │ │ │ └── .gitignore │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── k2fsa/ │ │ │ │ └── sherpa/ │ │ │ │ └── onnx/ │ │ │ │ └── audio/ │ │ │ │ └── tagging/ │ │ │ │ └── wear/ │ │ │ │ └── os/ │ │ │ │ └── presentation/ │ │ │ │ ├── HomeScreen.kt │ │ │ │ ├── MainActivity.kt │ │ │ │ └── theme/ │ │ │ │ └── Theme.kt │ │ │ ├── jniLibs/ │ │ │ │ ├── arm64-v8a/ │ │ │ │ │ └── .gitignore │ │ │ │ ├── armeabi-v7a/ │ │ │ │ │ └── .gitignore │ │ │ │ ├── x86/ │ │ │ │ │ └── .gitignore │ │ │ │ └── x86_64/ │ │ │ │ └── .gitignore │ │ │ └── res/ │ │ │ ├── drawable/ │ │ │ │ └── splash_icon.xml │ │ │ ├── values/ │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── values-round/ │ │ │ └── strings.xml │ │ ├── build.gradle.kts │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── settings.gradle.kts │ ├── SherpaOnnxJavaDemo/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── app/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── assets/ │ │ │ │ └── .gitkeep │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── k2fsa/ │ │ │ │ └── sherpa/ │ │ │ │ └── onnx/ │ │ │ │ ├── AppViewModel.java │ │ │ │ ├── Application.java │ │ │ │ ├── MainActivity.java │ │ │ │ └── service/ │ │ │ │ └── SpeechSherpaRecognitionService.java │ │ │ └── res/ │ │ │ ├── drawable/ │ │ │ │ ├── ic_bg_mic_24.xml │ │ │ │ └── ic_launcher_background.xml │ │ │ ├── drawable-v24/ │ │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── layout/ │ │ │ │ └── activity_main.xml │ │ │ ├── mipmap-anydpi-v26/ │ │ │ │ ├── ic_launcher.xml │ │ │ │ └── ic_launcher_round.xml │ │ │ ├── values/ │ │ │ │ ├── colors.xml │ │ │ │ ├── strings.xml │ │ │ │ └── themes.xml │ │ │ ├── values-night/ │ │ │ │ └── themes.xml │ │ │ └── xml/ │ │ │ ├── backup_rules.xml │ │ │ └── data_extraction_rules.xml │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── settings.gradle │ ├── SherpaOnnxKws/ │ │ ├── .gitignore │ │ ├── app/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── k2fsa/ │ │ │ │ └── sherpa/ │ │ │ │ └── onnx/ │ │ │ │ └── ExampleInstrumentedTest.kt │ │ │ ├── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── assets/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── k2fsa/ │ │ │ │ │ └── sherpa/ │ │ │ │ │ └── onnx/ │ │ │ │ │ └── MainActivity.kt │ │ │ │ ├── jniLibs/ │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── arm64-v8a/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── armeabi-v7a/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── x86/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ └── x86_64/ │ │ │ │ │ └── .gitkeep │ │ │ │ └── res/ │ │ │ │ ├── drawable/ │ │ │ │ │ └── ic_launcher_background.xml │ │ │ │ ├── drawable-v24/ │ │ │ │ │ └── ic_launcher_foreground.xml │ │ │ │ ├── layout/ │ │ │ │ │ └── activity_main.xml │ │ │ │ ├── mipmap-anydpi-v26/ │ │ │ │ │ ├── ic_launcher.xml │ │ │ │ │ └── ic_launcher_round.xml │ │ │ │ ├── values/ │ │ │ │ │ ├── colors.xml │ │ │ │ │ ├── strings.xml │ │ │ │ │ └── themes.xml │ │ │ │ ├── values-night/ │ │ │ │ │ └── themes.xml │ │ │ │ └── xml/ │ │ │ │ ├── backup_rules.xml │ │ │ │ └── data_extraction_rules.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── k2fsa/ │ │ │ └── sherpa/ │ │ │ └── onnx/ │ │ │ └── ExampleUnitTest.kt │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── settings.gradle │ ├── SherpaOnnxSimulateStreamingAsr/ │ │ ├── .gitignore │ │ ├── app/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle.kts │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── k2fsa/ │ │ │ │ └── sherpa/ │ │ │ │ └── onnx/ │ │ │ │ └── simulate/ │ │ │ │ └── streaming/ │ │ │ │ └── asr/ │ │ │ │ └── ExampleInstrumentedTest.kt │ │ │ ├── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── assets/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── k2fsa/ │ │ │ │ │ └── sherpa/ │ │ │ │ │ └── onnx/ │ │ │ │ │ └── simulate/ │ │ │ │ │ └── streaming/ │ │ │ │ │ └── asr/ │ │ │ │ │ ├── BarItem.kt │ │ │ │ │ ├── MainActivity.kt │ │ │ │ │ ├── NavBarItems.kt │ │ │ │ │ ├── NavRoutes.kt │ │ │ │ │ ├── SimulateStreamingAsr.kt │ │ │ │ │ ├── screens/ │ │ │ │ │ │ ├── Help.kt │ │ │ │ │ │ └── Home.kt │ │ │ │ │ └── ui/ │ │ │ │ │ └── theme/ │ │ │ │ │ ├── Color.kt │ │ │ │ │ ├── Theme.kt │ │ │ │ │ └── Type.kt │ │ │ │ ├── jniLibs/ │ │ │ │ │ ├── arm64-v8a/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── armeabi-v7a/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── x86/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ └── x86_64/ │ │ │ │ │ └── .gitkeep │ │ │ │ └── res/ │ │ │ │ ├── drawable/ │ │ │ │ │ └── ic_launcher_background.xml │ │ │ │ ├── drawable-v24/ │ │ │ │ │ └── ic_launcher_foreground.xml │ │ │ │ ├── mipmap-anydpi-v26/ │ │ │ │ │ ├── ic_launcher.xml │ │ │ │ │ └── ic_launcher_round.xml │ │ │ │ ├── values/ │ │ │ │ │ ├── colors.xml │ │ │ │ │ ├── strings.xml │ │ │ │ │ └── themes.xml │ │ │ │ └── xml/ │ │ │ │ ├── backup_rules.xml │ │ │ │ └── data_extraction_rules.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── k2fsa/ │ │ │ └── sherpa/ │ │ │ └── onnx/ │ │ │ └── simulate/ │ │ │ └── streaming/ │ │ │ └── asr/ │ │ │ └── ExampleUnitTest.kt │ │ ├── build.gradle.kts │ │ ├── gradle/ │ │ │ ├── libs.versions.toml │ │ │ └── wrapper/ │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── settings.gradle.kts │ ├── SherpaOnnxSimulateStreamingAsrWearOs/ │ │ ├── .gitignore │ │ ├── app/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle.kts │ │ │ ├── lint.xml │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── assets/ │ │ │ │ └── .gitignore │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── k2fsa/ │ │ │ │ └── sherpa/ │ │ │ │ └── onnx/ │ │ │ │ └── simulate/ │ │ │ │ └── streaming/ │ │ │ │ └── asr/ │ │ │ │ └── wear/ │ │ │ │ └── os/ │ │ │ │ └── presentation/ │ │ │ │ ├── HomeScreen.kt │ │ │ │ ├── MainActivity.kt │ │ │ │ ├── SimulateStreamingAsr.kt │ │ │ │ └── theme/ │ │ │ │ └── Theme.kt │ │ │ └── res/ │ │ │ ├── drawable/ │ │ │ │ └── splash_icon.xml │ │ │ ├── values/ │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── values-round/ │ │ │ └── strings.xml │ │ ├── build.gradle.kts │ │ ├── gradle/ │ │ │ ├── libs.versions.toml │ │ │ └── wrapper/ │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── settings.gradle.kts │ ├── SherpaOnnxSpeakerDiarization/ │ │ ├── .gitignore │ │ ├── app/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle.kts │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── k2fsa/ │ │ │ │ └── sherpa/ │ │ │ │ └── onnx/ │ │ │ │ └── speaker/ │ │ │ │ └── diarization/ │ │ │ │ └── ExampleInstrumentedTest.kt │ │ │ ├── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── assets/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── k2fsa/ │ │ │ │ │ └── sherpa/ │ │ │ │ │ └── onnx/ │ │ │ │ │ └── speaker/ │ │ │ │ │ └── diarization/ │ │ │ │ │ ├── BarItem.kt │ │ │ │ │ ├── MainActivity.kt │ │ │ │ │ ├── NavBarItems.kt │ │ │ │ │ ├── NavRoutes.kt │ │ │ │ │ ├── ReadWaveFile.kt │ │ │ │ │ ├── SpeakerDiarizationObject.kt │ │ │ │ │ ├── screens/ │ │ │ │ │ │ ├── Help.kt │ │ │ │ │ │ └── Home.kt │ │ │ │ │ └── ui/ │ │ │ │ │ └── theme/ │ │ │ │ │ ├── Color.kt │ │ │ │ │ ├── Theme.kt │ │ │ │ │ └── Type.kt │ │ │ │ ├── jniLibs/ │ │ │ │ │ ├── arm64-v8a/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── armeabi-v7a/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── x86/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ └── x86_64/ │ │ │ │ │ └── .gitkeep │ │ │ │ └── res/ │ │ │ │ ├── drawable/ │ │ │ │ │ └── ic_launcher_background.xml │ │ │ │ ├── drawable-v24/ │ │ │ │ │ └── ic_launcher_foreground.xml │ │ │ │ ├── mipmap-anydpi-v26/ │ │ │ │ │ ├── ic_launcher.xml │ │ │ │ │ └── ic_launcher_round.xml │ │ │ │ ├── values/ │ │ │ │ │ ├── colors.xml │ │ │ │ │ ├── strings.xml │ │ │ │ │ └── themes.xml │ │ │ │ └── xml/ │ │ │ │ ├── backup_rules.xml │ │ │ │ └── data_extraction_rules.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── k2fsa/ │ │ │ └── sherpa/ │ │ │ └── onnx/ │ │ │ └── speaker/ │ │ │ └── diarization/ │ │ │ └── ExampleUnitTest.kt │ │ ├── build.gradle.kts │ │ ├── gradle/ │ │ │ ├── libs.versions.toml │ │ │ └── wrapper/ │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── settings.gradle.kts │ ├── SherpaOnnxSpeakerIdentification/ │ │ ├── .gitignore │ │ ├── app/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle.kts │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── k2fsa/ │ │ │ │ └── sherpa/ │ │ │ │ └── onnx/ │ │ │ │ └── speaker/ │ │ │ │ └── identification/ │ │ │ │ └── ExampleInstrumentedTest.kt │ │ │ ├── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── assets/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── k2fsa/ │ │ │ │ │ └── sherpa/ │ │ │ │ │ └── onnx/ │ │ │ │ │ └── speaker/ │ │ │ │ │ └── identification/ │ │ │ │ │ ├── BarItem.kt │ │ │ │ │ ├── MainActivity.kt │ │ │ │ │ ├── NavBarItems.kt │ │ │ │ │ ├── NavRoutes.kt │ │ │ │ │ ├── screens/ │ │ │ │ │ │ ├── Help.kt │ │ │ │ │ │ ├── Home.kt │ │ │ │ │ │ ├── Register.kt │ │ │ │ │ │ └── View.kt │ │ │ │ │ └── ui/ │ │ │ │ │ └── theme/ │ │ │ │ │ ├── Color.kt │ │ │ │ │ ├── Theme.kt │ │ │ │ │ └── Type.kt │ │ │ │ ├── jniLibs/ │ │ │ │ │ ├── arm64-v8a/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── armeabi-v7a/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── x86/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ └── x86_64/ │ │ │ │ │ └── .gitkeep │ │ │ │ └── res/ │ │ │ │ ├── drawable/ │ │ │ │ │ └── ic_launcher_background.xml │ │ │ │ ├── drawable-v24/ │ │ │ │ │ └── ic_launcher_foreground.xml │ │ │ │ ├── mipmap-anydpi-v26/ │ │ │ │ │ ├── ic_launcher.xml │ │ │ │ │ └── ic_launcher_round.xml │ │ │ │ ├── values/ │ │ │ │ │ ├── colors.xml │ │ │ │ │ ├── strings.xml │ │ │ │ │ └── themes.xml │ │ │ │ └── xml/ │ │ │ │ ├── backup_rules.xml │ │ │ │ └── data_extraction_rules.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── k2fsa/ │ │ │ └── sherpa/ │ │ │ └── onnx/ │ │ │ └── speaker/ │ │ │ └── identification/ │ │ │ └── ExampleUnitTest.kt │ │ ├── build.gradle.kts │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── settings.gradle.kts │ ├── SherpaOnnxSpokenLanguageIdentification/ │ │ ├── .gitignore │ │ ├── app/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle.kts │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── k2fsa/ │ │ │ │ └── sherpa/ │ │ │ │ └── onnx/ │ │ │ │ └── slid/ │ │ │ │ └── ExampleInstrumentedTest.kt │ │ │ ├── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── assets/ │ │ │ │ │ └── .gitignore │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── k2fsa/ │ │ │ │ │ └── sherpa/ │ │ │ │ │ └── onnx/ │ │ │ │ │ └── slid/ │ │ │ │ │ ├── Home.kt │ │ │ │ │ ├── MainActivity.kt │ │ │ │ │ ├── slid.kt │ │ │ │ │ └── ui/ │ │ │ │ │ └── theme/ │ │ │ │ │ ├── Color.kt │ │ │ │ │ ├── Theme.kt │ │ │ │ │ └── Type.kt │ │ │ │ ├── jniLibs/ │ │ │ │ │ ├── arm64-v8a/ │ │ │ │ │ │ └── .gitignore │ │ │ │ │ ├── armeabi-v7a/ │ │ │ │ │ │ └── .gitignore │ │ │ │ │ ├── x86/ │ │ │ │ │ │ └── .gitignore │ │ │ │ │ └── x86_64/ │ │ │ │ │ └── .gitignore │ │ │ │ └── res/ │ │ │ │ ├── drawable/ │ │ │ │ │ └── ic_launcher_background.xml │ │ │ │ ├── drawable-v24/ │ │ │ │ │ └── ic_launcher_foreground.xml │ │ │ │ ├── mipmap-anydpi-v26/ │ │ │ │ │ ├── ic_launcher.xml │ │ │ │ │ └── ic_launcher_round.xml │ │ │ │ ├── values/ │ │ │ │ │ ├── colors.xml │ │ │ │ │ ├── strings.xml │ │ │ │ │ └── themes.xml │ │ │ │ └── xml/ │ │ │ │ ├── backup_rules.xml │ │ │ │ └── data_extraction_rules.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── k2fsa/ │ │ │ └── sherpa/ │ │ │ └── onnx/ │ │ │ └── slid/ │ │ │ └── ExampleUnitTest.kt │ │ ├── build.gradle.kts │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── settings.gradle.kts │ ├── SherpaOnnxTts/ │ │ ├── .gitignore │ │ ├── app/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── k2fsa/ │ │ │ │ └── sherpa/ │ │ │ │ └── onnx/ │ │ │ │ └── ExampleInstrumentedTest.kt │ │ │ ├── main/ │ │ │ │ ├── .gitignore │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── assets/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── k2fsa/ │ │ │ │ │ └── sherpa/ │ │ │ │ │ └── onnx/ │ │ │ │ │ └── MainActivity.kt │ │ │ │ ├── jniLibs/ │ │ │ │ │ ├── arm64-v8a/ │ │ │ │ │ │ └── .gitignore │ │ │ │ │ ├── armeabi-v7a/ │ │ │ │ │ │ └── .gitignore │ │ │ │ │ ├── x86/ │ │ │ │ │ │ └── .gitignore │ │ │ │ │ └── x86_64/ │ │ │ │ │ └── .gitignore │ │ │ │ └── res/ │ │ │ │ ├── drawable/ │ │ │ │ │ └── ic_launcher_background.xml │ │ │ │ ├── drawable-v24/ │ │ │ │ │ └── ic_launcher_foreground.xml │ │ │ │ ├── layout/ │ │ │ │ │ └── activity_main.xml │ │ │ │ ├── mipmap-anydpi-v26/ │ │ │ │ │ ├── ic_launcher.xml │ │ │ │ │ └── ic_launcher_round.xml │ │ │ │ ├── values/ │ │ │ │ │ ├── colors.xml │ │ │ │ │ ├── strings.xml │ │ │ │ │ └── themes.xml │ │ │ │ ├── values-night/ │ │ │ │ │ └── themes.xml │ │ │ │ └── xml/ │ │ │ │ ├── backup_rules.xml │ │ │ │ └── data_extraction_rules.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── k2fsa/ │ │ │ └── sherpa/ │ │ │ └── onnx/ │ │ │ └── ExampleUnitTest.kt │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── settings.gradle │ ├── SherpaOnnxTtsEngine/ │ │ ├── .gitignore │ │ ├── app/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle.kts │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── k2fsa/ │ │ │ │ └── sherpa/ │ │ │ │ └── onnx/ │ │ │ │ └── tts/ │ │ │ │ └── engine/ │ │ │ │ └── ExampleInstrumentedTest.kt │ │ │ ├── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── assets/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── k2fsa/ │ │ │ │ │ └── sherpa/ │ │ │ │ │ └── onnx/ │ │ │ │ │ └── tts/ │ │ │ │ │ └── engine/ │ │ │ │ │ ├── CheckVoiceData.kt │ │ │ │ │ ├── GetSampleText.kt │ │ │ │ │ ├── InstallVoiceData.kt │ │ │ │ │ ├── MainActivity.kt │ │ │ │ │ ├── PreferencesHelper.kt │ │ │ │ │ ├── TtsEngine.kt │ │ │ │ │ ├── TtsService.kt │ │ │ │ │ ├── TtsViewModel.kt │ │ │ │ │ └── ui/ │ │ │ │ │ └── theme/ │ │ │ │ │ ├── Color.kt │ │ │ │ │ ├── Theme.kt │ │ │ │ │ └── Type.kt │ │ │ │ ├── jniLibs/ │ │ │ │ │ ├── arm64-v8a/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── armeabi-v7a/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── x86/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ └── x86_64/ │ │ │ │ │ └── .gitkeep │ │ │ │ └── res/ │ │ │ │ ├── drawable-v24/ │ │ │ │ │ └── ic_launcher_foreground.xml │ │ │ │ ├── mipmap-anydpi-v26/ │ │ │ │ │ ├── ic_launcher.xml │ │ │ │ │ └── ic_launcher_round.xml │ │ │ │ ├── values/ │ │ │ │ │ ├── colors.xml │ │ │ │ │ ├── ic_launcher_background.xml │ │ │ │ │ ├── strings.xml │ │ │ │ │ └── themes.xml │ │ │ │ └── xml/ │ │ │ │ ├── backup_rules.xml │ │ │ │ ├── data_extraction_rules.xml │ │ │ │ └── tts_engine.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── k2fsa/ │ │ │ └── sherpa/ │ │ │ └── onnx/ │ │ │ └── tts/ │ │ │ └── engine/ │ │ │ └── ExampleUnitTest.kt │ │ ├── build.gradle.kts │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── settings.gradle.kts │ ├── SherpaOnnxVad/ │ │ ├── .gitignore │ │ ├── app/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── k2fsa/ │ │ │ │ └── sherpa/ │ │ │ │ └── onnx/ │ │ │ │ └── ExampleInstrumentedTest.kt │ │ │ ├── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── assets/ │ │ │ │ │ └── .gitignore │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── k2fsa/ │ │ │ │ │ └── sherpa/ │ │ │ │ │ └── onnx/ │ │ │ │ │ └── MainActivity.kt │ │ │ │ ├── jniLibs/ │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── arm64-v8a/ │ │ │ │ │ │ └── .gitignore │ │ │ │ │ ├── armeabi-v7a/ │ │ │ │ │ │ └── .gitignore │ │ │ │ │ ├── x86/ │ │ │ │ │ │ └── .gitignore │ │ │ │ │ └── x86_64/ │ │ │ │ │ └── .gitignore │ │ │ │ └── res/ │ │ │ │ ├── drawable/ │ │ │ │ │ ├── black_circle.xml │ │ │ │ │ ├── ic_launcher_background.xml │ │ │ │ │ └── red_circle.xml │ │ │ │ ├── drawable-v24/ │ │ │ │ │ └── ic_launcher_foreground.xml │ │ │ │ ├── layout/ │ │ │ │ │ └── activity_main.xml │ │ │ │ ├── mipmap-anydpi-v26/ │ │ │ │ │ ├── ic_launcher.xml │ │ │ │ │ └── ic_launcher_round.xml │ │ │ │ ├── values/ │ │ │ │ │ ├── colors.xml │ │ │ │ │ ├── strings.xml │ │ │ │ │ └── themes.xml │ │ │ │ ├── values-night/ │ │ │ │ │ └── themes.xml │ │ │ │ └── xml/ │ │ │ │ ├── backup_rules.xml │ │ │ │ └── data_extraction_rules.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── k2fsa/ │ │ │ └── sherpa/ │ │ │ └── onnx/ │ │ │ └── ExampleUnitTest.kt │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── settings.gradle │ ├── SherpaOnnxVadAsr/ │ │ ├── .gitignore │ │ ├── app/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── k2fsa/ │ │ │ │ └── sherpa/ │ │ │ │ └── onnx/ │ │ │ │ └── ExampleInstrumentedTest.kt │ │ │ ├── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── assets/ │ │ │ │ │ └── .gitignore │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── k2fsa/ │ │ │ │ │ └── sherpa/ │ │ │ │ │ └── onnx/ │ │ │ │ │ └── MainActivity.kt │ │ │ │ ├── jniLibs/ │ │ │ │ │ ├── arm64-v8a/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── armeabi-v7a/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── x86/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ └── x86_64/ │ │ │ │ │ └── .gitkeep │ │ │ │ └── res/ │ │ │ │ ├── drawable/ │ │ │ │ │ └── ic_launcher_background.xml │ │ │ │ ├── drawable-v24/ │ │ │ │ │ └── ic_launcher_foreground.xml │ │ │ │ ├── layout/ │ │ │ │ │ └── activity_main.xml │ │ │ │ ├── mipmap-anydpi-v26/ │ │ │ │ │ ├── ic_launcher.xml │ │ │ │ │ └── ic_launcher_round.xml │ │ │ │ ├── values/ │ │ │ │ │ ├── colors.xml │ │ │ │ │ ├── strings.xml │ │ │ │ │ └── themes.xml │ │ │ │ ├── values-night/ │ │ │ │ │ └── themes.xml │ │ │ │ └── xml/ │ │ │ │ ├── backup_rules.xml │ │ │ │ └── data_extraction_rules.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── k2fsa/ │ │ │ └── sherpa/ │ │ │ └── onnx/ │ │ │ └── ExampleUnitTest.kt │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── settings.gradle │ └── SherpaOnnxWebSocket/ │ ├── .gitignore │ ├── app/ │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src/ │ │ ├── androidTest/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── k2fsa/ │ │ │ └── sherpa/ │ │ │ └── onnx/ │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── assets/ │ │ │ │ └── .gitkeep │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── k2fsa/ │ │ │ │ └── sherpa/ │ │ │ │ └── onnx/ │ │ │ │ ├── MainActivity.kt │ │ │ │ ├── MyWebsocketClient.kt │ │ │ │ ├── SpeechContent.kt │ │ │ │ └── WaveReader.kt │ │ │ ├── jniLibs/ │ │ │ │ ├── .gitignore │ │ │ │ ├── arm64-v8a/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── armeabi-v7a/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── x86/ │ │ │ │ │ └── .gitkeep │ │ │ │ └── x86_64/ │ │ │ │ └── .gitkeep │ │ │ └── res/ │ │ │ ├── drawable/ │ │ │ │ └── ic_launcher_background.xml │ │ │ ├── drawable-v24/ │ │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── layout/ │ │ │ │ └── activity_main.xml │ │ │ ├── mipmap-anydpi-v26/ │ │ │ │ ├── ic_launcher.xml │ │ │ │ └── ic_launcher_round.xml │ │ │ ├── values/ │ │ │ │ ├── colors.xml │ │ │ │ ├── strings.xml │ │ │ │ └── themes.xml │ │ │ ├── values-night/ │ │ │ │ └── themes.xml │ │ │ └── xml/ │ │ │ ├── backup_rules.xml │ │ │ └── data_extraction_rules.xml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── k2fsa/ │ │ └── sherpa/ │ │ └── onnx/ │ │ └── ExampleUnitTest.kt │ ├── build.gradle │ ├── gradle/ │ │ └── wrapper/ │ │ └── gradle-wrapper.properties │ ├── gradle.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── c-api-examples/ │ ├── CMakeLists.txt │ ├── Makefile │ ├── README.md │ ├── add-punctuation-c-api.c │ ├── add-punctuation-online-c-api.c │ ├── asr-microphone-example/ │ │ ├── CMakeLists.txt │ │ ├── CPPLINT.cfg │ │ ├── README.md │ │ └── c-api-alsa.cc │ ├── audio-tagging-c-api.c │ ├── decode-file-c-api.c │ ├── dolphin-ctc-c-api.c │ ├── fire-red-asr-c-api.c │ ├── fire-red-asr-ctc-c-api.c │ ├── funasr-nano-c-api.c │ ├── keywords-spotter-buffered-tokens-keywords-c-api.c │ ├── kitten-tts-en-c-api.c │ ├── kokoro-tts-en-c-api.c │ ├── kokoro-tts-zh-en-c-api.c │ ├── kws-c-api.c │ ├── matcha-tts-en-c-api.c │ ├── matcha-tts-zh-c-api.c │ ├── medasr-ctc-c-api.c │ ├── moonshine-c-api.c │ ├── moonshine-v2-c-api.c │ ├── nemo-canary-c-api.c │ ├── nemo-parakeet-c-api.c │ ├── offline-speaker-diarization-c-api.c │ ├── offline-tts-c-api.c │ ├── omnilingual-asr-ctc-c-api.c │ ├── online-speech-enhancement-dpdfnet-c-api.c │ ├── online-speech-enhancement-gtcrn-c-api.c │ ├── paraformer-c-api.c │ ├── pocket-tts-en-c-api.c │ ├── sense-voice-c-api.c │ ├── sense-voice-with-hr-c-api.c │ ├── speaker-identification-c-api.c │ ├── speech-enhancement-dpdfnet-c-api.c │ ├── speech-enhancement-gtcrn-c-api.c │ ├── spoken-language-identification-c-api.c │ ├── streaming-ctc-buffered-tokens-c-api.c │ ├── streaming-hlg-decode-file-c-api.c │ ├── streaming-paraformer-buffered-tokens-c-api.c │ ├── streaming-paraformer-c-api.c │ ├── streaming-t-one-ctc-c-api.c │ ├── streaming-zipformer-buffered-tokens-hotwords-c-api.c │ ├── streaming-zipformer-c-api.c │ ├── streaming-zipformer-with-hr-c-api.c │ ├── supertonic-tts-en-c-api.c │ ├── telespeech-c-api.c │ ├── vad-moonshine-c-api.c │ ├── vad-sense-voice-c-api.c │ ├── vad-whisper-c-api.c │ ├── wenet-ctc-c-api.c │ ├── whisper-c-api.c │ ├── zipformer-c-api.c │ └── zipvoice-tts-zh-en-c-api.c ├── cmake/ │ ├── .gitignore │ ├── __init__.py │ ├── asio.cmake │ ├── cargs.cmake │ ├── cmake_extension.py │ ├── eigen.cmake │ ├── espeak-ng-for-piper.cmake │ ├── googletest.cmake │ ├── hclust-cpp.cmake │ ├── json.cmake │ ├── kaldi-decoder.cmake │ ├── kaldi-native-fbank.cmake │ ├── kaldifst.cmake │ ├── onnxruntime-linux-aarch64-gpu.cmake │ ├── onnxruntime-linux-aarch64-static.cmake │ ├── onnxruntime-linux-aarch64.cmake │ ├── onnxruntime-linux-arm-static.cmake │ ├── onnxruntime-linux-arm.cmake │ ├── onnxruntime-linux-riscv64-spacemit.cmake │ ├── onnxruntime-linux-riscv64-static.cmake │ ├── onnxruntime-linux-riscv64.cmake │ ├── onnxruntime-linux-x86_64-gpu.cmake │ ├── onnxruntime-linux-x86_64-static.cmake │ ├── onnxruntime-linux-x86_64.cmake │ ├── onnxruntime-osx-arm64-static.cmake │ ├── onnxruntime-osx-arm64.cmake │ ├── onnxruntime-osx-universal-static.cmake │ ├── onnxruntime-osx-universal.cmake │ ├── onnxruntime-osx-x86_64-static.cmake │ ├── onnxruntime-osx-x86_64.cmake │ ├── onnxruntime-wasm-simd.cmake │ ├── onnxruntime-win-arm64-static.cmake │ ├── onnxruntime-win-arm64.cmake │ ├── onnxruntime-win-x64-directml.cmake │ ├── onnxruntime-win-x64-gpu.cmake │ ├── onnxruntime-win-x64-static.cmake │ ├── onnxruntime-win-x64.cmake │ ├── onnxruntime-win-x86-static.cmake │ ├── onnxruntime-win-x86.cmake │ ├── onnxruntime.cmake │ ├── openfst.cmake │ ├── piper-phonemize.cmake │ ├── portaudio.cmake │ ├── pybind11.cmake │ ├── sherpa-onnx-shared.pc.in │ ├── sherpa-onnx-static-no-tts.pc.in │ ├── sherpa-onnx-static.pc.in │ ├── show-info.cmake │ ├── simple-sentencepiece.cmake │ └── websocketpp.cmake ├── cxx-api-examples/ │ ├── CMakeLists.txt │ ├── audio-tagging-ced-cxx-api.cc │ ├── audio-tagging-zipformer-cxx-api.cc │ ├── dolphin-ctc-cxx-api.cc │ ├── fire-red-asr-ctc-cxx-api.cc │ ├── fire-red-asr-ctc-simulate-streaming-alsa-cxx-api.cc │ ├── fire-red-asr-ctc-simulate-streaming-microphone-cxx-api.cc │ ├── fire-red-asr-cxx-api.cc │ ├── funasr-nano-cxx-api.cc │ ├── kitten-tts-en-cxx-api.cc │ ├── kokoro-tts-en-cxx-api.cc │ ├── kokoro-tts-zh-en-cxx-api.cc │ ├── kws-cxx-api.cc │ ├── matcha-tts-en-cxx-api.cc │ ├── matcha-tts-zh-cxx-api.cc │ ├── medasr-ctc-cxx-api.cc │ ├── moonshine-cxx-api.cc │ ├── moonshine-v2-cxx-api.cc │ ├── nemo-canary-cxx-api.cc │ ├── offline-punctuation-cxx-api.cc │ ├── omnilingual-asr-ctc-cxx-api.cc │ ├── online-punctuation-cxx-api.cc │ ├── online-speech-enhancement-dpdfnet-cxx-api.cc │ ├── online-speech-enhancement-gtcrn-cxx-api.cc │ ├── parakeet-tdt-ctc-simulate-streaming-microphone-cxx-api.cc │ ├── parakeet-tdt-simulate-streaming-microphone-cxx-api.cc │ ├── pocket-tts-en-cxx-api.cc │ ├── sense-voice-cxx-api.cc │ ├── sense-voice-simulate-streaming-alsa-cxx-api.cc │ ├── sense-voice-simulate-streaming-microphone-cxx-api.cc │ ├── sense-voice-with-hr-cxx-api.cc │ ├── sherpa-display.h │ ├── speech-enhancement-dpdfnet-cxx-api.cc │ ├── speech-enhancement-gtcrn-cxx-api.cc │ ├── streaming-t-one-ctc-cxx-api.cc │ ├── streaming-zipformer-cxx-api.cc │ ├── streaming-zipformer-rtf-cxx-api.cc │ ├── streaming-zipformer-with-hr-cxx-api.cc │ ├── supertonic-tts-en-cxx-api.cc │ ├── vad-cxx-api.cc │ ├── wenet-ctc-cxx-api.cc │ ├── wenet-ctc-simulate-streaming-microphone-cxx-api.cc │ ├── whisper-cxx-api.cc │ ├── zipformer-ctc-simulate-streaming-alsa-cxx-api.cc │ ├── zipformer-ctc-simulate-streaming-microphone-cxx-api.cc │ ├── zipformer-transducer-simulate-streaming-microphone-cxx-api.cc │ └── zipvoice-tts-zh-en-cxx-api.cc ├── dart-api-examples/ │ ├── .gitignore │ ├── README.md │ ├── add-punctuations/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── analysis_options.yaml │ │ ├── bin/ │ │ │ └── punctuations.dart │ │ ├── pubspec.yaml │ │ └── run-ct-transformer.sh │ ├── audio-tagging/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── analysis_options.yaml │ │ ├── bin/ │ │ │ ├── ced.dart │ │ │ └── zipformer.dart │ │ ├── pubspec.yaml │ │ ├── run-ced.sh │ │ └── run-zipformer.sh │ ├── keyword-spotter/ │ │ ├── .gitignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── analysis_options.yaml │ │ ├── bin/ │ │ │ └── zipformer-transducer.dart │ │ ├── pubspec.yaml │ │ └── run-zh.sh │ ├── non-streaming-asr/ │ │ ├── .gitignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── analysis_options.yaml │ │ ├── bin/ │ │ │ ├── dolphin-ctc.dart │ │ │ ├── fire-red-asr-ctc.dart │ │ │ ├── fire-red-asr.dart │ │ │ ├── funasr-nano.dart │ │ │ ├── medasr-ctc.dart │ │ │ ├── moonshine.dart │ │ │ ├── moonshine_v2.dart │ │ │ ├── nemo-canary.dart │ │ │ ├── nemo-ctc.dart │ │ │ ├── nemo-transducer.dart │ │ │ ├── omnilingual-asr-ctc.dart │ │ │ ├── paraformer-itn.dart │ │ │ ├── paraformer.dart │ │ │ ├── sense-voice-with-hr.dart │ │ │ ├── sense-voice.dart │ │ │ ├── telespeech-ctc.dart │ │ │ ├── vad-with-paraformer.dart │ │ │ ├── wenet-ctc.dart │ │ │ ├── whisper.dart │ │ │ ├── zipformer-ctc.dart │ │ │ └── zipformer-transducer.dart │ │ ├── pubspec.yaml │ │ ├── run-dolphin-ctc.sh │ │ ├── run-fire-red-asr-ctc.sh │ │ ├── run-fire-red-asr.sh │ │ ├── run-funasr-nano.sh │ │ ├── run-medasr-ctc.sh │ │ ├── run-moonshine-v2.sh │ │ ├── run-moonshine.sh │ │ ├── run-nemo-canary.sh │ │ ├── run-nemo-ctc.sh │ │ ├── run-nemo-transducer.sh │ │ ├── run-omnilingual-asr-ctc.sh │ │ ├── run-paraformer-itn.sh │ │ ├── run-paraformer.sh │ │ ├── run-sense-voice-with-hr.sh │ │ ├── run-sense-voice.sh │ │ ├── run-telespeech-ctc.sh │ │ ├── run-vad-with-paraformer.sh │ │ ├── run-wenet-ctc.sh │ │ ├── run-whisper.sh │ │ ├── run-zipformer-ctc.sh │ │ └── run-zipformer-transducer.sh │ ├── speaker-diarization/ │ │ ├── .gitignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── analysis_options.yaml │ │ ├── bin/ │ │ │ └── speaker-diarization.dart │ │ ├── pubspec.yaml │ │ └── run.sh │ ├── speaker-identification/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── analysis_options.yaml │ │ ├── bin/ │ │ │ └── speaker_id.dart │ │ ├── pubspec.yaml │ │ └── run-3d-speaker.sh │ ├── speech-enhancement-dpdfnet/ │ │ ├── .gitignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── analysis_options.yaml │ │ ├── bin/ │ │ │ └── speech_enhancement_dpdfnet.dart │ │ ├── pubspec.yaml │ │ └── run.sh │ ├── speech-enhancement-gtcrn/ │ │ ├── .gitignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── analysis_options.yaml │ │ ├── bin/ │ │ │ └── speech_enhancement_gtcrn.dart │ │ ├── pubspec.yaml │ │ └── run.sh │ ├── spoken-language-identification/ │ │ ├── README.md │ │ ├── analysis_options.yaml │ │ ├── bin/ │ │ │ └── spoken_language_identification.dart │ │ ├── pubspec.yaml │ │ └── run-whisper.sh │ ├── streaming-asr/ │ │ ├── .gitignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── analysis_options.yaml │ │ ├── bin/ │ │ │ ├── paraformer.dart │ │ │ ├── t-one-ctc.dart │ │ │ ├── zipformer-ctc-hlg.dart │ │ │ ├── zipformer-ctc.dart │ │ │ └── zipformer-transducer.dart │ │ ├── pubspec.yaml │ │ ├── run-nemo-transducer.sh │ │ ├── run-paraformer.sh │ │ ├── run-t-one-ctc.sh │ │ ├── run-zipformer-ctc-hlg.sh │ │ ├── run-zipformer-ctc.sh │ │ ├── run-zipformer-transducer-itn.sh │ │ └── run-zipformer-transducer.sh │ ├── streaming-speech-enhancement-dpdfnet/ │ │ ├── README.md │ │ ├── bin/ │ │ │ └── streaming_speech_enhancement_dpdfnet.dart │ │ └── run.sh │ ├── streaming-speech-enhancement-gtcrn/ │ │ ├── README.md │ │ ├── bin/ │ │ │ └── streaming_speech_enhancement_gtcrn.dart │ │ └── run.sh │ ├── tts/ │ │ ├── .gitignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── analysis_options.yaml │ │ ├── bin/ │ │ │ ├── coqui.dart │ │ │ ├── kitten-en.dart │ │ │ ├── kokoro-en.dart │ │ │ ├── kokoro-zh-en.dart │ │ │ ├── matcha-en.dart │ │ │ ├── matcha-zh.dart │ │ │ ├── piper.dart │ │ │ ├── pocket-en.dart │ │ │ ├── supertonic-en.dart │ │ │ ├── vits-zh.dart │ │ │ └── zipvoice-zh-en.dart │ │ ├── pubspec.yaml │ │ ├── run-coqui.sh │ │ ├── run-kitten-en.sh │ │ ├── run-kokoro-en.sh │ │ ├── run-kokoro-zh-en.sh │ │ ├── run-matcha-en.sh │ │ ├── run-matcha-zh.sh │ │ ├── run-piper.sh │ │ ├── run-pocket-en.sh │ │ ├── run-supertonic-en.sh │ │ ├── run-vits-zh.sh │ │ └── run-zipvoice-zh-en.sh │ ├── vad/ │ │ ├── .gitignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── analysis_options.yaml │ │ ├── bin/ │ │ │ ├── init.dart │ │ │ ├── ten-vad.dart │ │ │ └── vad.dart │ │ ├── pubspec.yaml │ │ ├── run-ten-vad.sh │ │ └── run.sh │ └── vad-with-non-streaming-asr/ │ ├── .gitignore │ ├── README.md │ ├── analysis_options.yaml │ ├── bin/ │ │ ├── dolphin-ctc.dart │ │ ├── moonshine.dart │ │ ├── paraformer.dart │ │ ├── sense-voice-2.dart │ │ ├── sense-voice.dart │ │ ├── telespeech-ctc.dart │ │ ├── whisper.dart │ │ ├── zipformer-ctc.dart │ │ └── zipformer-transducer.dart │ ├── pubspec.yaml │ ├── run-dolphin-ctc.sh │ ├── run-moonshine.sh │ ├── run-paraformer.sh │ ├── run-sense-voice-en.sh │ ├── run-sense-voice-zh-2.sh │ ├── run-sense-voice-zh.sh │ ├── run-telespeech-ctc.sh │ ├── run-whisper.sh │ ├── run-zipformer-ctc.sh │ └── run-zipformer-transducer.sh ├── dotnet-examples/ │ ├── .editorconfig │ ├── .gitignore │ ├── .notes │ ├── Common/ │ │ ├── Common.csproj │ │ └── WaveHeader.cs │ ├── README.md │ ├── keyword-spotting-from-files/ │ │ ├── Program.cs │ │ ├── keyword-spotting-from-files.csproj │ │ └── run.sh │ ├── keyword-spotting-from-microphone/ │ │ ├── Program.cs │ │ ├── keyword-spotting-from-microphone.csproj │ │ └── run.sh │ ├── kitten-tts/ │ │ ├── Program.cs │ │ ├── kitten-tts.csproj │ │ └── run-kitten.sh │ ├── kitten-tts-play/ │ │ ├── Program.cs │ │ ├── kitten-tts-play.csproj │ │ └── run-kitten.sh │ ├── kokoro-tts/ │ │ ├── Program.cs │ │ ├── kokoro-tts.csproj │ │ └── run-kokoro.sh │ ├── kokoro-tts-play/ │ │ ├── Program.cs │ │ ├── kokoro-tts-play.csproj │ │ └── run-kokoro-en.sh │ ├── non-streaming-canary-decode-files/ │ │ ├── Program.cs │ │ ├── non-streaming-canary-decode-files.csproj │ │ └── run.sh │ ├── non-streaming-funasr-nano-decode-files/ │ │ ├── Program.cs │ │ ├── non-streaming-funasr-nano-decode-files.csproj │ │ └── run.sh │ ├── non-streaming-moonshine-v2-decode-files/ │ │ ├── Program.cs │ │ ├── non-streaming-moonshine-v2-decode-files.csproj │ │ └── run.sh │ ├── offline-audio-tagging/ │ │ ├── Program.cs │ │ ├── offline-audio-tagging.csproj │ │ └── run.sh │ ├── offline-decode-files/ │ │ ├── Program.cs │ │ ├── offline-decode-files.csproj │ │ ├── run-dolphin-ctc.sh │ │ ├── run-fire-red-asr-ctc.sh │ │ ├── run-fire-red-asr.sh │ │ ├── run-hotwords.sh │ │ ├── run-medasr-ctc.sh │ │ ├── run-moonshine.sh │ │ ├── run-nemo-ctc.sh │ │ ├── run-omnilingual-asr-ctc.sh │ │ ├── run-paraformer-itn.sh │ │ ├── run-paraformer.sh │ │ ├── run-sense-voice-ctc.sh │ │ ├── run-tdnn-yesno.sh │ │ ├── run-telespeech-ctc.sh │ │ ├── run-wenet-ctc.sh │ │ ├── run-whisper-large-v3.sh │ │ ├── run-whisper.sh │ │ ├── run-zipformer-ctc.sh │ │ └── run-zipformer.sh │ ├── offline-punctuation/ │ │ ├── Program.cs │ │ ├── offline-punctuation.csproj │ │ └── run.sh │ ├── offline-speaker-diarization/ │ │ ├── Program.cs │ │ ├── offline-speaker-diarization.csproj │ │ └── run.sh │ ├── offline-tts/ │ │ ├── Program.cs │ │ ├── offline-tts.csproj │ │ ├── run-aishell3.sh │ │ ├── run-hf-fanchen.sh │ │ ├── run-matcha-en.sh │ │ ├── run-matcha-zh.sh │ │ └── run-piper.sh │ ├── offline-tts-play/ │ │ ├── .gitignore │ │ ├── Program.cs │ │ ├── offline-tts-play.csproj │ │ ├── run-hf-fanchen.sh │ │ ├── run-matcha-en.sh │ │ └── run-matcha-zh.sh │ ├── online-decode-files/ │ │ ├── Program.cs │ │ ├── online-decode-files.csproj │ │ ├── run-paraformer.sh │ │ ├── run-t-one-ctc.sh │ │ ├── run-transducer-itn.sh │ │ ├── run-transducer.sh │ │ └── run-zipformer2-ctc.sh │ ├── pocket-tts-zero-shot/ │ │ ├── Program.cs │ │ ├── pocket-tts-zero-shot.csproj │ │ └── run.sh │ ├── pocket-tts-zero-shot-play/ │ │ ├── Program.cs │ │ ├── pocket-tts-zero-shot-play.csproj │ │ └── run.sh │ ├── sherpa-onnx.sln │ ├── speaker-identification/ │ │ ├── Program.cs │ │ ├── run.sh │ │ └── speaker-identification.csproj │ ├── speech-enhancement-dpdfnet/ │ │ ├── Program.cs │ │ ├── run.sh │ │ └── speech-enhancement-dpdfnet.csproj │ ├── speech-enhancement-gtcrn/ │ │ ├── Program.cs │ │ ├── run.sh │ │ └── speech-enhancement-gtcrn.csproj │ ├── speech-recognition-from-microphone/ │ │ ├── Program.cs │ │ ├── run-paraformer.sh │ │ ├── run-transducer.sh │ │ └── speech-recognition-from-microphone.csproj │ ├── spoken-language-identification/ │ │ ├── Program.cs │ │ ├── run.sh │ │ └── spoken-language-identification.csproj │ ├── streaming-hlg-decoding/ │ │ ├── Program.cs │ │ ├── run.sh │ │ └── streaming-hlg-decoding.csproj │ ├── streaming-speech-enhancement-dpdfnet/ │ │ ├── Program.cs │ │ ├── run.sh │ │ └── streaming-speech-enhancement-dpdfnet.csproj │ ├── streaming-speech-enhancement-gtcrn/ │ │ ├── Program.cs │ │ ├── run.sh │ │ └── streaming-speech-enhancement-gtcrn.csproj │ ├── supertonic-tts/ │ │ ├── Program.cs │ │ ├── run.sh │ │ └── supertonic-tts.csproj │ ├── vad-non-streaming-asr-paraformer/ │ │ ├── Program.cs │ │ ├── run-ten-vad.sh │ │ ├── run.sh │ │ └── vad-non-streaming-asr-paraformer.csproj │ ├── vad-non-streaming-funasr-nano/ │ │ ├── Program.cs │ │ ├── run-ten-vad.sh │ │ ├── run.sh │ │ └── vad-non-streaming-funasr-nano.csproj │ ├── version-test/ │ │ ├── Program.cs │ │ ├── run.sh │ │ └── version-test.csproj │ ├── zipvoice-tts/ │ │ ├── Program.cs │ │ ├── run.sh │ │ └── zipvoice-tts.csproj │ └── zipvoice-tts-play/ │ ├── Program.cs │ ├── run.sh │ └── zipvoice-tts-play.csproj ├── ffmpeg-examples/ │ ├── Makefile │ ├── README.md │ ├── how-to-fix-errors.md │ └── sherpa-onnx-ffmpeg.c ├── flutter/ │ ├── .gitignore │ ├── README.md │ ├── notes.md │ ├── notes2.md │ ├── publish.md │ ├── sherpa_onnx/ │ │ ├── .gitignore │ │ ├── .metadata │ │ ├── analysis_options.yaml │ │ ├── example/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ └── example.md │ │ ├── lib/ │ │ │ ├── sherpa_onnx.dart │ │ │ └── src/ │ │ │ ├── audio_tagging.dart │ │ │ ├── feature_config.dart │ │ │ ├── homophone_replacer_config.dart │ │ │ ├── keyword_spotter.dart │ │ │ ├── offline_punctuation.dart │ │ │ ├── offline_recognizer.dart │ │ │ ├── offline_speaker_diarization.dart │ │ │ ├── offline_speech_denoiser.dart │ │ │ ├── offline_stream.dart │ │ │ ├── online_punctuation.dart │ │ │ ├── online_recognizer.dart │ │ │ ├── online_speech_denoiser.dart │ │ │ ├── online_stream.dart │ │ │ ├── sherpa_onnx_bindings.dart │ │ │ ├── speaker_identification.dart │ │ │ ├── spoken_language_identification.dart │ │ │ ├── tts.dart │ │ │ ├── utils.dart │ │ │ ├── vad.dart │ │ │ ├── version.dart │ │ │ ├── wave_reader.dart │ │ │ └── wave_writer.dart │ │ └── pubspec.yaml │ ├── sherpa_onnx_android/ │ │ ├── .gitignore │ │ ├── .metadata │ │ ├── README.md │ │ ├── analysis_options.yaml │ │ ├── android/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── settings.gradle │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ └── jniLibs/ │ │ │ ├── README.md │ │ │ ├── arm64-v8a/ │ │ │ │ └── .gitkeep │ │ │ ├── armeabi-v7a/ │ │ │ │ └── .gitkeep │ │ │ ├── x86/ │ │ │ │ └── .gitkeep │ │ │ └── x86_64/ │ │ │ └── .gitkeep │ │ ├── lib/ │ │ │ ├── .gitkeep │ │ │ └── README.md │ │ └── pubspec.yaml │ ├── sherpa_onnx_ios/ │ │ ├── .gitignore │ │ ├── .metadata │ │ ├── README.md │ │ ├── analysis_options.yaml │ │ ├── ios/ │ │ │ └── sherpa_onnx_ios.podspec │ │ ├── lib/ │ │ │ └── README.md │ │ └── pubspec.yaml │ ├── sherpa_onnx_linux/ │ │ ├── .gitignore │ │ ├── .metadata │ │ ├── README.md │ │ ├── analysis_options.yaml │ │ ├── lib/ │ │ │ ├── .gitkeep │ │ │ └── README.md │ │ ├── linux/ │ │ │ ├── CMakeLists.txt │ │ │ ├── README.md │ │ │ ├── aarch64/ │ │ │ │ └── .gitikeep │ │ │ └── x64/ │ │ │ └── .gitikeep │ │ └── pubspec.yaml │ ├── sherpa_onnx_macos/ │ │ ├── .gitignore │ │ ├── .metadata │ │ ├── README.md │ │ ├── analysis_options.yaml │ │ ├── lib/ │ │ │ ├── .gitkeep │ │ │ └── README.md │ │ ├── macos/ │ │ │ ├── README.md │ │ │ └── sherpa_onnx_macos.podspec │ │ └── pubspec.yaml │ └── sherpa_onnx_windows/ │ ├── .gitignore │ ├── .metadata │ ├── README.md │ ├── analysis_options.yaml │ ├── lib/ │ │ ├── .gitkeep │ │ └── README.md │ └── pubspec.yaml ├── flutter-examples/ │ ├── .gitignore │ ├── README.md │ ├── andriod-notes.md │ ├── how-tts-is-created.md │ ├── non_streaming_vad_asr/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── analysis_options.yaml │ │ ├── lib/ │ │ │ ├── info.dart │ │ │ ├── main.dart │ │ │ ├── non_streaming_vad_asr.dart │ │ │ ├── offline_model.dart │ │ │ └── utils.dart │ │ ├── macos/ │ │ │ ├── .gitignore │ │ │ ├── Flutter/ │ │ │ │ ├── Flutter-Debug.xcconfig │ │ │ │ └── Flutter-Release.xcconfig │ │ │ ├── Runner/ │ │ │ │ ├── AppDelegate.swift │ │ │ │ ├── Assets.xcassets/ │ │ │ │ │ └── AppIcon.appiconset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── Base.lproj/ │ │ │ │ │ └── MainMenu.xib │ │ │ │ ├── Configs/ │ │ │ │ │ ├── AppInfo.xcconfig │ │ │ │ │ ├── Debug.xcconfig │ │ │ │ │ ├── Release.xcconfig │ │ │ │ │ └── Warnings.xcconfig │ │ │ │ ├── DebugProfile.entitlements │ │ │ │ ├── Info.plist │ │ │ │ ├── MainFlutterWindow.swift │ │ │ │ └── Release.entitlements │ │ │ ├── Runner.xcodeproj/ │ │ │ │ ├── project.pbxproj │ │ │ │ ├── project.xcworkspace/ │ │ │ │ │ └── xcshareddata/ │ │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ │ └── xcshareddata/ │ │ │ │ └── xcschemes/ │ │ │ │ └── Runner.xcscheme │ │ │ ├── Runner.xcworkspace/ │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ └── xcshareddata/ │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── RunnerTests/ │ │ │ └── RunnerTests.swift │ │ └── pubspec.yaml │ ├── streaming_asr/ │ │ ├── .gitignore │ │ ├── .metadata │ │ ├── README.md │ │ ├── analysis_options.yaml │ │ ├── android/ │ │ │ ├── .gitignore │ │ │ ├── app/ │ │ │ │ ├── build.gradle │ │ │ │ └── src/ │ │ │ │ ├── debug/ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ ├── main/ │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ ├── kotlin/ │ │ │ │ │ │ └── com/ │ │ │ │ │ │ └── k2fsa/ │ │ │ │ │ │ └── sherpa/ │ │ │ │ │ │ └── onnx/ │ │ │ │ │ │ └── streaming_asr/ │ │ │ │ │ │ └── MainActivity.kt │ │ │ │ │ └── res/ │ │ │ │ │ ├── drawable/ │ │ │ │ │ │ └── launch_background.xml │ │ │ │ │ ├── drawable-v21/ │ │ │ │ │ │ └── launch_background.xml │ │ │ │ │ ├── values/ │ │ │ │ │ │ └── styles.xml │ │ │ │ │ └── values-night/ │ │ │ │ │ └── styles.xml │ │ │ │ └── profile/ │ │ │ │ └── AndroidManifest.xml │ │ │ ├── build.gradle │ │ │ ├── gradle/ │ │ │ │ └── wrapper/ │ │ │ │ └── gradle-wrapper.properties │ │ │ ├── gradle.properties │ │ │ └── settings.gradle │ │ ├── assets/ │ │ │ └── .gitignore │ │ ├── ios/ │ │ │ ├── .gitignore │ │ │ ├── Flutter/ │ │ │ │ ├── AppFrameworkInfo.plist │ │ │ │ ├── Debug.xcconfig │ │ │ │ └── Release.xcconfig │ │ │ ├── Runner/ │ │ │ │ ├── AppDelegate.swift │ │ │ │ ├── Assets.xcassets/ │ │ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ └── LaunchImage.imageset/ │ │ │ │ │ ├── Contents.json │ │ │ │ │ └── README.md │ │ │ │ ├── Base.lproj/ │ │ │ │ │ ├── LaunchScreen.storyboard │ │ │ │ │ └── Main.storyboard │ │ │ │ ├── Info.plist │ │ │ │ └── Runner-Bridging-Header.h │ │ │ ├── Runner.xcodeproj/ │ │ │ │ ├── project.pbxproj │ │ │ │ ├── project.xcworkspace/ │ │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ │ └── xcshareddata/ │ │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ │ └── WorkspaceSettings.xcsettings │ │ │ │ └── xcshareddata/ │ │ │ │ └── xcschemes/ │ │ │ │ └── Runner.xcscheme │ │ │ ├── Runner.xcworkspace/ │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ └── xcshareddata/ │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ └── WorkspaceSettings.xcsettings │ │ │ └── RunnerTests/ │ │ │ └── RunnerTests.swift │ │ ├── lib/ │ │ │ ├── info.dart │ │ │ ├── main.dart │ │ │ ├── online_model.dart │ │ │ ├── streaming_asr.dart │ │ │ └── utils.dart │ │ ├── linux/ │ │ │ ├── .gitignore │ │ │ ├── CMakeLists.txt │ │ │ ├── flutter/ │ │ │ │ └── CMakeLists.txt │ │ │ ├── main.cc │ │ │ ├── my_application.cc │ │ │ └── my_application.h │ │ ├── macos/ │ │ │ ├── .gitignore │ │ │ ├── Flutter/ │ │ │ │ ├── Flutter-Debug.xcconfig │ │ │ │ └── Flutter-Release.xcconfig │ │ │ ├── Runner/ │ │ │ │ ├── AppDelegate.swift │ │ │ │ ├── Assets.xcassets/ │ │ │ │ │ └── AppIcon.appiconset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── Base.lproj/ │ │ │ │ │ └── MainMenu.xib │ │ │ │ ├── Configs/ │ │ │ │ │ ├── AppInfo.xcconfig │ │ │ │ │ ├── Debug.xcconfig │ │ │ │ │ ├── Release.xcconfig │ │ │ │ │ └── Warnings.xcconfig │ │ │ │ ├── DebugProfile.entitlements │ │ │ │ ├── Info.plist │ │ │ │ ├── MainFlutterWindow.swift │ │ │ │ └── Release.entitlements │ │ │ ├── Runner.xcodeproj/ │ │ │ │ ├── project.pbxproj │ │ │ │ ├── project.xcworkspace/ │ │ │ │ │ └── xcshareddata/ │ │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ │ └── xcshareddata/ │ │ │ │ └── xcschemes/ │ │ │ │ └── Runner.xcscheme │ │ │ ├── Runner.xcworkspace/ │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ └── xcshareddata/ │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── RunnerTests/ │ │ │ └── RunnerTests.swift │ │ ├── pubspec.yaml │ │ ├── test/ │ │ │ └── widget_test.dart │ │ └── windows/ │ │ ├── .gitignore │ │ ├── CMakeLists.txt │ │ ├── flutter/ │ │ │ └── CMakeLists.txt │ │ └── runner/ │ │ ├── CMakeLists.txt │ │ ├── Runner.rc │ │ ├── flutter_window.cpp │ │ ├── flutter_window.h │ │ ├── main.cpp │ │ ├── resource.h │ │ ├── runner.exe.manifest │ │ ├── utils.cpp │ │ ├── utils.h │ │ ├── win32_window.cpp │ │ └── win32_window.h │ └── tts/ │ ├── .gitignore │ ├── .metadata │ ├── README.md │ ├── analysis_options.yaml │ ├── android/ │ │ ├── .gitignore │ │ ├── app/ │ │ │ ├── build.gradle │ │ │ └── src/ │ │ │ ├── debug/ │ │ │ │ └── AndroidManifest.xml │ │ │ ├── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── kotlin/ │ │ │ │ │ └── com/ │ │ │ │ │ └── example/ │ │ │ │ │ └── tts/ │ │ │ │ │ └── MainActivity.kt │ │ │ │ └── res/ │ │ │ │ ├── drawable/ │ │ │ │ │ └── launch_background.xml │ │ │ │ ├── drawable-v21/ │ │ │ │ │ └── launch_background.xml │ │ │ │ ├── values/ │ │ │ │ │ └── styles.xml │ │ │ │ └── values-night/ │ │ │ │ └── styles.xml │ │ │ └── profile/ │ │ │ └── AndroidManifest.xml │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ └── settings.gradle │ ├── assets/ │ │ └── .gitkeep │ ├── generate-asset-list.py │ ├── ios/ │ │ ├── .gitignore │ │ ├── Flutter/ │ │ │ ├── AppFrameworkInfo.plist │ │ │ ├── Debug.xcconfig │ │ │ └── Release.xcconfig │ │ ├── Runner/ │ │ │ ├── AppDelegate.swift │ │ │ ├── Assets.xcassets/ │ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ │ └── Contents.json │ │ │ │ └── LaunchImage.imageset/ │ │ │ │ ├── Contents.json │ │ │ │ └── README.md │ │ │ ├── Base.lproj/ │ │ │ │ ├── LaunchScreen.storyboard │ │ │ │ └── Main.storyboard │ │ │ ├── Info.plist │ │ │ └── Runner-Bridging-Header.h │ │ ├── Runner.xcodeproj/ │ │ │ ├── project.pbxproj │ │ │ ├── project.xcworkspace/ │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ └── xcshareddata/ │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ └── WorkspaceSettings.xcsettings │ │ │ └── xcshareddata/ │ │ │ └── xcschemes/ │ │ │ └── Runner.xcscheme │ │ ├── Runner.xcworkspace/ │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata/ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ └── WorkspaceSettings.xcsettings │ │ └── RunnerTests/ │ │ └── RunnerTests.swift │ ├── lib/ │ │ ├── info.dart │ │ ├── isolate_tts.dart │ │ ├── main.dart │ │ ├── model.dart │ │ ├── tts.dart │ │ └── utils.dart │ ├── linux/ │ │ ├── .gitignore │ │ ├── CMakeLists.txt │ │ ├── flutter/ │ │ │ └── CMakeLists.txt │ │ ├── main.cc │ │ ├── my_application.cc │ │ └── my_application.h │ ├── macos/ │ │ ├── .gitignore │ │ ├── Flutter/ │ │ │ ├── Flutter-Debug.xcconfig │ │ │ └── Flutter-Release.xcconfig │ │ ├── Runner/ │ │ │ ├── AppDelegate.swift │ │ │ ├── Assets.xcassets/ │ │ │ │ └── AppIcon.appiconset/ │ │ │ │ └── Contents.json │ │ │ ├── Base.lproj/ │ │ │ │ └── MainMenu.xib │ │ │ ├── Configs/ │ │ │ │ ├── AppInfo.xcconfig │ │ │ │ ├── Debug.xcconfig │ │ │ │ ├── Release.xcconfig │ │ │ │ └── Warnings.xcconfig │ │ │ ├── DebugProfile.entitlements │ │ │ ├── Info.plist │ │ │ ├── MainFlutterWindow.swift │ │ │ └── Release.entitlements │ │ ├── Runner.xcodeproj/ │ │ │ ├── project.pbxproj │ │ │ ├── project.xcworkspace/ │ │ │ │ └── xcshareddata/ │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── xcshareddata/ │ │ │ └── xcschemes/ │ │ │ └── Runner.xcscheme │ │ ├── Runner.xcworkspace/ │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata/ │ │ │ └── IDEWorkspaceChecks.plist │ │ └── RunnerTests/ │ │ └── RunnerTests.swift │ ├── pubspec.yaml │ ├── test/ │ │ └── widget_test.dart │ └── windows/ │ ├── .gitignore │ ├── CMakeLists.txt │ ├── flutter/ │ │ └── CMakeLists.txt │ └── runner/ │ ├── CMakeLists.txt │ ├── Runner.rc │ ├── flutter_window.cpp │ ├── flutter_window.h │ ├── main.cpp │ ├── resource.h │ ├── runner.exe.manifest │ ├── utils.cpp │ ├── utils.h │ ├── win32_window.cpp │ └── win32_window.h ├── go-api-examples/ │ ├── .gitignore │ ├── README.md │ ├── add-punctuation/ │ │ ├── go.mod │ │ ├── main.go │ │ └── run.sh │ ├── add-punctuation-online/ │ │ ├── go.mod │ │ ├── main.go │ │ └── run.sh │ ├── audio-tagging/ │ │ ├── go.mod │ │ ├── main.go │ │ └── run.sh │ ├── keyword-spotting-from-file/ │ │ ├── go.mod │ │ ├── main.go │ │ └── run.sh │ ├── non-streaming-canary-decode-files/ │ │ ├── go.mod │ │ ├── main.go │ │ └── run.sh │ ├── non-streaming-funasr-nano-decode-files/ │ │ ├── go.mod │ │ ├── main.go │ │ └── run.sh │ ├── non-streaming-medasr-ctc-decode-files/ │ │ ├── go.mod │ │ ├── main.go │ │ └── run.sh │ ├── non-streaming-moonshine-v2-decode-files/ │ │ ├── go.mod │ │ ├── main.go │ │ └── run.sh │ ├── non-streaming-omnilingual-asr-ctc-decode-files/ │ │ ├── go.mod │ │ ├── main.go │ │ └── run.sh │ ├── non-streaming-speaker-diarization/ │ │ ├── go.mod │ │ ├── main.go │ │ └── run.sh │ ├── non-streaming-tts/ │ │ ├── go.mod │ │ ├── main.go │ │ ├── run-kitten-en.sh │ │ ├── run-kokoro-en.sh │ │ ├── run-kokoro-zh-en.sh │ │ ├── run-matcha-en.sh │ │ ├── run-matcha-zh.sh │ │ ├── run-vits-ljs.sh │ │ ├── run-vits-piper-en_US-lessac-medium.sh │ │ ├── run-vits-vctk.sh │ │ └── run-vits-zh-aishell3.sh │ ├── offline-tts-play/ │ │ ├── go.mod │ │ ├── main.go │ │ ├── run-kitten-en.sh │ │ ├── run-kokoro-en.sh │ │ ├── run-kokoro-zh-en.sh │ │ ├── run-matcha-en.sh │ │ ├── run-matcha-zh.sh │ │ ├── run-vits-ljs.sh │ │ ├── run-vits-piper-en_US-lessac-medium.sh │ │ ├── run-vits-vctk.sh │ │ └── run-vits-zh-aishell3.sh │ ├── speaker-identification/ │ │ ├── go.mod │ │ ├── main.go │ │ └── run.sh │ ├── speech-enhancement-dpdfnet/ │ │ ├── go.mod │ │ ├── main.go │ │ └── run.sh │ ├── speech-enhancement-gtcrn/ │ │ ├── go.mod │ │ ├── main.go │ │ └── run.sh │ ├── streaming-hlg-decoding/ │ │ ├── go.mod │ │ ├── main.go │ │ └── run.sh │ ├── streaming-speech-enhancement-dpdfnet/ │ │ ├── go.mod │ │ ├── main.go │ │ └── run.sh │ ├── streaming-speech-enhancement-gtcrn/ │ │ ├── go.mod │ │ ├── main.go │ │ └── run.sh │ ├── supertonic-tts/ │ │ ├── go.mod │ │ ├── main.go │ │ └── run.sh │ ├── vad/ │ │ ├── go.mod │ │ ├── main.go │ │ └── run.sh │ ├── vad-asr-whisper/ │ │ ├── go.mod │ │ ├── main.go │ │ └── run.sh │ ├── vad-speaker-identification/ │ │ ├── go.mod │ │ ├── main.go │ │ └── run.sh │ ├── vad-spoken-language-identification/ │ │ ├── go.mod │ │ ├── main.go │ │ └── run.sh │ ├── zero-shot-pocket-tts/ │ │ ├── go.mod │ │ ├── main.go │ │ └── run.sh │ ├── zero-shot-pocket-tts-play/ │ │ ├── go.mod │ │ ├── main.go │ │ └── run.sh │ ├── zero-shot-zipvoice-tts/ │ │ ├── go.mod │ │ ├── main.go │ │ └── run.sh │ └── zero-shot-zipvoice-tts-play/ │ ├── go.mod │ ├── main.go │ └── run.sh ├── harmony-os/ │ ├── .gitignore │ ├── README.md │ ├── SherpaOnnxHar/ │ │ ├── .gitignore │ │ ├── AppScope/ │ │ │ ├── app.json5 │ │ │ └── resources/ │ │ │ └── base/ │ │ │ └── element/ │ │ │ └── string.json │ │ ├── README.md │ │ ├── build-profile.json5 │ │ ├── code-linter.json5 │ │ ├── entry/ │ │ │ ├── .gitignore │ │ │ ├── build-profile.json5 │ │ │ ├── hvigorfile.ts │ │ │ ├── obfuscation-rules.txt │ │ │ ├── oh-package.json5 │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── ets/ │ │ │ │ │ ├── entryability/ │ │ │ │ │ │ └── EntryAbility.ets │ │ │ │ │ ├── entrybackupability/ │ │ │ │ │ │ └── EntryBackupAbility.ets │ │ │ │ │ └── pages/ │ │ │ │ │ └── Index.ets │ │ │ │ ├── module.json5 │ │ │ │ └── resources/ │ │ │ │ ├── base/ │ │ │ │ │ ├── element/ │ │ │ │ │ │ ├── color.json │ │ │ │ │ │ └── string.json │ │ │ │ │ ├── media/ │ │ │ │ │ │ └── layered_image.json │ │ │ │ │ └── profile/ │ │ │ │ │ ├── backup_config.json │ │ │ │ │ └── main_pages.json │ │ │ │ ├── en_US/ │ │ │ │ │ └── element/ │ │ │ │ │ └── string.json │ │ │ │ └── zh_CN/ │ │ │ │ └── element/ │ │ │ │ └── string.json │ │ │ ├── ohosTest/ │ │ │ │ ├── ets/ │ │ │ │ │ └── test/ │ │ │ │ │ ├── Ability.test.ets │ │ │ │ │ └── List.test.ets │ │ │ │ └── module.json5 │ │ │ └── test/ │ │ │ ├── List.test.ets │ │ │ └── LocalUnit.test.ets │ │ ├── hvigor/ │ │ │ └── hvigor-config.json5 │ │ ├── hvigorfile.ts │ │ ├── notes.md │ │ ├── oh-package-lock.json5 │ │ ├── oh-package.json5 │ │ ├── release.sh │ │ └── sherpa_onnx/ │ │ ├── .gitignore │ │ ├── BuildProfile.ets │ │ ├── Index.ets │ │ ├── README.md │ │ ├── build-profile.json5 │ │ ├── consumer-rules.txt │ │ ├── hvigorfile.ts │ │ ├── obfuscation-rules.txt │ │ ├── oh-package-lock.json5 │ │ ├── oh-package.json5 │ │ └── src/ │ │ ├── main/ │ │ │ ├── cpp/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── audio-tagging.cc │ │ │ │ ├── include/ │ │ │ │ │ └── sherpa-onnx/ │ │ │ │ │ └── c-api/ │ │ │ │ │ └── README.md │ │ │ │ ├── keyword-spotting.cc │ │ │ │ ├── libs/ │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── README.md │ │ │ │ │ ├── arm64-v8a/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── armeabi-v7a/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ └── x86_64/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── macros.h │ │ │ │ ├── my-patch.diff │ │ │ │ ├── non-streaming-asr.cc │ │ │ │ ├── non-streaming-speaker-diarization.cc │ │ │ │ ├── non-streaming-speech-denoiser.cc │ │ │ │ ├── non-streaming-tts.cc │ │ │ │ ├── offline-punctuation.cc │ │ │ │ ├── online-punctuation.cc │ │ │ │ ├── sherpa-onnx-node-addon-api.cc │ │ │ │ ├── speaker-identification.cc │ │ │ │ ├── speech-denoiser.h │ │ │ │ ├── spoken-language-identification.cc │ │ │ │ ├── streaming-asr.cc │ │ │ │ ├── streaming-speech-denoiser.cc │ │ │ │ ├── types/ │ │ │ │ │ └── libsherpa_onnx/ │ │ │ │ │ ├── Index.d.ts │ │ │ │ │ └── oh-package.json5 │ │ │ │ ├── utils.cc │ │ │ │ ├── vad.cc │ │ │ │ ├── version.cc │ │ │ │ ├── wave-reader.cc │ │ │ │ └── wave-writer.cc │ │ │ ├── ets/ │ │ │ │ └── components/ │ │ │ │ ├── KeywordSpotting.ets │ │ │ │ ├── MainPage.ets │ │ │ │ ├── NonStreamingAsr.ets │ │ │ │ ├── NonStreamingSpeakerDiarization.ets │ │ │ │ ├── NonStreamingTts.ets │ │ │ │ ├── OfflinePunctuation.ets │ │ │ │ ├── OnlinePunctuation.ets │ │ │ │ ├── SpeakerIdentification.ets │ │ │ │ ├── StreamingAsr.ets │ │ │ │ └── Vad.ets │ │ │ ├── module.json5 │ │ │ └── resources/ │ │ │ ├── base/ │ │ │ │ └── element/ │ │ │ │ └── string.json │ │ │ ├── en_US/ │ │ │ │ └── element/ │ │ │ │ └── string.json │ │ │ └── zh_CN/ │ │ │ └── element/ │ │ │ └── string.json │ │ ├── ohosTest/ │ │ │ ├── ets/ │ │ │ │ └── test/ │ │ │ │ ├── Ability.test.ets │ │ │ │ └── List.test.ets │ │ │ └── module.json5 │ │ └── test/ │ │ ├── List.test.ets │ │ └── LocalUnit.test.ets │ ├── SherpaOnnxSpeakerDiarization/ │ │ ├── .gitignore │ │ ├── AppScope/ │ │ │ ├── app.json5 │ │ │ └── resources/ │ │ │ └── base/ │ │ │ └── element/ │ │ │ └── string.json │ │ ├── build-profile.json5 │ │ ├── code-linter.json5 │ │ ├── entry/ │ │ │ ├── .gitignore │ │ │ ├── build-profile.json5 │ │ │ ├── hvigorfile.ts │ │ │ ├── obfuscation-rules.txt │ │ │ ├── oh-package.json5 │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── ets/ │ │ │ │ │ ├── entryability/ │ │ │ │ │ │ └── EntryAbility.ets │ │ │ │ │ ├── entrybackupability/ │ │ │ │ │ │ └── EntryBackupAbility.ets │ │ │ │ │ ├── pages/ │ │ │ │ │ │ └── Index.ets │ │ │ │ │ └── workers/ │ │ │ │ │ └── SpeakerDiarizationWorker.ets │ │ │ │ ├── module.json5 │ │ │ │ └── resources/ │ │ │ │ ├── base/ │ │ │ │ │ ├── element/ │ │ │ │ │ │ ├── color.json │ │ │ │ │ │ └── string.json │ │ │ │ │ ├── media/ │ │ │ │ │ │ └── layered_image.json │ │ │ │ │ └── profile/ │ │ │ │ │ ├── backup_config.json │ │ │ │ │ └── main_pages.json │ │ │ │ ├── en_US/ │ │ │ │ │ └── element/ │ │ │ │ │ └── string.json │ │ │ │ ├── rawfile/ │ │ │ │ │ └── .gitkeep │ │ │ │ └── zh_CN/ │ │ │ │ └── element/ │ │ │ │ └── string.json │ │ │ ├── ohosTest/ │ │ │ │ ├── ets/ │ │ │ │ │ └── test/ │ │ │ │ │ ├── Ability.test.ets │ │ │ │ │ └── List.test.ets │ │ │ │ └── module.json5 │ │ │ └── test/ │ │ │ ├── List.test.ets │ │ │ └── LocalUnit.test.ets │ │ ├── hvigor/ │ │ │ └── hvigor-config.json5 │ │ ├── hvigorfile.ts │ │ ├── oh-package-lock.json5 │ │ └── oh-package.json5 │ ├── SherpaOnnxSpeakerIdentification/ │ │ ├── .gitignore │ │ ├── AppScope/ │ │ │ ├── app.json5 │ │ │ └── resources/ │ │ │ └── base/ │ │ │ └── element/ │ │ │ └── string.json │ │ ├── build-profile.json5 │ │ ├── code-linter.json5 │ │ ├── entry/ │ │ │ ├── .gitignore │ │ │ ├── build-profile.json5 │ │ │ ├── hvigorfile.ts │ │ │ ├── obfuscation-rules.txt │ │ │ ├── oh-package-lock.json5 │ │ │ ├── oh-package.json5 │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── ets/ │ │ │ │ │ ├── entryability/ │ │ │ │ │ │ └── EntryAbility.ets │ │ │ │ │ ├── entrybackupability/ │ │ │ │ │ │ └── EntryBackupAbility.ets │ │ │ │ │ ├── pages/ │ │ │ │ │ │ ├── Index.ets │ │ │ │ │ │ └── Permission.ets │ │ │ │ │ └── workers/ │ │ │ │ │ └── SpeakerIdentificationWorker.ets │ │ │ │ ├── module.json5 │ │ │ │ └── resources/ │ │ │ │ ├── base/ │ │ │ │ │ ├── element/ │ │ │ │ │ │ ├── color.json │ │ │ │ │ │ └── string.json │ │ │ │ │ ├── media/ │ │ │ │ │ │ └── layered_image.json │ │ │ │ │ └── profile/ │ │ │ │ │ ├── backup_config.json │ │ │ │ │ └── main_pages.json │ │ │ │ ├── en_US/ │ │ │ │ │ └── element/ │ │ │ │ │ └── string.json │ │ │ │ ├── rawfile/ │ │ │ │ │ └── .gitkeep │ │ │ │ └── zh_CN/ │ │ │ │ └── element/ │ │ │ │ └── string.json │ │ │ ├── ohosTest/ │ │ │ │ ├── ets/ │ │ │ │ │ └── test/ │ │ │ │ │ ├── Ability.test.ets │ │ │ │ │ └── List.test.ets │ │ │ │ └── module.json5 │ │ │ └── test/ │ │ │ ├── List.test.ets │ │ │ └── LocalUnit.test.ets │ │ ├── hvigor/ │ │ │ └── hvigor-config.json5 │ │ ├── hvigorfile.ts │ │ ├── oh-package-lock.json5 │ │ └── oh-package.json5 │ ├── SherpaOnnxStreamingAsr/ │ │ ├── .gitignore │ │ ├── AppScope/ │ │ │ ├── app.json5 │ │ │ └── resources/ │ │ │ └── base/ │ │ │ └── element/ │ │ │ └── string.json │ │ ├── build-profile.json5 │ │ ├── code-linter.json5 │ │ ├── entry/ │ │ │ ├── .gitignore │ │ │ ├── build-profile.json5 │ │ │ ├── hvigorfile.ts │ │ │ ├── obfuscation-rules.txt │ │ │ ├── oh-package-lock.json5 │ │ │ ├── oh-package.json5 │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── ets/ │ │ │ │ │ ├── entryability/ │ │ │ │ │ │ └── EntryAbility.ets │ │ │ │ │ ├── entrybackupability/ │ │ │ │ │ │ └── EntryBackupAbility.ets │ │ │ │ │ ├── pages/ │ │ │ │ │ │ ├── Index.ets │ │ │ │ │ │ └── Permission.ets │ │ │ │ │ └── workers/ │ │ │ │ │ └── StreamingAsrWorker.ets │ │ │ │ ├── module.json5 │ │ │ │ └── resources/ │ │ │ │ ├── base/ │ │ │ │ │ ├── element/ │ │ │ │ │ │ ├── color.json │ │ │ │ │ │ └── string.json │ │ │ │ │ ├── media/ │ │ │ │ │ │ └── layered_image.json │ │ │ │ │ └── profile/ │ │ │ │ │ ├── backup_config.json │ │ │ │ │ └── main_pages.json │ │ │ │ ├── en_US/ │ │ │ │ │ └── element/ │ │ │ │ │ └── string.json │ │ │ │ ├── rawfile/ │ │ │ │ │ └── .gitkeep │ │ │ │ └── zh_CN/ │ │ │ │ └── element/ │ │ │ │ └── string.json │ │ │ ├── ohosTest/ │ │ │ │ ├── ets/ │ │ │ │ │ └── test/ │ │ │ │ │ ├── Ability.test.ets │ │ │ │ │ └── List.test.ets │ │ │ │ └── module.json5 │ │ │ └── test/ │ │ │ ├── List.test.ets │ │ │ └── LocalUnit.test.ets │ │ ├── hvigor/ │ │ │ └── hvigor-config.json5 │ │ ├── hvigorfile.ts │ │ ├── oh-package-lock.json5 │ │ └── oh-package.json5 │ ├── SherpaOnnxTts/ │ │ ├── .gitignore │ │ ├── AppScope/ │ │ │ ├── app.json5 │ │ │ └── resources/ │ │ │ └── base/ │ │ │ └── element/ │ │ │ └── string.json │ │ ├── README.md │ │ ├── build-profile.json5 │ │ ├── code-linter.json5 │ │ ├── entry/ │ │ │ ├── .gitignore │ │ │ ├── build-profile.json5 │ │ │ ├── hvigorfile.ts │ │ │ ├── obfuscation-rules.txt │ │ │ ├── oh-package-lock.json5 │ │ │ ├── oh-package.json5 │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── ets/ │ │ │ │ │ ├── entryability/ │ │ │ │ │ │ └── EntryAbility.ets │ │ │ │ │ ├── entrybackupability/ │ │ │ │ │ │ └── EntryBackupAbility.ets │ │ │ │ │ ├── pages/ │ │ │ │ │ │ └── Index.ets │ │ │ │ │ └── workers/ │ │ │ │ │ └── NonStreamingTtsWorker.ets │ │ │ │ ├── module.json5 │ │ │ │ └── resources/ │ │ │ │ ├── base/ │ │ │ │ │ ├── element/ │ │ │ │ │ │ ├── color.json │ │ │ │ │ │ └── string.json │ │ │ │ │ ├── media/ │ │ │ │ │ │ └── layered_image.json │ │ │ │ │ └── profile/ │ │ │ │ │ ├── backup_config.json │ │ │ │ │ └── main_pages.json │ │ │ │ ├── en_US/ │ │ │ │ │ └── element/ │ │ │ │ │ └── string.json │ │ │ │ ├── rawfile/ │ │ │ │ │ └── .gitkeep │ │ │ │ └── zh_CN/ │ │ │ │ └── element/ │ │ │ │ └── string.json │ │ │ ├── ohosTest/ │ │ │ │ ├── ets/ │ │ │ │ │ └── test/ │ │ │ │ │ ├── Ability.test.ets │ │ │ │ │ └── List.test.ets │ │ │ │ └── module.json5 │ │ │ └── test/ │ │ │ ├── List.test.ets │ │ │ └── LocalUnit.test.ets │ │ ├── hvigor/ │ │ │ └── hvigor-config.json5 │ │ ├── hvigorfile.ts │ │ ├── oh-package-lock.json5 │ │ └── oh-package.json5 │ └── SherpaOnnxVadAsr/ │ ├── .gitignore │ ├── AppScope/ │ │ ├── app.json5 │ │ └── resources/ │ │ └── base/ │ │ └── element/ │ │ └── string.json │ ├── README.md │ ├── build-profile.json5 │ ├── code-linter.json5 │ ├── entry/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── build-profile.json5 │ │ ├── hvigorfile.ts │ │ ├── obfuscation-rules.txt │ │ ├── oh-package-lock.json5 │ │ ├── oh-package.json5 │ │ └── src/ │ │ ├── main/ │ │ │ ├── ets/ │ │ │ │ ├── entryability/ │ │ │ │ │ └── EntryAbility.ets │ │ │ │ ├── entrybackupability/ │ │ │ │ │ └── EntryBackupAbility.ets │ │ │ │ ├── pages/ │ │ │ │ │ ├── Index.ets │ │ │ │ │ ├── NonStreamingAsrModels.ets │ │ │ │ │ └── Permission.ets │ │ │ │ └── workers/ │ │ │ │ └── NonStreamingAsrWithVadWorker.ets │ │ │ ├── module.json5 │ │ │ └── resources/ │ │ │ ├── base/ │ │ │ │ ├── element/ │ │ │ │ │ ├── color.json │ │ │ │ │ └── string.json │ │ │ │ ├── media/ │ │ │ │ │ └── layered_image.json │ │ │ │ └── profile/ │ │ │ │ ├── backup_config.json │ │ │ │ └── main_pages.json │ │ │ ├── en_US/ │ │ │ │ └── element/ │ │ │ │ └── string.json │ │ │ ├── rawfile/ │ │ │ │ └── .gitkeep │ │ │ └── zh_CN/ │ │ │ └── element/ │ │ │ └── string.json │ │ ├── ohosTest/ │ │ │ ├── ets/ │ │ │ │ └── test/ │ │ │ │ ├── Ability.test.ets │ │ │ │ └── List.test.ets │ │ │ └── module.json5 │ │ └── test/ │ │ ├── List.test.ets │ │ └── LocalUnit.test.ets │ ├── hvigor/ │ │ └── hvigor-config.json5 │ ├── hvigorfile.ts │ ├── oh-package-lock.json5 │ └── oh-package.json5 ├── ios-swift/ │ ├── .gitignore │ └── SherpaOnnx/ │ ├── SherpaOnnx/ │ │ ├── AppDelegate.swift │ │ ├── Assets.xcassets/ │ │ │ ├── AccentColor.colorset/ │ │ │ │ └── Contents.json │ │ │ ├── AppIcon.appiconset/ │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Base.lproj/ │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── Model.swift │ │ ├── SceneDelegate.swift │ │ └── ViewController.swift │ ├── SherpaOnnx.xcodeproj/ │ │ ├── project.pbxproj │ │ └── project.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ ├── SherpaOnnxTests/ │ │ └── SherpaOnnxTests.swift │ └── SherpaOnnxUITests/ │ ├── SherpaOnnxUITests.swift │ └── SherpaOnnxUITestsLaunchTests.swift ├── ios-swiftui/ │ ├── .gitignore │ ├── SherpaOnnx/ │ │ ├── SherpaOnnx/ │ │ │ ├── Assets.xcassets/ │ │ │ │ ├── AccentColor.colorset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ │ └── Contents.json │ │ │ │ └── Contents.json │ │ │ ├── ContentView.swift │ │ │ ├── Extension.swift │ │ │ ├── Info.plist │ │ │ ├── Model.swift │ │ │ ├── Preview Content/ │ │ │ │ └── Preview Assets.xcassets/ │ │ │ │ └── Contents.json │ │ │ ├── SherpaOnnxApp.swift │ │ │ └── SherpaOnnxViewModel.swift │ │ ├── SherpaOnnx.xcodeproj/ │ │ │ ├── project.pbxproj │ │ │ └── project.xcworkspace/ │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata/ │ │ │ └── IDEWorkspaceChecks.plist │ │ ├── SherpaOnnxTests/ │ │ │ └── SherpaOnnxTests.swift │ │ └── SherpaOnnxUITests/ │ │ ├── SherpaOnnxUITests.swift │ │ └── SherpaOnnxUITestsLaunchTests.swift │ ├── SherpaOnnx2Pass/ │ │ ├── SherpaOnnx2Pass/ │ │ │ ├── Assets.xcassets/ │ │ │ │ ├── AccentColor.colorset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ │ └── Contents.json │ │ │ │ └── Contents.json │ │ │ ├── ContentView.swift │ │ │ ├── Extension.swift │ │ │ ├── Info.plist │ │ │ ├── Model.swift │ │ │ ├── Preview Content/ │ │ │ │ └── Preview Assets.xcassets/ │ │ │ │ └── Contents.json │ │ │ ├── SherpaOnnx2PassApp.swift │ │ │ └── SherpaOnnxViewModel.swift │ │ └── SherpaOnnx2Pass.xcodeproj/ │ │ ├── project.pbxproj │ │ └── project.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ ├── SherpaOnnxLangID/ │ │ ├── SherpaOnnxLangID/ │ │ │ ├── Assets.xcassets/ │ │ │ │ ├── AccentColor.colorset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── AppIcon 1.appiconset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ │ └── Contents.json │ │ │ │ └── Contents.json │ │ │ ├── ContentView.swift │ │ │ ├── Info.plist │ │ │ ├── Preview Content/ │ │ │ │ └── Preview Assets.xcassets/ │ │ │ │ └── Contents.json │ │ │ ├── SherpaOnnxLangIDApp.swift │ │ │ └── ViewModel.swift │ │ ├── SherpaOnnxLangID.xcodeproj/ │ │ │ ├── project.pbxproj │ │ │ └── project.xcworkspace/ │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata/ │ │ │ └── IDEWorkspaceChecks.plist │ │ ├── SherpaOnnxLangIDTests/ │ │ │ └── SherpaOnnxLangIDTests.swift │ │ └── SherpaOnnxLangIDUITests/ │ │ ├── SherpaOnnxLangIDUITests.swift │ │ └── SherpaOnnxLangIDUITestsLaunchTests.swift │ ├── SherpaOnnxSubtitle/ │ │ ├── .gitignore │ │ ├── SherpaOnnxSubtitle/ │ │ │ ├── Assets.xcassets/ │ │ │ │ ├── AccentColor.colorset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ │ └── Contents.json │ │ │ │ └── Contents.json │ │ │ ├── ContentView.swift │ │ │ ├── Extensions/ │ │ │ │ └── UTType.swift │ │ │ ├── Info.plist │ │ │ ├── Models/ │ │ │ │ ├── Audio.swift │ │ │ │ ├── Document.swift │ │ │ │ ├── Errors.swift │ │ │ │ └── SpeechSegment.swift │ │ │ ├── Preview Content/ │ │ │ │ └── Preview Assets.xcassets/ │ │ │ │ └── Contents.json │ │ │ ├── SherpaOnnxSubtitleApp.swift │ │ │ └── SubtitleViewModel.swift │ │ └── SherpaOnnxSubtitle.xcodeproj/ │ │ ├── project.pbxproj │ │ └── project.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ └── SherpaOnnxTts/ │ ├── SherpaOnnxTts/ │ │ ├── Assets.xcassets/ │ │ │ ├── AccentColor.colorset/ │ │ │ │ └── Contents.json │ │ │ ├── AppIcon.appiconset/ │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── ContentView.swift │ │ ├── Info.plist │ │ ├── Preview Content/ │ │ │ └── Preview Assets.xcassets/ │ │ │ └── Contents.json │ │ ├── SherpaOnnxTtsApp.swift │ │ └── ViewModel.swift │ └── SherpaOnnxTts.xcodeproj/ │ ├── project.pbxproj │ └── project.xcworkspace/ │ ├── contents.xcworkspacedata │ └── xcshareddata/ │ └── IDEWorkspaceChecks.plist ├── java-api-examples/ │ ├── .gitignore │ ├── AudioTaggingCEDFromFile.java │ ├── AudioTaggingZipformerFromFile.java │ ├── InverseTextNormalizationNonStreamingParaformer.java │ ├── InverseTextNormalizationStreamingTransducer.java │ ├── KeywordSpotterFromFile.java │ ├── NonStreamingDecodeFileDolphinCtc.java │ ├── NonStreamingDecodeFileFireRedAsr.java │ ├── NonStreamingDecodeFileFireRedAsrCtc.java │ ├── NonStreamingDecodeFileFunAsrNano.java │ ├── NonStreamingDecodeFileMedAsrCtc.java │ ├── NonStreamingDecodeFileMoonshine.java │ ├── NonStreamingDecodeFileMoonshineV2.java │ ├── NonStreamingDecodeFileNemo.java │ ├── NonStreamingDecodeFileNemoCanary.java │ ├── NonStreamingDecodeFileOmnilingualAsrCtc.java │ ├── NonStreamingDecodeFileParaformer.java │ ├── NonStreamingDecodeFileSenseVoice.java │ ├── NonStreamingDecodeFileSenseVoiceWithHr.java │ ├── NonStreamingDecodeFileTeleSpeechCtc.java │ ├── NonStreamingDecodeFileTransducer.java │ ├── NonStreamingDecodeFileTransducerHotwords.java │ ├── NonStreamingDecodeFileWenetCtc.java │ ├── NonStreamingDecodeFileWhisper.java │ ├── NonStreamingDecodeFileWhisperMultiple.java │ ├── NonStreamingDecodeFileZipformerCtc.java │ ├── NonStreamingSpeechEnhancementDpdfNet.java │ ├── NonStreamingSpeechEnhancementGtcrn.java │ ├── NonStreamingTtsCoquiDe.java │ ├── NonStreamingTtsKittenEn.java │ ├── NonStreamingTtsKokoroEn.java │ ├── NonStreamingTtsKokoroZhEn.java │ ├── NonStreamingTtsMatchaEn.java │ ├── NonStreamingTtsMatchaZh.java │ ├── NonStreamingTtsPiperEn.java │ ├── NonStreamingTtsPiperEnWithCallback.java │ ├── NonStreamingTtsVitsZh.java │ ├── NonStreamingWebsocketClient.java │ ├── OfflineAddPunctuation.java │ ├── OfflineSpeakerDiarizationDemo.java │ ├── OnlineAddPunctuation.java │ ├── PocketTts.java │ ├── README.md │ ├── SpeakerIdentification.java │ ├── SpokenLanguageIdentificationWhisper.java │ ├── StreamingAsrFromMicTransducer.java │ ├── StreamingDecodeFileCtc.java │ ├── StreamingDecodeFileCtcHLG.java │ ├── StreamingDecodeFileParaformer.java │ ├── StreamingDecodeFileToneCtc.java │ ├── StreamingDecodeFileTransducer.java │ ├── StreamingSpeechEnhancementDpdfNet.java │ ├── StreamingSpeechEnhancementGtcrn.java │ ├── SupertonicTts.java │ ├── TenVadRemoveSilence.java │ ├── VadFromMic.java │ ├── VadFromMicWithNonStreamingMoonshine.java │ ├── VadFromMicWithNonStreamingParaformer.java │ ├── VadFromMicWithNonStreamingSenseVoice.java │ ├── VadFromMicWithNonStreamingWhisper.java │ ├── VadNonStreamingDolphinCtc.java │ ├── VadNonStreamingParaformer.java │ ├── VadNonStreamingSenseVoice.java │ ├── VadRemoveSilence.java │ ├── VersionTest.java │ ├── ZipVoiceTts.java │ ├── run-audio-tagging-ced-from-file.sh │ ├── run-audio-tagging-zipformer-from-file.sh │ ├── run-inverse-text-normalization-paraformer.sh │ ├── run-inverse-text-normalization-transducer.sh │ ├── run-kws-from-file.sh │ ├── run-non-streaming-decode-file-dolphin-ctc.sh │ ├── run-non-streaming-decode-file-fire-red-asr-ctc.sh │ ├── run-non-streaming-decode-file-fire-red-asr.sh │ ├── run-non-streaming-decode-file-funasr-nano.sh │ ├── run-non-streaming-decode-file-medasr-ctc.sh │ ├── run-non-streaming-decode-file-moonshine-v2.sh │ ├── run-non-streaming-decode-file-moonshine.sh │ ├── run-non-streaming-decode-file-nemo-canary.sh │ ├── run-non-streaming-decode-file-nemo.sh │ ├── run-non-streaming-decode-file-omnilingual-asr-ctc.sh │ ├── run-non-streaming-decode-file-paraformer.sh │ ├── run-non-streaming-decode-file-sense-voice-with-hr.sh │ ├── run-non-streaming-decode-file-sense-voice.sh │ ├── run-non-streaming-decode-file-tele-speech-ctc.sh │ ├── run-non-streaming-decode-file-transducer-hotwords.sh │ ├── run-non-streaming-decode-file-transducer.sh │ ├── run-non-streaming-decode-file-wenet-ctc.sh │ ├── run-non-streaming-decode-file-whisper-multiple.sh │ ├── run-non-streaming-decode-file-whisper.sh │ ├── run-non-streaming-decode-file-zipformer-ctc.sh │ ├── run-non-streaming-speech-enhancement-dpdfnet.sh │ ├── run-non-streaming-speech-enhancement-gtcrn.sh │ ├── run-non-streaming-tts-coqui-de.sh │ ├── run-non-streaming-tts-kitten-en.sh │ ├── run-non-streaming-tts-kokoro-en.sh │ ├── run-non-streaming-tts-kokoro-zh-en.sh │ ├── run-non-streaming-tts-matcha-en.sh │ ├── run-non-streaming-tts-matcha-zh.sh │ ├── run-non-streaming-tts-piper-en-with-callback.sh │ ├── run-non-streaming-tts-piper-en.sh │ ├── run-non-streaming-tts-vits-zh.sh │ ├── run-non-streaming-websocket-client.sh │ ├── run-offline-add-punctuation-zh-en.sh │ ├── run-offline-speaker-diarization.sh │ ├── run-online-add-punctuation-zh-en.sh │ ├── run-pocket-tts.sh │ ├── run-speaker-identification.sh │ ├── run-spoken-language-identification-whisper.sh │ ├── run-streaming-asr-from-mic-transducer.sh │ ├── run-streaming-decode-file-ctc-hlg.sh │ ├── run-streaming-decode-file-ctc.sh │ ├── run-streaming-decode-file-paraformer.sh │ ├── run-streaming-decode-file-tone-ctc.sh │ ├── run-streaming-decode-file-transducer.sh │ ├── run-streaming-speech-enhancement-dpdfnet.sh │ ├── run-streaming-speech-enhancement-gtcrn.sh │ ├── run-supertonic-tts.sh │ ├── run-ten-vad-remove-silence.sh │ ├── run-vad-from-mic-non-streaming-moonshine.sh │ ├── run-vad-from-mic-non-streaming-paraformer.sh │ ├── run-vad-from-mic-non-streaming-sense-voice.sh │ ├── run-vad-from-mic-non-streaming-whisper.sh │ ├── run-vad-from-mic.sh │ ├── run-vad-non-streaming-dolphin-ctc.sh │ ├── run-vad-non-streaming-paraformer.sh │ ├── run-vad-non-streaming-sense-voice.sh │ ├── run-vad-remove-silence.sh │ ├── run-version-test.sh │ ├── run-zipvoice-tts.sh │ └── src/ │ └── websocketsrv/ │ ├── AsrWebsocketClient.java │ ├── AsrWebsocketServer.java │ ├── ConnectionData.java │ ├── DecoderThreadHandler.java │ └── StreamThreadHandler.java ├── jitpack.yml ├── kotlin-api-examples/ │ ├── .gitignore │ ├── faked-asset-manager.kt │ ├── faked-log.kt │ ├── test_audio_tagging.kt │ ├── test_itn_offline_asr.kt │ ├── test_itn_online_asr.kt │ ├── test_language_id.kt │ ├── test_offline_asr.kt │ ├── test_offline_fire_red_asr_ctc.kt │ ├── test_offline_funasr_nano.kt │ ├── test_offline_medasr_ctc.kt │ ├── test_offline_moonshine_asr_v2.kt │ ├── test_offline_nemo_canary.kt │ ├── test_offline_omnilingual_asr_ctc.kt │ ├── test_offline_punctuation.kt │ ├── test_offline_sense_voice_with_hr.kt │ ├── test_offline_speaker_diarization.kt │ ├── test_offline_speech_denoiser.kt │ ├── test_offline_speech_denoiser_dpdfnet.kt │ ├── test_offline_wenet_ctc.kt │ ├── test_online_asr.kt │ ├── test_online_punctuation.kt │ ├── test_online_speech_denoiser.kt │ ├── test_pocket_tts.kt │ ├── test_speaker_id.kt │ ├── test_supertonic_tts.kt │ ├── test_tts.kt │ ├── test_version.kt │ └── test_zipvoice_tts.kt ├── lazarus-examples/ │ ├── .gitignore │ └── README.md ├── mfc-examples/ │ ├── .gitignore │ ├── NonStreamingSpeechRecognition/ │ │ ├── NonStreamingSpeechRecognition.cpp │ │ ├── NonStreamingSpeechRecognition.h │ │ ├── NonStreamingSpeechRecognition.rc │ │ ├── NonStreamingSpeechRecognition.vcxproj │ │ ├── NonStreamingSpeechRecognition.vcxproj.filters │ │ ├── NonStreamingSpeechRecognitionDlg.cpp │ │ ├── NonStreamingSpeechRecognitionDlg.h │ │ ├── Resource.h │ │ ├── framework.h │ │ ├── pch.cpp │ │ ├── pch.h │ │ ├── res/ │ │ │ └── NonStreamingSpeechRecognition.rc2 │ │ ├── sherpa-onnx-deps.props │ │ └── targetver.h │ ├── NonStreamingTextToSpeech/ │ │ ├── NonStreamingTextToSpeech.cpp │ │ ├── NonStreamingTextToSpeech.h │ │ ├── NonStreamingTextToSpeech.rc │ │ ├── NonStreamingTextToSpeech.vcxproj │ │ ├── NonStreamingTextToSpeech.vcxproj.filters │ │ ├── NonStreamingTextToSpeechDlg.cpp │ │ ├── NonStreamingTextToSpeechDlg.h │ │ ├── Resource.h │ │ ├── framework.h │ │ ├── pch.cpp │ │ ├── pch.h │ │ ├── res/ │ │ │ └── NonStreamingTextToSpeech.rc2 │ │ ├── sherpa-onnx-deps.props │ │ └── targetver.h │ ├── README.md │ ├── StreamingSpeechRecognition/ │ │ ├── Resource.h │ │ ├── StreamingSpeechRecognition.cpp │ │ ├── StreamingSpeechRecognition.h │ │ ├── StreamingSpeechRecognition.rc │ │ ├── StreamingSpeechRecognition.vcxproj │ │ ├── StreamingSpeechRecognition.vcxproj.filters │ │ ├── StreamingSpeechRecognitionDlg.cpp │ │ ├── StreamingSpeechRecognitionDlg.h │ │ ├── framework.h │ │ ├── pch.cpp │ │ ├── pch.h │ │ ├── res/ │ │ │ └── StreamingSpeechRecognition.rc2 │ │ ├── sherpa-onnx-deps.props │ │ └── targetver.h │ └── mfc-examples.sln ├── new-release.sh ├── nodejs-addon-examples/ │ ├── .gitignore │ ├── README.md │ ├── package.json │ ├── test_asr_non_streaming_dolphin_ctc.js │ ├── test_asr_non_streaming_fire_red_asr.js │ ├── test_asr_non_streaming_fire_red_asr_ctc.js │ ├── test_asr_non_streaming_fire_red_asr_ctc_async.js │ ├── test_asr_non_streaming_funasr_nano.js │ ├── test_asr_non_streaming_funasr_nano_async.js │ ├── test_asr_non_streaming_medasr_ctc.js │ ├── test_asr_non_streaming_moonshine.js │ ├── test_asr_non_streaming_moonshine_v2.js │ ├── test_asr_non_streaming_nemo_canary.js │ ├── test_asr_non_streaming_nemo_ctc.js │ ├── test_asr_non_streaming_nemo_parakeet_tdt_v2.js │ ├── test_asr_non_streaming_omnilingual_asr_ctc.js │ ├── test_asr_non_streaming_paraformer.js │ ├── test_asr_non_streaming_paraformer_itn.js │ ├── test_asr_non_streaming_sense_voice.js │ ├── test_asr_non_streaming_sense_voice_with_hr.js │ ├── test_asr_non_streaming_transducer.js │ ├── test_asr_non_streaming_wenet_ctc.js │ ├── test_asr_non_streaming_whisper.js │ ├── test_asr_non_streaming_zipformer_ctc.js │ ├── test_asr_streaming_ctc.js │ ├── test_asr_streaming_ctc_hlg.js │ ├── test_asr_streaming_ctc_hlg_microphone.js │ ├── test_asr_streaming_ctc_microphone.js │ ├── test_asr_streaming_paraformer.js │ ├── test_asr_streaming_paraformer_microphone.js │ ├── test_asr_streaming_t_one_ctc.js │ ├── test_asr_streaming_transducer.js │ ├── test_asr_streaming_transducer_itn.js │ ├── test_asr_streaming_transducer_microphone.js │ ├── test_asr_streaming_transducer_microphone_itn.js │ ├── test_asr_streaming_transducer_with_hr.js │ ├── test_audio_tagging_ced.js │ ├── test_audio_tagging_zipformer.js │ ├── test_keyword_spotter_transducer.js │ ├── test_keyword_spotter_transducer_microphone.js │ ├── test_offline_punctuation.js │ ├── test_offline_speaker_diarization.js │ ├── test_offline_speech_enhancement_dpdfnet.js │ ├── test_offline_speech_enhancement_gtcrn.js │ ├── test_online_punctuation.js │ ├── test_online_speech_enhancement_dpdfnet.js │ ├── test_online_speech_enhancement_gtcrn.js │ ├── test_speaker_identification.js │ ├── test_spoken_language_identification.js │ ├── test_tts_non_streaming_kitten_en.js │ ├── test_tts_non_streaming_kokoro_en.js │ ├── test_tts_non_streaming_kokoro_zh_en.js │ ├── test_tts_non_streaming_matcha_icefall_en.js │ ├── test_tts_non_streaming_matcha_icefall_zh.js │ ├── test_tts_non_streaming_pocket_en.js │ ├── test_tts_non_streaming_pocket_en_async.js │ ├── test_tts_non_streaming_pocket_en_play_async.js │ ├── test_tts_non_streaming_supertonic_en.js │ ├── test_tts_non_streaming_supertonic_en_async.js │ ├── test_tts_non_streaming_supertonic_en_play_async.js │ ├── test_tts_non_streaming_vits_coqui_de.js │ ├── test_tts_non_streaming_vits_piper_en.js │ ├── test_tts_non_streaming_vits_zh_aishell3.js │ ├── test_tts_non_streaming_vits_zh_ll.js │ ├── test_tts_non_streaming_zipvoice_zh_en.js │ ├── test_tts_non_streaming_zipvoice_zh_en_async.js │ ├── test_tts_non_streaming_zipvoice_zh_en_play_async.js │ ├── test_vad_asr_non_streaming_moonshine_microphone.js │ ├── test_vad_asr_non_streaming_nemo_ctc_microphone.js │ ├── test_vad_asr_non_streaming_paraformer_microphone.js │ ├── test_vad_asr_non_streaming_sense_voice_microphone.js │ ├── test_vad_asr_non_streaming_transducer_microphone.js │ ├── test_vad_asr_non_streaming_whisper_microphone.js │ ├── test_vad_asr_non_streaming_zipformer_ctc_microphone.js │ ├── test_vad_microphone.js │ ├── test_vad_spoken_language_identification_microphone.js │ ├── test_vad_with_non_streaming_asr_moonshine.js │ └── test_vad_with_non_streaming_asr_whisper.js ├── nodejs-examples/ │ ├── .gitignore │ ├── README.md │ ├── package.json │ ├── test-keyword-spotter-transducer.js │ ├── test-offline-dolphin-ctc.js │ ├── test-offline-fire-red-asr-ctc.js │ ├── test-offline-fire-red-asr.js │ ├── test-offline-funasr-nano.js │ ├── test-offline-medasr-ctc.js │ ├── test-offline-moonshine-v2.js │ ├── test-offline-moonshine.js │ ├── test-offline-nemo-canary.js │ ├── test-offline-nemo-ctc.js │ ├── test-offline-omnilingual-asr-ctc.js │ ├── test-offline-paraformer-itn.js │ ├── test-offline-paraformer.js │ ├── test-offline-sense-voice-with-hr.js │ ├── test-offline-sense-voice.js │ ├── test-offline-speaker-diarization.js │ ├── test-offline-speech-enhancement-dpdfnet.js │ ├── test-offline-speech-enhancement-gtcrn.js │ ├── test-offline-transducer.js │ ├── test-offline-tts-kitten-en.js │ ├── test-offline-tts-kokoro-en.js │ ├── test-offline-tts-kokoro-zh-en.js │ ├── test-offline-tts-matcha-en.js │ ├── test-offline-tts-matcha-zh.js │ ├── test-offline-tts-pocket-en.js │ ├── test-offline-tts-vits-en.js │ ├── test-offline-tts-vits-zh.js │ ├── test-offline-tts-zipvoice-zh-en.js │ ├── test-offline-wenet-ctc.js │ ├── test-offline-whisper.js │ ├── test-offline-zipformer-ctc.js │ ├── test-online-paraformer-microphone-mic.js │ ├── test-online-paraformer-microphone.js │ ├── test-online-paraformer.js │ ├── test-online-speech-enhancement-dpdfnet.js │ ├── test-online-speech-enhancement-gtcrn.js │ ├── test-online-t-one-ctc.js │ ├── test-online-transducer-itn.js │ ├── test-online-transducer-microphone.js │ ├── test-online-transducer.js │ ├── test-online-zipformer2-ctc-hlg.js │ ├── test-online-zipformer2-ctc.js │ ├── test-vad-with-non-streaming-asr-moonshine.js │ └── test-vad-with-non-streaming-asr-whisper.js ├── pascal-api-examples/ │ ├── .gitignore │ ├── README.md │ ├── non-streaming-asr/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── dolphin_ctc.pas │ │ ├── fire_red_asr.pas │ │ ├── fire_red_asr_ctc.pas │ │ ├── funasr_nano.pas │ │ ├── medasr_ctc.pas │ │ ├── moonshine.pas │ │ ├── moonshine_v2.pas │ │ ├── nemo_canary.pas │ │ ├── nemo_ctc.pas │ │ ├── nemo_transducer.pas │ │ ├── omnilingual_asr_ctc.pas │ │ ├── paraformer.pas │ │ ├── paraformer_itn.pas │ │ ├── run-dolphin-ctc.sh │ │ ├── run-fire-red-asr-ctc.sh │ │ ├── run-fire-red-asr.sh │ │ ├── run-funasr-nano.sh │ │ ├── run-medasr-ctc.sh │ │ ├── run-moonshine-v2.sh │ │ ├── run-moonshine.sh │ │ ├── run-nemo-canary.sh │ │ ├── run-nemo-ctc.sh │ │ ├── run-nemo-transducer.sh │ │ ├── run-omnilingual-asr-ctc.sh │ │ ├── run-paraformer-itn.sh │ │ ├── run-paraformer.sh │ │ ├── run-sense-voice.sh │ │ ├── run-telespeech-ctc.sh │ │ ├── run-wenet-ctc.sh │ │ ├── run-whisper.sh │ │ ├── run-zipformer-ctc.sh │ │ ├── run-zipformer-transducer.sh │ │ ├── sense_voice.pas │ │ ├── telespeech_ctc.pas │ │ ├── wenet_ctc.pas │ │ ├── whisper.pas │ │ ├── zipformer_ctc.pas │ │ └── zipformer_transducer.pas │ ├── portaudio-test/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── test-play.pas │ │ └── test-record.pas │ ├── read-wav/ │ │ ├── .gitignore │ │ └── main.pas │ ├── speaker-diarization/ │ │ └── main.pas │ ├── speech-enhancement-dpdfnet/ │ │ ├── .gitignore │ │ └── dpdfnet.pas │ ├── speech-enhancement-gtcrn/ │ │ ├── .gitignore │ │ └── gtcrn.pas │ ├── streaming-asr/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── nemo_transducer.pas │ │ ├── paraformer.pas │ │ ├── run-nemo-transducer.sh │ │ ├── run-paraformer.sh │ │ ├── run-t-one-ctc.sh │ │ ├── run-zipformer-ctc-hlg.sh │ │ ├── run-zipformer-ctc.sh │ │ ├── run-zipformer-transducer.sh │ │ ├── t_one_ctc.pas │ │ ├── zipformer_ctc.pas │ │ ├── zipformer_ctc_hlg.pas │ │ └── zipformer_transducer.pas │ ├── streaming-speech-enhancement-dpdfnet/ │ │ ├── .gitignore │ │ └── dpdfnet.pas │ ├── streaming-speech-enhancement-gtcrn/ │ │ ├── .gitignore │ │ └── gtcrn.pas │ ├── tts/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── kitten-en-playback.pas │ │ ├── kitten-en.pas │ │ ├── kokoro-en-playback.pas │ │ ├── kokoro-en.pas │ │ ├── kokoro-zh-en-playback.pas │ │ ├── kokoro-zh-en.pas │ │ ├── matcha-en-playback.pas │ │ ├── matcha-en.pas │ │ ├── matcha-zh-playback.pas │ │ ├── matcha-zh.pas │ │ ├── piper-playback.pas │ │ ├── piper.pas │ │ ├── pocket-en.pas │ │ ├── run-kitten-en-playback.sh │ │ ├── run-kitten-en.sh │ │ ├── run-kokoro-en-playback.sh │ │ ├── run-kokoro-en.sh │ │ ├── run-kokoro-zh-en-playback.sh │ │ ├── run-kokoro-zh-en.sh │ │ ├── run-matcha-en-playback.sh │ │ ├── run-matcha-en.sh │ │ ├── run-matcha-zh-playback.sh │ │ ├── run-matcha-zh.sh │ │ ├── run-piper-playback.sh │ │ ├── run-piper.sh │ │ ├── run-pocket-en.sh │ │ ├── run-supertonic-en.sh │ │ ├── run-zipvoice-zh-en.sh │ │ ├── supertonic-en.pas │ │ └── zipvoice-zh-en.pas │ ├── vad/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── circular_buffer.pas │ │ ├── remove_silence.pas │ │ ├── remove_silence_ten_vad.pas │ │ ├── run-circular-buffer.sh │ │ ├── run-remove-silence-ten-vad.sh │ │ └── run-remove-silence.sh │ └── vad-with-non-streaming-asr/ │ ├── .gitignore │ ├── README.md │ ├── run-vad-with-dolphin-ctc.sh │ ├── run-vad-with-moonshine.sh │ ├── run-vad-with-sense-voice.sh │ ├── run-vad-with-whisper.sh │ ├── run-vad-with-zipformer-ctc.sh │ ├── vad_with_dolphin.pas │ ├── vad_with_moonshine.pas │ ├── vad_with_sense_voice.pas │ ├── vad_with_whisper.pas │ └── vad_with_zipformer_ctc.pas ├── pom.xml ├── python-api-examples/ │ ├── README.md │ ├── add-punctuation-online.py │ ├── add-punctuation.py │ ├── audio-tagging-from-a-file-ced.py │ ├── audio-tagging-from-a-file.py │ ├── generate-subtitles.py │ ├── http_server.py │ ├── inverse-text-normalization-offline-asr.py │ ├── inverse-text-normalization-online-asr.py │ ├── keyword-spotter-from-microphone.py │ ├── keyword-spotter.py │ ├── non_streaming_server.py │ ├── offline-decode-files.py │ ├── offline-dolphin-ctc-decode-files.py │ ├── offline-fire-red-asr-ctc-decode-files.py │ ├── offline-fire-red-asr-decode-files.py │ ├── offline-funasr-nano-decode-files.py │ ├── offline-medasr-ctc-decode-files.py │ ├── offline-moonshine-decode-files-v2.py │ ├── offline-moonshine-decode-files.py │ ├── offline-nemo-canary-decode-files.py │ ├── offline-nemo-ctc-decode-files.py │ ├── offline-nemo-parakeet-decode-file.py │ ├── offline-nemo-transducer-decode-files.py │ ├── offline-omnilingual-asr-ctc-decode-files.py │ ├── offline-omnilingual-asr-ctc-v2-decode-files.py │ ├── offline-sense-voice-ctc-decode-files-with-hr.py │ ├── offline-sense-voice-ctc-decode-files.py │ ├── offline-source-separation-spleeter.py │ ├── offline-source-separation-uvr.py │ ├── offline-speaker-diarization.py │ ├── offline-speech-enhancement-dpdfnet.py │ ├── offline-speech-enhancement-gtcrn.py │ ├── offline-telespeech-ctc-decode-files.py │ ├── offline-tts-play.py │ ├── offline-tts.py │ ├── offline-websocket-client-decode-files-paralell.py │ ├── offline-websocket-client-decode-files-sequential.py │ ├── offline-whisper-decode-files.py │ ├── offline-zipformer-ctc-decode-files.py │ ├── online-decode-files.py │ ├── online-nemo-ctc-decode-files.py │ ├── online-speech-enhancement-dpdfnet.py │ ├── online-speech-enhancement-gtcrn.py │ ├── online-t-one-ctc-decode-files.py │ ├── online-websocket-client-decode-file.py │ ├── online-websocket-client-microphone.py │ ├── online-zipformer-ctc-hlg-decode-file.py │ ├── pocket-tts-play.py │ ├── pocket-tts.py │ ├── simulate-streaming-paraformer-microphone.py │ ├── simulate-streaming-sense-voice-microphone.py │ ├── speaker-identification-with-vad-dynamic.py │ ├── speaker-identification-with-vad-non-streaming-asr-alsa.py │ ├── speaker-identification-with-vad-non-streaming-asr.py │ ├── speaker-identification-with-vad.py │ ├── speaker-identification.py │ ├── speech-recognition-from-microphone-with-endpoint-detection-alsa.py │ ├── speech-recognition-from-microphone-with-endpoint-detection.py │ ├── speech-recognition-from-microphone.py │ ├── speech-recognition-from-url.py │ ├── spoken-language-identification.py │ ├── streaming-paraformer-asr-microphone.py │ ├── streaming_server.py │ ├── supertonic-tts.py │ ├── test-sentence-piece-tokenizer.py │ ├── test-whisper-timestamps.py │ ├── two-pass-speech-recognition-from-microphone.py │ ├── two-pass-wss.py │ ├── vad-alsa.py │ ├── vad-microphone.py │ ├── vad-remove-non-speech-segments-alsa.py │ ├── vad-remove-non-speech-segments-from-file.py │ ├── vad-remove-non-speech-segments.py │ ├── vad-with-non-streaming-asr.py │ ├── web/ │ │ ├── .gitignore │ │ ├── generate-certificate.py │ │ ├── index.html │ │ ├── js/ │ │ │ ├── offline_record.js │ │ │ ├── streaming_record.js │ │ │ └── upload.js │ │ ├── nav-partial.html │ │ ├── offline_record.html │ │ ├── start-https-server.py │ │ ├── streaming_record.html │ │ └── upload.html │ ├── zipvoice-tts-play.py │ └── zipvoice-tts.py ├── release.sh ├── rust-api-examples/ │ ├── .gitignore │ ├── Cargo.toml │ ├── README.md │ ├── examples/ │ │ ├── audio_tagging_ced.rs │ │ ├── audio_tagging_zipformer.rs │ │ ├── fire_red_asr_ctc.rs │ │ ├── keyword_spotter.rs │ │ ├── kitten_tts_en.rs │ │ ├── kokoro_tts_en.rs │ │ ├── kokoro_tts_zh_en.rs │ │ ├── matcha_tts_en.rs │ │ ├── matcha_tts_zh.rs │ │ ├── moonshine_v2.rs │ │ ├── nemo_parakeet.rs │ │ ├── offline_punctuation.rs │ │ ├── offline_speaker_diarization.rs │ │ ├── offline_speech_enhancement_dpdfnet.rs │ │ ├── offline_speech_enhancement_gtcrn.rs │ │ ├── online_punctuation.rs │ │ ├── pocket_tts.rs │ │ ├── sense_voice.rs │ │ ├── silero_vad_remove_silence.rs │ │ ├── speaker_embedding_cosine_similarity.rs │ │ ├── speaker_embedding_extractor.rs │ │ ├── speaker_embedding_manager.rs │ │ ├── spoken_language_identification.rs │ │ ├── streaming_speech_enhancement_dpdfnet.rs │ │ ├── streaming_speech_enhancement_gtcrn.rs │ │ ├── streaming_zipformer.rs │ │ ├── streaming_zipformer_microphone.rs │ │ ├── supertonic_tts.rs │ │ ├── version.rs │ │ ├── vits_tts.rs │ │ └── zipvoice_tts.rs │ ├── run-audio-tagging-ced.sh │ ├── run-audio-tagging-zipformer.sh │ ├── run-fire-red-asr-ctc.sh │ ├── run-keyword-spotter.sh │ ├── run-kitten-tts-en.sh │ ├── run-kokoro-tts-en.sh │ ├── run-kokoro-tts-zh-en.sh │ ├── run-matcha-tts-en.sh │ ├── run-matcha-tts-zh.sh │ ├── run-moonshine-v2.sh │ ├── run-nemo-parakeet-en.sh │ ├── run-offline-punctuation.sh │ ├── run-offline-speaker-diarization.sh │ ├── run-offline-speech-enhancement-dpdfnet.sh │ ├── run-offline-speech-enhancement-gtcrn.sh │ ├── run-online-punctuation.sh │ ├── run-pocket-tts.sh │ ├── run-sense-voice.sh │ ├── run-silero-vad-remove-silence.sh │ ├── run-speaker-embedding-cosine-similarity.sh │ ├── run-speaker-embedding-extractor.sh │ ├── run-speaker-embedding-manager.sh │ ├── run-spoken-language-identification.sh │ ├── run-streaming-speech-enhancement-dpdfnet.sh │ ├── run-streaming-speech-enhancement-gtcrn.sh │ ├── run-streaming-zipformer-en.sh │ ├── run-streaming-zipformer-microphone-zh-en.sh │ ├── run-streaming-zipformer-zh-en.sh │ ├── run-supertonic-tts.sh │ ├── run-version.sh │ ├── run-vits-de.sh │ ├── run-vits-en.sh │ ├── run-zipformer-en.sh │ ├── run-zipformer-vi.sh │ ├── run-zipformer-zh-en.sh │ └── run-zipvoice-tts.sh ├── scripts/ │ ├── 3dspeaker/ │ │ ├── README.md │ │ ├── export-onnx.py │ │ └── test-onnx.py │ ├── apk/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── build-apk-asr-2pass.sh.in │ │ ├── build-apk-asr.sh.in │ │ ├── build-apk-audio-tagging-wearos.sh.in │ │ ├── build-apk-audio-tagging.sh.in │ │ ├── build-apk-qnn-vad-asr-simulate-streaming.sh.in │ │ ├── build-apk-slid.sh.in │ │ ├── build-apk-speaker-diarization.sh.in │ │ ├── build-apk-speaker-identification.sh.in │ │ ├── build-apk-tts-engine.sh.in │ │ ├── build-apk-tts.sh.in │ │ ├── build-apk-vad-asr-simulate-streaming.sh.in │ │ ├── build-apk-vad-asr.sh.in │ │ ├── generate-asr-2pass-apk-script.py │ │ ├── generate-asr-apk-script.py │ │ ├── generate-audio-tagging-apk-script.py │ │ ├── generate-qnn-vad-asr-apk-script.py │ │ ├── generate-slid-apk-script.py │ │ ├── generate-speaker-diarization-apk-script.py │ │ ├── generate-speaker-identification-apk-script.py │ │ ├── generate-tts-apk-script.py │ │ └── generate-vad-asr-apk-script.py │ ├── bbpe/ │ │ ├── .gitignore │ │ └── generate_bbpe_table.py │ ├── benchmark/ │ │ ├── README.md │ │ ├── download_librispeech_test_data.py │ │ └── run_timestamp_benchmark.py │ ├── check_style_cpplint.sh │ ├── dart/ │ │ ├── add-punctuations-pubspec.yaml │ │ ├── audio-tagging-pubspec.yaml │ │ ├── kws-pubspec.yaml │ │ ├── non-streaming-asr-pubspec.yaml │ │ ├── release.sh │ │ ├── sherpa-onnx-pubspec.yaml │ │ ├── slid-pubspec.yaml │ │ ├── speaker-diarization-pubspec.yaml │ │ ├── speaker-id-pubspec.yaml │ │ ├── speech-enhancement-dpdfnet-pubspec.yaml │ │ ├── speech-enhancement-gtcrn-pubspec.yaml │ │ ├── streaming-asr-pubspec.yaml │ │ ├── streaming-speech-enhancement-dpdfnet-pubspec.yaml │ │ ├── streaming-speech-enhancement-gtcrn-pubspec.yaml │ │ ├── tts-pubspec.yaml │ │ ├── vad-non-streaming-asr-pubspec.yaml │ │ └── vad-pubspec.yaml │ ├── dotnet/ │ │ ├── .gitignore │ │ ├── AudioEvent.cs │ │ ├── AudioTagging.cs │ │ ├── AudioTaggingConfig.cs │ │ ├── AudioTaggingModelConfig.cs │ │ ├── CircularBuffer.cs │ │ ├── DenoisedAudio.cs │ │ ├── Dll.cs │ │ ├── FastClusteringConfig.cs │ │ ├── FeatureConfig.cs │ │ ├── HomophoneReplacerConfig.cs │ │ ├── KeywordResult.cs │ │ ├── KeywordSpotter.cs │ │ ├── KeywordSpotterConfig.cs │ │ ├── OfflineCanaryModelConfig.cs │ │ ├── OfflineDolphinModelConfig.cs │ │ ├── OfflineFireRedAsrCtcModel.cs │ │ ├── OfflineFireRedAsrModelConfig.cs │ │ ├── OfflineFunAsrNanoModel.cs │ │ ├── OfflineLMConfig.cs │ │ ├── OfflineMedAsrCtcModel.cs │ │ ├── OfflineModelConfig.cs │ │ ├── OfflineMoonshineModelConfig.cs │ │ ├── OfflineNemoEncDecCtcModelConfig.cs │ │ ├── OfflineOmnilingualAsrCtcModel.cs │ │ ├── OfflineParaformerModelConfig.cs │ │ ├── OfflinePunctuation.cs │ │ ├── OfflinePunctuationConfig.cs │ │ ├── OfflinePunctuationModelConfig.cs │ │ ├── OfflineRecognizer.cs │ │ ├── OfflineRecognizerConfig.cs │ │ ├── OfflineRecognizerResult.cs │ │ ├── OfflineSenseVoiceModelConfig.cs │ │ ├── OfflineSpeakerDiarization.cs │ │ ├── OfflineSpeakerDiarizationConfig.cs │ │ ├── OfflineSpeakerDiarizationSegment.cs │ │ ├── OfflineSpeakerSegmentationModelConfig.cs │ │ ├── OfflineSpeakerSegmentationPyannoteModelConfig.cs │ │ ├── OfflineSpeechDenoiser.cs │ │ ├── OfflineSpeechDenoiserConfig.cs │ │ ├── OfflineSpeechDenoiserDpdfNetModelConfig.cs │ │ ├── OfflineSpeechDenoiserGtcrnModelConfig.cs │ │ ├── OfflineSpeechDenoiserModelConfig.cs │ │ ├── OfflineStream.cs │ │ ├── OfflineTdnnModelConfig.cs │ │ ├── OfflineTransducerModelConfig.cs │ │ ├── OfflineTts.cs │ │ ├── OfflineTtsConfig.cs │ │ ├── OfflineTtsGeneratedAudio.cs │ │ ├── OfflineTtsGenerationConfig.cs │ │ ├── OfflineTtsKittenModelConfig.cs │ │ ├── OfflineTtsKokoroModelConfig.cs │ │ ├── OfflineTtsMatchaModelConfig.cs │ │ ├── OfflineTtsModelConfig.cs │ │ ├── OfflineTtsPocketModelConfig.cs │ │ ├── OfflineTtsSupertonicModelConfig.cs │ │ ├── OfflineTtsVitsModelConfig.cs │ │ ├── OfflineTtsZipVoiceModelConfig.cs │ │ ├── OfflineWenetCtcModelConfig.cs │ │ ├── OfflineWhisperModelConfig.cs │ │ ├── OfflineZipformerAudioTaggingModelConfig.cs │ │ ├── OfflineZipformerCtcModelConfig.cs │ │ ├── OnlineCtcFstDecoderConfig.cs │ │ ├── OnlineModelConfig.cs │ │ ├── OnlineNemoCtcModelConfig.cs │ │ ├── OnlineParaformerModelConfig.cs │ │ ├── OnlineRecognizer.cs │ │ ├── OnlineRecognizerConfig.cs │ │ ├── OnlineRecognizerResult.cs │ │ ├── OnlineSpeechDenoiser.cs │ │ ├── OnlineSpeechDenoiserConfig.cs │ │ ├── OnlineStream.cs │ │ ├── OnlineToneCtcModelConfig.cs │ │ ├── OnlineTransducerModelConfig.cs │ │ ├── OnlineZipformer2CtcModelConfig.cs │ │ ├── README.md │ │ ├── SileroVadModelConfig.cs │ │ ├── SpeakerEmbeddingExtractor.cs │ │ ├── SpeakerEmbeddingExtractorConfig.cs │ │ ├── SpeakerEmbeddingManager.cs │ │ ├── SpeechSegment.cs │ │ ├── SpokenLanguageIdentification.cs │ │ ├── SpokenLanguageIdentificationConfig.cs │ │ ├── SpokenLanguageIdentificationResult.cs │ │ ├── SpokenLanguageIdentificationWhisperConfig.cs │ │ ├── TenVadModelConfig.cs │ │ ├── VadModelConfig.cs │ │ ├── VersionInfo.cs │ │ ├── VoiceActivityDetector.cs │ │ ├── examples/ │ │ │ ├── Common.csproj │ │ │ └── README.md │ │ ├── generate.py │ │ ├── sherpa-onnx.csproj.in │ │ └── sherpa-onnx.csproj.runtime.in │ ├── export_bpe_vocab.py │ ├── flutter/ │ │ ├── .gitignore │ │ ├── build-android-streaming-asr.sh.in │ │ ├── build-android-tts.sh.in │ │ ├── build-linux-streaming-asr.sh.in │ │ ├── build-linux-tts.sh.in │ │ ├── build-macos-streaming-asr.sh.in │ │ ├── build-macos-tts.sh.in │ │ ├── build-windows-streaming-asr.sh.in │ │ ├── build-windows-tts.sh.in │ │ ├── generate-streaming-asr.py │ │ └── generate-tts.py │ ├── go/ │ │ ├── README.md │ │ ├── _internal/ │ │ │ ├── .gitignore │ │ │ ├── add-punctuation/ │ │ │ │ └── go.mod │ │ │ ├── add-punctuation-online/ │ │ │ │ └── go.mod │ │ │ ├── build_darwin_amd64.go │ │ │ ├── build_darwin_arm64.go │ │ │ ├── build_linux_amd64.go │ │ │ ├── build_linux_arm.go │ │ │ ├── build_linux_arm64.go │ │ │ ├── build_windows_386.go │ │ │ ├── build_windows_amd64.go │ │ │ ├── go.mod │ │ │ ├── lib/ │ │ │ │ └── x86_64-pc-windows-gnu/ │ │ │ │ └── .gitkeep │ │ │ ├── non-streaming-canary-decode-files/ │ │ │ │ └── go.mod │ │ │ ├── non-streaming-funasr-nano-decode-files/ │ │ │ │ └── go.mod │ │ │ ├── non-streaming-omnilingual-asr-ctc-decode-files/ │ │ │ │ └── go.mod │ │ │ ├── non-streaming-speaker-diarization/ │ │ │ │ └── go.mod │ │ │ ├── supertonic-tts/ │ │ │ │ └── go.mod │ │ │ ├── vad-speaker-identification/ │ │ │ │ └── go.mod │ │ │ ├── zero-shot-zipvoice-tts/ │ │ │ │ └── go.mod │ │ │ └── zero-shot-zipvoice-tts-play/ │ │ │ └── go.mod │ │ ├── defines.go.jinja │ │ ├── generate.py │ │ ├── release.sh │ │ ├── sherpa_onnx.go │ │ └── ssh_config │ ├── gtcrn/ │ │ ├── README.md │ │ ├── add_meta_data.py │ │ ├── show.py │ │ └── test.py │ ├── hap/ │ │ ├── .gitignore │ │ └── build-hap-vad-asr.sh.in │ ├── kitten-tts/ │ │ ├── README.md │ │ ├── mini_v0_1/ │ │ │ ├── add_meta_data.py │ │ │ ├── convert_opset.py │ │ │ └── generate_samples.py │ │ ├── nano_v0_1/ │ │ │ ├── add_meta_data.py │ │ │ ├── convert_opset.py │ │ │ ├── generate_samples.py │ │ │ ├── generate_tokens.py │ │ │ ├── generate_voices_bin.py │ │ │ ├── show.py │ │ │ └── test.py │ │ └── nano_v0_2/ │ │ ├── add_meta_data.py │ │ ├── convert_opset.py │ │ └── generate_samples.py │ ├── kokoro/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── v0.19/ │ │ │ ├── .gitignore │ │ │ ├── __init__.py │ │ │ ├── add_meta_data.py │ │ │ ├── dynamic_quantization.py │ │ │ ├── generate_samples.py │ │ │ ├── generate_tokens.py │ │ │ ├── generate_voices_bin.py │ │ │ └── test.py │ │ ├── v1.0/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── __init__.py │ │ │ ├── add_meta_data.py │ │ │ ├── dynamic_quantization.py │ │ │ ├── export_onnx.py │ │ │ ├── generate_lexicon_en.py │ │ │ ├── generate_lexicon_zh.py │ │ │ ├── generate_samples.py │ │ │ ├── generate_tokens.py │ │ │ ├── generate_voices_bin.py │ │ │ └── test.py │ │ └── v1.1-zh/ │ │ ├── README.md │ │ ├── add_meta_data.py │ │ ├── dynamic_quantization.py │ │ ├── export_onnx.py │ │ ├── generate_lexicon_zh.py │ │ ├── generate_samples.py │ │ ├── generate_voices_bin.py │ │ └── test.py │ ├── lazarus/ │ │ └── generate-subtitles.py │ ├── matcha-tts/ │ │ ├── README.md │ │ ├── en/ │ │ │ └── generate_samples.py │ │ ├── fa-en/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── add_meta_data.py │ │ │ └── test.py │ │ ├── zh/ │ │ │ └── generate_samples.py │ │ └── zh-en/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── generate_lexicon.py │ │ ├── generate_samples.py │ │ ├── generate_tokens.py │ │ └── test.py │ ├── medasr/ │ │ ├── README.md │ │ ├── export_onnx.py │ │ └── test_onnx.py │ ├── melo-tts/ │ │ ├── README.md │ │ ├── export-onnx-en.py │ │ ├── export-onnx.py │ │ ├── show-info.py │ │ └── test.py │ ├── mobile-asr-models/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── dynamic_quantization.py │ │ ├── generate-asr.py │ │ ├── generate-kws.py │ │ ├── parse_options.sh │ │ └── run2.sh.in │ ├── moonshine/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── export-onnx.py │ │ ├── test.py │ │ └── v2/ │ │ ├── README.md │ │ ├── generate_tokens.py │ │ └── test.py │ ├── nemo/ │ │ ├── .gitignore │ │ ├── GigaAM/ │ │ │ ├── README.md │ │ │ ├── export-onnx-ctc-v2.py │ │ │ ├── export-onnx-ctc-v3-punct.py │ │ │ ├── export-onnx-ctc-v3.py │ │ │ ├── export-onnx-ctc.py │ │ │ ├── export-onnx-rnnt-v2.py │ │ │ ├── export-onnx-rnnt-v3-punct.py │ │ │ ├── export-onnx-rnnt-v3.py │ │ │ ├── export-onnx-rnnt.py │ │ │ ├── run-ctc-v2.sh │ │ │ ├── run-ctc-v3-punct.sh │ │ │ ├── run-ctc-v3.sh │ │ │ ├── run-ctc.sh │ │ │ ├── run-rnnt-v2.sh │ │ │ ├── run-rnnt-v3-punct.sh │ │ │ ├── run-rnnt-v3.sh │ │ │ ├── run-rnnt.sh │ │ │ ├── test-onnx-ctc.py │ │ │ └── test-onnx-rnnt.py │ │ ├── README.md │ │ ├── canary/ │ │ │ ├── export_onnx_180m_flash.py │ │ │ ├── run_180m_flash.sh │ │ │ └── test_180m_flash.py │ │ ├── fast-conformer-hybrid-transducer-ctc/ │ │ │ ├── README.md │ │ │ ├── export-onnx-ctc-non-streaming.py │ │ │ ├── export-onnx-ctc.py │ │ │ ├── export-onnx-transducer-non-streaming.py │ │ │ ├── export-onnx-transducer.py │ │ │ ├── run-ctc-non-streaming-2.sh │ │ │ ├── run-ctc-non-streaming.sh │ │ │ ├── run-ctc.sh │ │ │ ├── run-transducer-non-streaming-2.sh │ │ │ ├── run-transducer-non-streaming.sh │ │ │ ├── run-transducer.sh │ │ │ ├── show-onnx-transudcer.py │ │ │ ├── test-onnx-ctc-non-streaming.py │ │ │ ├── test-onnx-ctc.py │ │ │ ├── test-onnx-transducer-non-streaming.py │ │ │ └── test-onnx-transducer.py │ │ ├── generate_bpe_vocab.py │ │ ├── nemotron-speech-streaming-en-0.6b/ │ │ │ └── export_onnx.py │ │ ├── parakeet-tdt-0.6b-v2/ │ │ │ ├── export_onnx.py │ │ │ └── test_onnx.py │ │ ├── parakeet-tdt-0.6b-v3/ │ │ │ └── export_onnx.py │ │ ├── parakeet-tdt_ctc-0.6b-ja/ │ │ │ ├── export-onnx-ctc.py │ │ │ └── run-ctc.sh │ │ └── speaker-verification/ │ │ ├── README.md │ │ ├── export-onnx.py │ │ └── test-onnx.py │ ├── node-addon-api/ │ │ ├── .gitignore │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── lib/ │ │ │ ├── addon-static-import.js │ │ │ ├── addon.js │ │ │ ├── audio-tagg.js │ │ │ ├── keyword-spotter.js │ │ │ ├── non-streaming-asr.js │ │ │ ├── non-streaming-speaker-diarization.js │ │ │ ├── non-streaming-speech-denoiser.js │ │ │ ├── non-streaming-tts.js │ │ │ ├── online-speech-denoiser.js │ │ │ ├── punctuation.js │ │ │ ├── sherpa-onnx.js │ │ │ ├── speaker-identification.js │ │ │ ├── spoken-language-identification.js │ │ │ ├── streaming-asr.js │ │ │ ├── types.js │ │ │ └── vad.js │ │ ├── package.json │ │ ├── test/ │ │ │ ├── test_asr_streaming_transducer.js │ │ │ └── test_binding.js │ │ └── tsconfig.json │ ├── nodejs/ │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── omnilingual-asr/ │ │ ├── README.md │ │ ├── export-onnx.py │ │ └── test.py │ ├── paraformer/ │ │ ├── .gitignore │ │ ├── ascend-npu/ │ │ │ ├── export_decoder_onnx.py │ │ │ ├── export_encoder_onnx.py │ │ │ ├── export_predictor_onnx.py │ │ │ └── test_om.py │ │ ├── qnn/ │ │ │ ├── .gitignore │ │ │ ├── convert_decoder.sh │ │ │ ├── convert_encoder.sh │ │ │ ├── convert_predictor.sh │ │ │ ├── generate_decoder_data.py │ │ │ ├── generate_encoder_data.py │ │ │ ├── generate_predictor_data.py │ │ │ └── test_qnn.py │ │ └── rknn/ │ │ ├── download-example-model.sh │ │ ├── export_decoder_onnx.py │ │ ├── export_encoder_onnx.py │ │ ├── export_predictor_onnx.py │ │ ├── export_rknn.py │ │ ├── test_onnx.py │ │ └── torch_model.py │ ├── peng-cheng-starling/ │ │ ├── .gitignore │ │ ├── README.md │ │ └── quantize_models.py │ ├── piper/ │ │ ├── .gitignore │ │ ├── add_meta_data.py │ │ ├── dynamic_quantization.py │ │ ├── generate.py │ │ ├── generate.sh.in │ │ └── generate_samples.py.in │ ├── pocket-tts/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── convert_tokenizer.py │ │ └── test_tokenizer.py │ ├── pyannote/ │ │ └── segmentation/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── export-onnx.py │ │ ├── notes.md │ │ ├── preprocess.sh │ │ ├── show-onnx.py │ │ ├── speaker-diarization-onnx.py │ │ ├── speaker-diarization-torch.py │ │ ├── vad-onnx.py │ │ └── vad-torch.py │ ├── qnn/ │ │ ├── __init__.py │ │ ├── device_info.py │ │ └── generate_config.py │ ├── sense-voice/ │ │ ├── README-nano.md │ │ ├── README.md │ │ ├── ascend-npu/ │ │ │ ├── export_onnx.py │ │ │ ├── export_onnx_static_shape.py │ │ │ ├── test_om.py │ │ │ └── test_om_static.py │ │ ├── export-onnx.py │ │ ├── export_onnx_nano.py │ │ ├── qnn/ │ │ │ ├── .gitignore │ │ │ ├── decode_logits.py │ │ │ └── generate_test_data.py │ │ ├── rknn/ │ │ │ ├── adaptor.py │ │ │ ├── export-onnx.py │ │ │ ├── export-rknn.py │ │ │ ├── nano.py │ │ │ ├── test_nano_torch.py │ │ │ ├── test_onnx.py │ │ │ └── torch_model.py │ │ ├── show-info.py │ │ ├── test.py │ │ └── test_onnx_nano.py │ ├── silero_vad/ │ │ └── v4/ │ │ ├── README.md │ │ ├── export-onnx.py │ │ ├── export-rknn.py │ │ ├── show.py │ │ ├── test-on-rk3588-board.py │ │ └── test-onnx.py │ ├── spleeter/ │ │ ├── .gitignore │ │ ├── __init__.py │ │ ├── convert_to_pb.py │ │ ├── convert_to_torch.py │ │ ├── export_onnx.py │ │ ├── separate.py │ │ ├── separate_onnx.py │ │ └── unet.py │ ├── supertonic/ │ │ ├── README.md │ │ ├── convert.py │ │ ├── dump_inputs.py │ │ ├── gen_calib_configs.py │ │ ├── generate_indexer_bin.py │ │ └── generate_voices_bin.py │ ├── t-one/ │ │ ├── README.md │ │ ├── add_meta_data.py │ │ ├── generate_tokens.py │ │ └── test.py │ ├── tele-speech/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── add-metadata.py │ │ └── test.py │ ├── text2token.py │ ├── utils.sh │ ├── uvr_mdx/ │ │ ├── READEME.md │ │ ├── add_meta_data_and_quantize.py │ │ ├── show.py │ │ └── test.py │ ├── vits/ │ │ ├── .gitignore │ │ ├── __init__.py │ │ ├── export-onnx-ljs.py │ │ └── export-onnx-vctk.py │ ├── vocos/ │ │ ├── README.md │ │ ├── add_meta_data.py │ │ └── test.py │ ├── wasm/ │ │ ├── generate-tts.py │ │ ├── generate-vad-asr.py │ │ ├── run-tts.sh.in │ │ └── run-vad-asr.sh.in │ ├── wenet/ │ │ ├── README.md │ │ ├── export-onnx-streaming.py │ │ ├── export-onnx.py │ │ ├── test-onnx-streaming.py │ │ └── test-onnx.py │ ├── wespeaker/ │ │ ├── README.md │ │ ├── add_meta_data.py │ │ └── test.py │ ├── wheel/ │ │ ├── README.md │ │ ├── patch_wheel.py │ │ ├── sherpa-onnx-bin/ │ │ │ └── setup.py │ │ └── sherpa-onnx-core/ │ │ ├── .gitignore │ │ ├── MANIFEST.in │ │ ├── setup.py │ │ └── sherpa_onnx/ │ │ ├── __main__.py │ │ └── _info.py │ ├── whisper/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── ascend-npu/ │ │ │ └── test_om.py │ │ ├── export-onnx-with-attention.py │ │ ├── export-onnx.py │ │ ├── find_alignment_heads.py │ │ ├── model-info.md │ │ ├── requirements.txt │ │ ├── rknn/ │ │ │ ├── README.md │ │ │ ├── export_onnx.py │ │ │ ├── export_rknn.py │ │ │ ├── generate_decoder_data.py │ │ │ ├── generate_encoder_data.py │ │ │ ├── notes.md │ │ │ ├── test_on_rk3588_board.py │ │ │ ├── test_onnx.py │ │ │ ├── test_qnn.py │ │ │ ├── test_torch.py │ │ │ └── tiny-en-onnx-info.md │ │ ├── test.py │ │ ├── test_torch.py │ │ └── tools/ │ │ ├── timestamp_viewer.html │ │ └── whisper_timestamps_csv.py │ ├── zipformer-ctc/ │ │ └── ascend/ │ │ └── 2025-07-03/ │ │ ├── onnx_test.py │ │ └── test_om.py │ └── zipvoice/ │ └── zh-en/ │ ├── generate_lexicon.py │ └── test_onnx.py ├── setup.py ├── sherpa-onnx/ │ ├── CMakeLists.txt │ ├── c-api/ │ │ ├── CMakeLists.txt │ │ ├── Doxyfile │ │ ├── README.md │ │ ├── c-api.cc │ │ ├── c-api.h │ │ ├── cxx-api.cc │ │ ├── cxx-api.h │ │ ├── generate.sh │ │ ├── mainpage.md │ │ ├── sherpa-onnx-symbols-c.exp │ │ └── sherpa-onnx-symbols-c.lds │ ├── csrc/ │ │ ├── .gitignore │ │ ├── CMakeLists.txt │ │ ├── CPPLINT.cfg │ │ ├── README.md │ │ ├── alsa-play.cc │ │ ├── alsa-play.h │ │ ├── alsa.cc │ │ ├── alsa.h │ │ ├── ascend/ │ │ │ ├── macros.h │ │ │ ├── offline-paraformer-model-ascend.cc │ │ │ ├── offline-paraformer-model-ascend.h │ │ │ ├── offline-recognizer-zipformer-ctc-ascend-impl.h │ │ │ ├── offline-sense-voice-model-ascend.cc │ │ │ ├── offline-sense-voice-model-ascend.h │ │ │ ├── offline-whisper-model-ascend.cc │ │ │ ├── offline-whisper-model-ascend.h │ │ │ ├── offline-zipformer-ctc-model-ascend.cc │ │ │ ├── offline-zipformer-ctc-model-ascend.h │ │ │ ├── utils.cc │ │ │ └── utils.h │ │ ├── audio-tagging-ced-impl.h │ │ ├── audio-tagging-impl.cc │ │ ├── audio-tagging-impl.h │ │ ├── audio-tagging-label-file.cc │ │ ├── audio-tagging-label-file.h │ │ ├── audio-tagging-model-config.cc │ │ ├── audio-tagging-model-config.h │ │ ├── audio-tagging-zipformer-impl.h │ │ ├── audio-tagging.cc │ │ ├── audio-tagging.h │ │ ├── axcl/ │ │ │ ├── axcl-engine-guard.cc │ │ │ ├── axcl-engine-guard.h │ │ │ ├── axcl-engine-io-guard.cc │ │ │ ├── axcl-engine-io-guard.h │ │ │ ├── axcl-engine-io-info-guard.cc │ │ │ ├── axcl-engine-io-info-guard.h │ │ │ ├── axcl-manager.cc │ │ │ ├── axcl-manager.h │ │ │ ├── axcl-model.cc │ │ │ ├── axcl-model.h │ │ │ ├── offline-sense-voice-model-axcl.cc │ │ │ ├── offline-sense-voice-model-axcl.h │ │ │ ├── utils.cc │ │ │ └── utils.h │ │ ├── axera/ │ │ │ ├── ax-engine-guard.cc │ │ │ ├── ax-engine-guard.h │ │ │ ├── offline-sense-voice-model-axera.cc │ │ │ ├── offline-sense-voice-model-axera.h │ │ │ ├── utils.cc │ │ │ └── utils.h │ │ ├── base64-decode.cc │ │ ├── base64-decode.h │ │ ├── bbpe.cc │ │ ├── bbpe.h │ │ ├── cat-test.cc │ │ ├── cat.cc │ │ ├── cat.h │ │ ├── character-lexicon.cc │ │ ├── character-lexicon.h │ │ ├── circular-buffer-test.cc │ │ ├── circular-buffer.cc │ │ ├── circular-buffer.h │ │ ├── context-graph-test.cc │ │ ├── context-graph.cc │ │ ├── context-graph.h │ │ ├── display.h │ │ ├── endpoint.cc │ │ ├── endpoint.h │ │ ├── fast-clustering-config.cc │ │ ├── fast-clustering-config.h │ │ ├── fast-clustering-test.cc │ │ ├── fast-clustering.cc │ │ ├── fast-clustering.h │ │ ├── features.cc │ │ ├── features.h │ │ ├── file-utils.cc │ │ ├── file-utils.h │ │ ├── fst-utils.cc │ │ ├── fst-utils.h │ │ ├── funasr-nano-tokenizer.cc │ │ ├── funasr-nano-tokenizer.h │ │ ├── hifigan-vocoder.cc │ │ ├── hifigan-vocoder.h │ │ ├── homophone-replacer.cc │ │ ├── homophone-replacer.h │ │ ├── hypothesis.cc │ │ ├── hypothesis.h │ │ ├── keyword-spotter-impl.cc │ │ ├── keyword-spotter-impl.h │ │ ├── keyword-spotter-transducer-impl.h │ │ ├── keyword-spotter.cc │ │ ├── keyword-spotter.h │ │ ├── kokoro-multi-lang-lexicon.cc │ │ ├── kokoro-multi-lang-lexicon.h │ │ ├── lexicon.cc │ │ ├── lexicon.h │ │ ├── lodr-fst.cc │ │ ├── lodr-fst.h │ │ ├── log.cc │ │ ├── log.h │ │ ├── macros.h │ │ ├── matcha-tts-lexicon.cc │ │ ├── matcha-tts-lexicon.h │ │ ├── math-test.cc │ │ ├── math.cc │ │ ├── math.h │ │ ├── melo-tts-lexicon.cc │ │ ├── melo-tts-lexicon.h │ │ ├── microphone.cc │ │ ├── microphone.h │ │ ├── normal-data-generator.cc │ │ ├── normal-data-generator.h │ │ ├── offline-canary-model-config.cc │ │ ├── offline-canary-model-config.h │ │ ├── offline-canary-model-meta-data.h │ │ ├── offline-canary-model.cc │ │ ├── offline-canary-model.h │ │ ├── offline-ced-model.cc │ │ ├── offline-ced-model.h │ │ ├── offline-ct-transformer-model-meta-data.h │ │ ├── offline-ct-transformer-model.cc │ │ ├── offline-ct-transformer-model.h │ │ ├── offline-ctc-decoder.h │ │ ├── offline-ctc-fst-decoder-config.cc │ │ ├── offline-ctc-fst-decoder-config.h │ │ ├── offline-ctc-fst-decoder.cc │ │ ├── offline-ctc-fst-decoder.h │ │ ├── offline-ctc-greedy-search-decoder.cc │ │ ├── offline-ctc-greedy-search-decoder.h │ │ ├── offline-ctc-model.cc │ │ ├── offline-ctc-model.h │ │ ├── offline-dolphin-model-config.cc │ │ ├── offline-dolphin-model-config.h │ │ ├── offline-dolphin-model-meta-data.h │ │ ├── offline-dolphin-model.cc │ │ ├── offline-dolphin-model.h │ │ ├── offline-fire-red-asr-ctc-model-config.cc │ │ ├── offline-fire-red-asr-ctc-model-config.h │ │ ├── offline-fire-red-asr-ctc-model.cc │ │ ├── offline-fire-red-asr-ctc-model.h │ │ ├── offline-fire-red-asr-decoder.h │ │ ├── offline-fire-red-asr-greedy-search-decoder.cc │ │ ├── offline-fire-red-asr-greedy-search-decoder.h │ │ ├── offline-fire-red-asr-model-config.cc │ │ ├── offline-fire-red-asr-model-config.h │ │ ├── offline-fire-red-asr-model-meta-data.h │ │ ├── offline-fire-red-asr-model.cc │ │ ├── offline-fire-red-asr-model.h │ │ ├── offline-funasr-nano-model-config.cc │ │ ├── offline-funasr-nano-model-config.h │ │ ├── offline-funasr-nano-model.cc │ │ ├── offline-funasr-nano-model.h │ │ ├── offline-lm-config.cc │ │ ├── offline-lm-config.h │ │ ├── offline-lm.cc │ │ ├── offline-lm.h │ │ ├── offline-medasr-ctc-model-config.cc │ │ ├── offline-medasr-ctc-model-config.h │ │ ├── offline-medasr-ctc-model.cc │ │ ├── offline-medasr-ctc-model.h │ │ ├── offline-model-config.cc │ │ ├── offline-model-config.h │ │ ├── offline-moonshine-decoder.h │ │ ├── offline-moonshine-greedy-search-decoder.cc │ │ ├── offline-moonshine-greedy-search-decoder.h │ │ ├── offline-moonshine-model-config.cc │ │ ├── offline-moonshine-model-config.h │ │ ├── offline-moonshine-model-v2.cc │ │ ├── offline-moonshine-model-v2.h │ │ ├── offline-moonshine-model.cc │ │ ├── offline-moonshine-model.h │ │ ├── offline-moonshine-v2-greedy-search-decoder.cc │ │ ├── offline-moonshine-v2-greedy-search-decoder.h │ │ ├── offline-nemo-enc-dec-ctc-model-config.cc │ │ ├── offline-nemo-enc-dec-ctc-model-config.h │ │ ├── offline-nemo-enc-dec-ctc-model.cc │ │ ├── offline-nemo-enc-dec-ctc-model.h │ │ ├── offline-omnilingual-asr-ctc-model-config.cc │ │ ├── offline-omnilingual-asr-ctc-model-config.h │ │ ├── offline-omnilingual-asr-ctc-model.cc │ │ ├── offline-omnilingual-asr-ctc-model.h │ │ ├── offline-paraformer-decoder.h │ │ ├── offline-paraformer-greedy-search-decoder.cc │ │ ├── offline-paraformer-greedy-search-decoder.h │ │ ├── offline-paraformer-model-config.cc │ │ ├── offline-paraformer-model-config.h │ │ ├── offline-paraformer-model.cc │ │ ├── offline-paraformer-model.h │ │ ├── offline-punctuation-ct-transformer-impl.h │ │ ├── offline-punctuation-impl.cc │ │ ├── offline-punctuation-impl.h │ │ ├── offline-punctuation-model-config.cc │ │ ├── offline-punctuation-model-config.h │ │ ├── offline-punctuation.cc │ │ ├── offline-punctuation.h │ │ ├── offline-recognizer-canary-impl.h │ │ ├── offline-recognizer-ctc-impl.h │ │ ├── offline-recognizer-fire-red-asr-impl.h │ │ ├── offline-recognizer-funasr-nano-impl.cc │ │ ├── offline-recognizer-funasr-nano-impl.h │ │ ├── offline-recognizer-impl.cc │ │ ├── offline-recognizer-impl.h │ │ ├── offline-recognizer-moonshine-impl.h │ │ ├── offline-recognizer-moonshine-v2-impl.h │ │ ├── offline-recognizer-paraformer-impl.h │ │ ├── offline-recognizer-paraformer-tpl-impl.h │ │ ├── offline-recognizer-sense-voice-impl.h │ │ ├── offline-recognizer-sense-voice-tpl-impl.h │ │ ├── offline-recognizer-transducer-impl.h │ │ ├── offline-recognizer-transducer-nemo-impl.h │ │ ├── offline-recognizer-whisper-impl.h │ │ ├── offline-recognizer-whisper-tpl-impl.h │ │ ├── offline-recognizer.cc │ │ ├── offline-recognizer.h │ │ ├── offline-rnn-lm.cc │ │ ├── offline-rnn-lm.h │ │ ├── offline-sense-voice-model-config.cc │ │ ├── offline-sense-voice-model-config.h │ │ ├── offline-sense-voice-model-meta-data.h │ │ ├── offline-sense-voice-model.cc │ │ ├── offline-sense-voice-model.h │ │ ├── offline-source-separation-impl.cc │ │ ├── offline-source-separation-impl.h │ │ ├── offline-source-separation-model-config.cc │ │ ├── offline-source-separation-model-config.h │ │ ├── offline-source-separation-spleeter-impl.h │ │ ├── offline-source-separation-spleeter-model-config.cc │ │ ├── offline-source-separation-spleeter-model-config.h │ │ ├── offline-source-separation-spleeter-model-meta-data.h │ │ ├── offline-source-separation-spleeter-model.cc │ │ ├── offline-source-separation-spleeter-model.h │ │ ├── offline-source-separation-uvr-impl.h │ │ ├── offline-source-separation-uvr-model-config.cc │ │ ├── offline-source-separation-uvr-model-config.h │ │ ├── offline-source-separation-uvr-model-meta-data.h │ │ ├── offline-source-separation-uvr-model.cc │ │ ├── offline-source-separation-uvr-model.h │ │ ├── offline-source-separation.cc │ │ ├── offline-source-separation.h │ │ ├── offline-speaker-diarization-impl.cc │ │ ├── offline-speaker-diarization-impl.h │ │ ├── offline-speaker-diarization-pyannote-impl.h │ │ ├── offline-speaker-diarization-result.cc │ │ ├── offline-speaker-diarization-result.h │ │ ├── offline-speaker-diarization.cc │ │ ├── offline-speaker-diarization.h │ │ ├── offline-speaker-segmentation-model-config.cc │ │ ├── offline-speaker-segmentation-model-config.h │ │ ├── offline-speaker-segmentation-pyannote-model-config.cc │ │ ├── offline-speaker-segmentation-pyannote-model-config.h │ │ ├── offline-speaker-segmentation-pyannote-model-meta-data.h │ │ ├── offline-speaker-segmentation-pyannote-model.cc │ │ ├── offline-speaker-segmentation-pyannote-model.h │ │ ├── offline-speech-denoiser-dpdfnet-impl.h │ │ ├── offline-speech-denoiser-dpdfnet-model-config.cc │ │ ├── offline-speech-denoiser-dpdfnet-model-config.h │ │ ├── offline-speech-denoiser-dpdfnet-model-meta-data.h │ │ ├── offline-speech-denoiser-dpdfnet-model.cc │ │ ├── offline-speech-denoiser-dpdfnet-model.h │ │ ├── offline-speech-denoiser-gtcrn-impl.h │ │ ├── offline-speech-denoiser-gtcrn-model-config.cc │ │ ├── offline-speech-denoiser-gtcrn-model-config.h │ │ ├── offline-speech-denoiser-gtcrn-model-meta-data.h │ │ ├── offline-speech-denoiser-gtcrn-model.cc │ │ ├── offline-speech-denoiser-gtcrn-model.h │ │ ├── offline-speech-denoiser-impl.cc │ │ ├── offline-speech-denoiser-impl.h │ │ ├── offline-speech-denoiser-model-config.cc │ │ ├── offline-speech-denoiser-model-config.h │ │ ├── offline-speech-denoiser.cc │ │ ├── offline-speech-denoiser.h │ │ ├── offline-stream.cc │ │ ├── offline-stream.h │ │ ├── offline-tdnn-ctc-model.cc │ │ ├── offline-tdnn-ctc-model.h │ │ ├── offline-tdnn-model-config.cc │ │ ├── offline-tdnn-model-config.h │ │ ├── offline-telespeech-ctc-model.cc │ │ ├── offline-telespeech-ctc-model.h │ │ ├── offline-transducer-decoder.h │ │ ├── offline-transducer-greedy-search-decoder.cc │ │ ├── offline-transducer-greedy-search-decoder.h │ │ ├── offline-transducer-greedy-search-nemo-decoder.cc │ │ ├── offline-transducer-greedy-search-nemo-decoder.h │ │ ├── offline-transducer-model-config.cc │ │ ├── offline-transducer-model-config.h │ │ ├── offline-transducer-model.cc │ │ ├── offline-transducer-model.h │ │ ├── offline-transducer-modified-beam-search-decoder.cc │ │ ├── offline-transducer-modified-beam-search-decoder.h │ │ ├── offline-transducer-modified-beam-search-nemo-decoder.cc │ │ ├── offline-transducer-modified-beam-search-nemo-decoder.h │ │ ├── offline-transducer-nemo-model.cc │ │ ├── offline-transducer-nemo-model.h │ │ ├── offline-tts-character-frontend.cc │ │ ├── offline-tts-character-frontend.h │ │ ├── offline-tts-frontend.cc │ │ ├── offline-tts-frontend.h │ │ ├── offline-tts-impl.cc │ │ ├── offline-tts-impl.h │ │ ├── offline-tts-kitten-impl.h │ │ ├── offline-tts-kitten-model-config.cc │ │ ├── offline-tts-kitten-model-config.h │ │ ├── offline-tts-kitten-model-meta-data.h │ │ ├── offline-tts-kitten-model.cc │ │ ├── offline-tts-kitten-model.h │ │ ├── offline-tts-kokoro-impl.h │ │ ├── offline-tts-kokoro-model-config.cc │ │ ├── offline-tts-kokoro-model-config.h │ │ ├── offline-tts-kokoro-model-meta-data.h │ │ ├── offline-tts-kokoro-model.cc │ │ ├── offline-tts-kokoro-model.h │ │ ├── offline-tts-matcha-impl.h │ │ ├── offline-tts-matcha-model-config.cc │ │ ├── offline-tts-matcha-model-config.h │ │ ├── offline-tts-matcha-model-meta-data.h │ │ ├── offline-tts-matcha-model.cc │ │ ├── offline-tts-matcha-model.h │ │ ├── offline-tts-model-config.cc │ │ ├── offline-tts-model-config.h │ │ ├── offline-tts-pocket-impl.h │ │ ├── offline-tts-pocket-model-config.cc │ │ ├── offline-tts-pocket-model-config.h │ │ ├── offline-tts-pocket-model.cc │ │ ├── offline-tts-pocket-model.h │ │ ├── offline-tts-supertonic-impl.cc │ │ ├── offline-tts-supertonic-impl.h │ │ ├── offline-tts-supertonic-model-config.cc │ │ ├── offline-tts-supertonic-model-config.h │ │ ├── offline-tts-supertonic-model.cc │ │ ├── offline-tts-supertonic-model.h │ │ ├── offline-tts-supertonic-unicode-processor.cc │ │ ├── offline-tts-supertonic-unicode-processor.h │ │ ├── offline-tts-vits-impl.h │ │ ├── offline-tts-vits-model-config.cc │ │ ├── offline-tts-vits-model-config.h │ │ ├── offline-tts-vits-model-meta-data.h │ │ ├── offline-tts-vits-model.cc │ │ ├── offline-tts-vits-model.h │ │ ├── offline-tts-zipvoice-impl.h │ │ ├── offline-tts-zipvoice-model-config.cc │ │ ├── offline-tts-zipvoice-model-config.h │ │ ├── offline-tts-zipvoice-model-meta-data.h │ │ ├── offline-tts-zipvoice-model.cc │ │ ├── offline-tts-zipvoice-model.h │ │ ├── offline-tts.cc │ │ ├── offline-tts.h │ │ ├── offline-websocket-server-impl.cc │ │ ├── offline-websocket-server-impl.h │ │ ├── offline-websocket-server.cc │ │ ├── offline-wenet-ctc-model-config.cc │ │ ├── offline-wenet-ctc-model-config.h │ │ ├── offline-wenet-ctc-model.cc │ │ ├── offline-wenet-ctc-model.h │ │ ├── offline-whisper-decoder.h │ │ ├── offline-whisper-dtw.cc │ │ ├── offline-whisper-dtw.h │ │ ├── offline-whisper-greedy-search-decoder.cc │ │ ├── offline-whisper-greedy-search-decoder.h │ │ ├── offline-whisper-model-config.cc │ │ ├── offline-whisper-model-config.h │ │ ├── offline-whisper-model.cc │ │ ├── offline-whisper-model.h │ │ ├── offline-whisper-timestamp-rules-test.cc │ │ ├── offline-whisper-timestamp-rules.cc │ │ ├── offline-whisper-timestamp-rules.h │ │ ├── offline-zipformer-audio-tagging-model-config.cc │ │ ├── offline-zipformer-audio-tagging-model-config.h │ │ ├── offline-zipformer-audio-tagging-model.cc │ │ ├── offline-zipformer-audio-tagging-model.h │ │ ├── offline-zipformer-ctc-model-config.cc │ │ ├── offline-zipformer-ctc-model-config.h │ │ ├── offline-zipformer-ctc-model.cc │ │ ├── offline-zipformer-ctc-model.h │ │ ├── online-cnn-bilstm-model-meta-data.h │ │ ├── online-cnn-bilstm-model.cc │ │ ├── online-cnn-bilstm-model.h │ │ ├── online-conformer-transducer-model.cc │ │ ├── online-conformer-transducer-model.h │ │ ├── online-ctc-decoder.h │ │ ├── online-ctc-fst-decoder-config.cc │ │ ├── online-ctc-fst-decoder-config.h │ │ ├── online-ctc-fst-decoder.cc │ │ ├── online-ctc-fst-decoder.h │ │ ├── online-ctc-greedy-search-decoder.cc │ │ ├── online-ctc-greedy-search-decoder.h │ │ ├── online-ctc-model.cc │ │ ├── online-ctc-model.h │ │ ├── online-ebranchformer-transducer-model.cc │ │ ├── online-ebranchformer-transducer-model.h │ │ ├── online-lm-config.cc │ │ ├── online-lm-config.h │ │ ├── online-lm.cc │ │ ├── online-lm.h │ │ ├── online-lstm-transducer-model.cc │ │ ├── online-lstm-transducer-model.h │ │ ├── online-model-config.cc │ │ ├── online-model-config.h │ │ ├── online-nemo-ctc-model-config.cc │ │ ├── online-nemo-ctc-model-config.h │ │ ├── online-nemo-ctc-model.cc │ │ ├── online-nemo-ctc-model.h │ │ ├── online-paraformer-decoder.h │ │ ├── online-paraformer-model-config.cc │ │ ├── online-paraformer-model-config.h │ │ ├── online-paraformer-model.cc │ │ ├── online-paraformer-model.h │ │ ├── online-punctuation-cnn-bilstm-impl.h │ │ ├── online-punctuation-impl.cc │ │ ├── online-punctuation-impl.h │ │ ├── online-punctuation-model-config.cc │ │ ├── online-punctuation-model-config.h │ │ ├── online-punctuation.cc │ │ ├── online-punctuation.h │ │ ├── online-recognizer-ctc-impl.h │ │ ├── online-recognizer-impl.cc │ │ ├── online-recognizer-impl.h │ │ ├── online-recognizer-paraformer-impl.h │ │ ├── online-recognizer-transducer-impl.h │ │ ├── online-recognizer-transducer-nemo-impl.h │ │ ├── online-recognizer.cc │ │ ├── online-recognizer.h │ │ ├── online-rnn-lm.cc │ │ ├── online-rnn-lm.h │ │ ├── online-speech-denoiser-dpdfnet-impl.h │ │ ├── online-speech-denoiser-gtcrn-impl.h │ │ ├── online-speech-denoiser-impl.cc │ │ ├── online-speech-denoiser-impl.h │ │ ├── online-speech-denoiser-stft-impl.h │ │ ├── online-speech-denoiser.cc │ │ ├── online-speech-denoiser.h │ │ ├── online-stream.cc │ │ ├── online-stream.h │ │ ├── online-t-one-ctc-model-config.cc │ │ ├── online-t-one-ctc-model-config.h │ │ ├── online-t-one-ctc-model.cc │ │ ├── online-t-one-ctc-model.h │ │ ├── online-transducer-decoder.cc │ │ ├── online-transducer-decoder.h │ │ ├── online-transducer-greedy-search-decoder.cc │ │ ├── online-transducer-greedy-search-decoder.h │ │ ├── online-transducer-greedy-search-nemo-decoder.cc │ │ ├── online-transducer-greedy-search-nemo-decoder.h │ │ ├── online-transducer-model-config.cc │ │ ├── online-transducer-model-config.h │ │ ├── online-transducer-model.cc │ │ ├── online-transducer-model.h │ │ ├── online-transducer-modified-beam-search-decoder.cc │ │ ├── online-transducer-modified-beam-search-decoder.h │ │ ├── online-transducer-nemo-model.cc │ │ ├── online-transducer-nemo-model.h │ │ ├── online-websocket-client.cc │ │ ├── online-websocket-server-impl.cc │ │ ├── online-websocket-server-impl.h │ │ ├── online-websocket-server.cc │ │ ├── online-wenet-ctc-model-config.cc │ │ ├── online-wenet-ctc-model-config.h │ │ ├── online-wenet-ctc-model.cc │ │ ├── online-wenet-ctc-model.h │ │ ├── online-zipformer-transducer-model.cc │ │ ├── online-zipformer-transducer-model.h │ │ ├── online-zipformer2-ctc-model-config.cc │ │ ├── online-zipformer2-ctc-model-config.h │ │ ├── online-zipformer2-ctc-model.cc │ │ ├── online-zipformer2-ctc-model.h │ │ ├── online-zipformer2-transducer-model.cc │ │ ├── online-zipformer2-transducer-model.h │ │ ├── onnx-utils.cc │ │ ├── onnx-utils.h │ │ ├── packed-sequence-test.cc │ │ ├── packed-sequence.cc │ │ ├── packed-sequence.h │ │ ├── pad-sequence-test.cc │ │ ├── pad-sequence.cc │ │ ├── pad-sequence.h │ │ ├── parse-options.cc │ │ ├── parse-options.h │ │ ├── phrase-matcher.cc │ │ ├── phrase-matcher.h │ │ ├── piper-phonemize-lexicon.cc │ │ ├── piper-phonemize-lexicon.h │ │ ├── piper-phonemize-test.cc │ │ ├── provider-config.cc │ │ ├── provider-config.h │ │ ├── provider.cc │ │ ├── provider.h │ │ ├── qnn/ │ │ │ ├── macros.h │ │ │ ├── offline-paraformer-model-qnn.cc │ │ │ ├── offline-paraformer-model-qnn.h │ │ │ ├── offline-recognizer-zipformer-ctc-qnn-impl.h │ │ │ ├── offline-sense-voice-model-qnn.cc │ │ │ ├── offline-sense-voice-model-qnn.h │ │ │ ├── offline-zipformer-ctc-model-qnn.cc │ │ │ ├── offline-zipformer-ctc-model-qnn.h │ │ │ ├── qnn-backend.cc │ │ │ ├── qnn-backend.h │ │ │ ├── qnn-model.cc │ │ │ ├── qnn-model.h │ │ │ ├── utils.cc │ │ │ └── utils.h │ │ ├── qnn-config.cc │ │ ├── qnn-config.h │ │ ├── regex-lang-test.cc │ │ ├── resample.cc │ │ ├── resample.h │ │ ├── rknn/ │ │ │ ├── context-blocking-queue-rknn.cc │ │ │ ├── context-blocking-queue-rknn.h │ │ │ ├── keyword-spotter-transducer-rknn-impl.h │ │ │ ├── macros.h │ │ │ ├── offline-ctc-greedy-search-decoder-rknn.cc │ │ │ ├── offline-ctc-greedy-search-decoder-rknn.h │ │ │ ├── offline-paraformer-model-rknn.cc │ │ │ ├── offline-paraformer-model-rknn.h │ │ │ ├── offline-sense-voice-model-rknn.cc │ │ │ ├── offline-sense-voice-model-rknn.h │ │ │ ├── online-recognizer-ctc-rknn-impl.h │ │ │ ├── online-recognizer-transducer-rknn-impl.h │ │ │ ├── online-stream-rknn.cc │ │ │ ├── online-stream-rknn.h │ │ │ ├── online-transducer-decoder-rknn.h │ │ │ ├── online-transducer-greedy-search-decoder-rknn.cc │ │ │ ├── online-transducer-greedy-search-decoder-rknn.h │ │ │ ├── online-transducer-modified-beam-search-decoder-rknn.cc │ │ │ ├── online-transducer-modified-beam-search-decoder-rknn.h │ │ │ ├── online-zipformer-ctc-model-rknn.cc │ │ │ ├── online-zipformer-ctc-model-rknn.h │ │ │ ├── online-zipformer-transducer-model-rknn.cc │ │ │ ├── online-zipformer-transducer-model-rknn.h │ │ │ ├── silero-vad-model-rknn.cc │ │ │ ├── silero-vad-model-rknn.h │ │ │ ├── transducer-keyword-decoder-rknn.cc │ │ │ ├── transducer-keyword-decoder-rknn.h │ │ │ ├── utils.cc │ │ │ └── utils.h │ │ ├── sentence-piece-tokenizer-test.cc │ │ ├── sentence-piece-tokenizer.cc │ │ ├── sentence-piece-tokenizer.h │ │ ├── session.cc │ │ ├── session.h │ │ ├── sherpa-display.h │ │ ├── sherpa-onnx-alsa-offline-audio-tagging.cc │ │ ├── sherpa-onnx-alsa-offline-speaker-identification.cc │ │ ├── sherpa-onnx-alsa-offline.cc │ │ ├── sherpa-onnx-alsa.cc │ │ ├── sherpa-onnx-keyword-spotter-alsa.cc │ │ ├── sherpa-onnx-keyword-spotter-microphone.cc │ │ ├── sherpa-onnx-keyword-spotter.cc │ │ ├── sherpa-onnx-microphone-offline-audio-tagging.cc │ │ ├── sherpa-onnx-microphone-offline-speaker-identification.cc │ │ ├── sherpa-onnx-microphone-offline.cc │ │ ├── sherpa-onnx-microphone.cc │ │ ├── sherpa-onnx-offline-audio-tagging.cc │ │ ├── sherpa-onnx-offline-denoiser.cc │ │ ├── sherpa-onnx-offline-language-identification.cc │ │ ├── sherpa-onnx-offline-parallel.cc │ │ ├── sherpa-onnx-offline-punctuation.cc │ │ ├── sherpa-onnx-offline-source-separation.cc │ │ ├── sherpa-onnx-offline-speaker-diarization.cc │ │ ├── sherpa-onnx-offline-tts-play-alsa.cc │ │ ├── sherpa-onnx-offline-tts-play.cc │ │ ├── sherpa-onnx-offline-tts.cc │ │ ├── sherpa-onnx-offline.cc │ │ ├── sherpa-onnx-online-denoiser.cc │ │ ├── sherpa-onnx-online-punctuation.cc │ │ ├── sherpa-onnx-vad-alsa-offline-asr.cc │ │ ├── sherpa-onnx-vad-alsa.cc │ │ ├── sherpa-onnx-vad-microphone-offline-asr.cc │ │ ├── sherpa-onnx-vad-microphone-simulated-streaming-asr.cc │ │ ├── sherpa-onnx-vad-microphone.cc │ │ ├── sherpa-onnx-vad-with-offline-asr.cc │ │ ├── sherpa-onnx-vad-with-online-asr.cc │ │ ├── sherpa-onnx-vad.cc │ │ ├── sherpa-onnx-version.cc │ │ ├── sherpa-onnx.cc │ │ ├── silero-vad-model-config.cc │ │ ├── silero-vad-model-config.h │ │ ├── silero-vad-model.cc │ │ ├── silero-vad-model.h │ │ ├── slice-test.cc │ │ ├── slice.cc │ │ ├── slice.h │ │ ├── speaker-embedding-extractor-general-impl.h │ │ ├── speaker-embedding-extractor-impl.cc │ │ ├── speaker-embedding-extractor-impl.h │ │ ├── speaker-embedding-extractor-model-meta-data.h │ │ ├── speaker-embedding-extractor-model.cc │ │ ├── speaker-embedding-extractor-model.h │ │ ├── speaker-embedding-extractor-nemo-impl.h │ │ ├── speaker-embedding-extractor-nemo-model-meta-data.h │ │ ├── speaker-embedding-extractor-nemo-model.cc │ │ ├── speaker-embedding-extractor-nemo-model.h │ │ ├── speaker-embedding-extractor.cc │ │ ├── speaker-embedding-extractor.h │ │ ├── speaker-embedding-manager-test.cc │ │ ├── speaker-embedding-manager.cc │ │ ├── speaker-embedding-manager.h │ │ ├── spoken-language-identification-impl.cc │ │ ├── spoken-language-identification-impl.h │ │ ├── spoken-language-identification-whisper-impl.h │ │ ├── spoken-language-identification.cc │ │ ├── spoken-language-identification.h │ │ ├── stack-test.cc │ │ ├── stack.cc │ │ ├── stack.h │ │ ├── symbol-table.cc │ │ ├── symbol-table.h │ │ ├── tee-stream.h │ │ ├── ten-vad-model-config.cc │ │ ├── ten-vad-model-config.h │ │ ├── ten-vad-model.cc │ │ ├── ten-vad-model.h │ │ ├── text-utils-test.cc │ │ ├── text-utils.cc │ │ ├── text-utils.h │ │ ├── text2token-test.cc │ │ ├── timer.cc │ │ ├── timer.h │ │ ├── transducer-keyword-decoder.cc │ │ ├── transducer-keyword-decoder.h │ │ ├── transpose-test.cc │ │ ├── transpose.cc │ │ ├── transpose.h │ │ ├── unbind-test.cc │ │ ├── unbind.cc │ │ ├── unbind.h │ │ ├── utfcpp-test.cc │ │ ├── utils.cc │ │ ├── utils.h │ │ ├── vad-model-config.cc │ │ ├── vad-model-config.h │ │ ├── vad-model.cc │ │ ├── vad-model.h │ │ ├── version.cc │ │ ├── version.h │ │ ├── vocoder.cc │ │ ├── vocoder.h │ │ ├── vocos-vocoder.cc │ │ ├── vocos-vocoder.h │ │ ├── voice-activity-detector.cc │ │ ├── voice-activity-detector.h │ │ ├── wave-reader-test.cc │ │ ├── wave-reader.cc │ │ ├── wave-reader.h │ │ ├── wave-writer.cc │ │ └── wave-writer.h │ ├── java-api/ │ │ ├── .build.txt │ │ ├── .gitignore │ │ ├── MANIFEST.MF │ │ ├── Makefile │ │ ├── pom.xml │ │ ├── readme.md │ │ ├── readme.zh.md │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── k2fsa/ │ │ │ └── sherpa/ │ │ │ └── onnx/ │ │ │ ├── AudioEvent.java │ │ │ ├── AudioTagging.java │ │ │ ├── AudioTaggingConfig.java │ │ │ ├── AudioTaggingModelConfig.java │ │ │ ├── DenoisedAudio.java │ │ │ ├── EndpointConfig.java │ │ │ ├── EndpointRule.java │ │ │ ├── FastClusteringConfig.java │ │ │ ├── FeatureConfig.java │ │ │ ├── GeneratedAudio.java │ │ │ ├── GenerationConfig.java │ │ │ ├── HomophoneReplacerConfig.java │ │ │ ├── KeywordSpotter.java │ │ │ ├── KeywordSpotterConfig.java │ │ │ ├── KeywordSpotterResult.java │ │ │ ├── LibraryLoader.java │ │ │ ├── LibraryUtils.java │ │ │ ├── OfflineCanaryModelConfig.java │ │ │ ├── OfflineDolphinModelConfig.java │ │ │ ├── OfflineFireRedAsrCtcModelConfig.java │ │ │ ├── OfflineFireRedAsrModelConfig.java │ │ │ ├── OfflineFunAsrNanoModelConfig.java │ │ │ ├── OfflineMedAsrCtcModelConfig.java │ │ │ ├── OfflineModelConfig.java │ │ │ ├── OfflineMoonshineModelConfig.java │ │ │ ├── OfflineNemoEncDecCtcModelConfig.java │ │ │ ├── OfflineOmnilingualAsrCtcModelConfig.java │ │ │ ├── OfflineParaformerModelConfig.java │ │ │ ├── OfflinePunctuation.java │ │ │ ├── OfflinePunctuationConfig.java │ │ │ ├── OfflinePunctuationModelConfig.java │ │ │ ├── OfflineRecognizer.java │ │ │ ├── OfflineRecognizerConfig.java │ │ │ ├── OfflineRecognizerResult.java │ │ │ ├── OfflineSenseVoiceModelConfig.java │ │ │ ├── OfflineSpeakerDiarization.java │ │ │ ├── OfflineSpeakerDiarizationCallback.java │ │ │ ├── OfflineSpeakerDiarizationConfig.java │ │ │ ├── OfflineSpeakerDiarizationSegment.java │ │ │ ├── OfflineSpeakerSegmentationModelConfig.java │ │ │ ├── OfflineSpeakerSegmentationPyannoteModelConfig.java │ │ │ ├── OfflineSpeechDenoiser.java │ │ │ ├── OfflineSpeechDenoiserConfig.java │ │ │ ├── OfflineSpeechDenoiserDpdfNetModelConfig.java │ │ │ ├── OfflineSpeechDenoiserGtcrnModelConfig.java │ │ │ ├── OfflineSpeechDenoiserModelConfig.java │ │ │ ├── OfflineStream.java │ │ │ ├── OfflineTransducerModelConfig.java │ │ │ ├── OfflineTts.java │ │ │ ├── OfflineTtsCallback.java │ │ │ ├── OfflineTtsConfig.java │ │ │ ├── OfflineTtsKittenModelConfig.java │ │ │ ├── OfflineTtsKokoroModelConfig.java │ │ │ ├── OfflineTtsMatchaModelConfig.java │ │ │ ├── OfflineTtsModelConfig.java │ │ │ ├── OfflineTtsPocketModelConfig.java │ │ │ ├── OfflineTtsSupertonicModelConfig.java │ │ │ ├── OfflineTtsVitsModelConfig.java │ │ │ ├── OfflineTtsZipVoiceModelConfig.java │ │ │ ├── OfflineWenetCtcModelConfig.java │ │ │ ├── OfflineWhisperModelConfig.java │ │ │ ├── OfflineZipformerAudioTaggingModelConfig.java │ │ │ ├── OfflineZipformerCtcModelConfig.java │ │ │ ├── OnlineCtcFstDecoderConfig.java │ │ │ ├── OnlineLMConfig.java │ │ │ ├── OnlineModelConfig.java │ │ │ ├── OnlineNeMoCtcModelConfig.java │ │ │ ├── OnlineParaformerModelConfig.java │ │ │ ├── OnlinePunctuation.java │ │ │ ├── OnlinePunctuationConfig.java │ │ │ ├── OnlinePunctuationModelConfig.java │ │ │ ├── OnlineRecognizer.java │ │ │ ├── OnlineRecognizerConfig.java │ │ │ ├── OnlineRecognizerResult.java │ │ │ ├── OnlineSpeechDenoiser.java │ │ │ ├── OnlineSpeechDenoiserConfig.java │ │ │ ├── OnlineStream.java │ │ │ ├── OnlineToneCtcModelConfig.java │ │ │ ├── OnlineTransducerModelConfig.java │ │ │ ├── OnlineZipformer2CtcModelConfig.java │ │ │ ├── QnnConfig.java │ │ │ ├── SileroVadModelConfig.java │ │ │ ├── SpeakerEmbeddingExtractor.java │ │ │ ├── SpeakerEmbeddingExtractorConfig.java │ │ │ ├── SpeakerEmbeddingManager.java │ │ │ ├── SpeechSegment.java │ │ │ ├── SpokenLanguageIdentification.java │ │ │ ├── SpokenLanguageIdentificationConfig.java │ │ │ ├── SpokenLanguageIdentificationWhisperConfig.java │ │ │ ├── TenVadModelConfig.java │ │ │ ├── Vad.java │ │ │ ├── VadModelConfig.java │ │ │ ├── VersionInfo.java │ │ │ ├── WaveData.java │ │ │ ├── WaveReader.java │ │ │ └── WaveWriter.java │ │ └── resources/ │ │ ├── .gitignore │ │ └── readme.md │ ├── jni/ │ │ ├── CMakeLists.txt │ │ ├── audio-tagging.cc │ │ ├── common.cc │ │ ├── common.h │ │ ├── generate.sh │ │ ├── jni.cc │ │ ├── keyword-spotter.cc │ │ ├── offline-punctuation.cc │ │ ├── offline-recognizer.cc │ │ ├── offline-speaker-diarization.cc │ │ ├── offline-speech-denoiser.cc │ │ ├── offline-stream.cc │ │ ├── offline-tts.cc │ │ ├── online-punctuation.cc │ │ ├── online-recognizer.cc │ │ ├── online-speech-denoiser.cc │ │ ├── online-stream.cc │ │ ├── sherpa-onnx-symbols.exp │ │ ├── sherpa-onnx-symbols.lds │ │ ├── speaker-embedding-extractor.cc │ │ ├── speaker-embedding-manager.cc │ │ ├── speech-denoiser.cc │ │ ├── speech-denoiser.h │ │ ├── spoken-language-identification.cc │ │ ├── version.cc │ │ ├── voice-activity-detector.cc │ │ ├── wave-reader.cc │ │ └── wave-writer.cc │ ├── kotlin-api/ │ │ ├── AudioTagging.kt │ │ ├── DenoisedAudio.kt │ │ ├── FeatureConfig.kt │ │ ├── HomophoneReplacerConfig.kt │ │ ├── KeywordSpotter.kt │ │ ├── OfflinePunctuation.kt │ │ ├── OfflineRecognizer.kt │ │ ├── OfflineSpeakerDiarization.kt │ │ ├── OfflineSpeechDenoiser.kt │ │ ├── OfflineStream.kt │ │ ├── OnlinePunctuation.kt │ │ ├── OnlineRecognizer.kt │ │ ├── OnlineSpeechDenoiser.kt │ │ ├── OnlineStream.kt │ │ ├── QnnConfig.kt │ │ ├── Speaker.kt │ │ ├── SpeakerEmbeddingExtractorConfig.kt │ │ ├── SpokenLanguageIdentification.kt │ │ ├── Tts.kt │ │ ├── Vad.kt │ │ ├── VersionInfo.kt │ │ └── WaveReader.kt │ ├── pascal-api/ │ │ ├── README.md │ │ ├── portaudio.pas │ │ └── sherpa_onnx.pas │ ├── python/ │ │ ├── CMakeLists.txt │ │ ├── csrc/ │ │ │ ├── CMakeLists.txt │ │ │ ├── alsa.cc │ │ │ ├── alsa.h │ │ │ ├── audio-tagging.cc │ │ │ ├── audio-tagging.h │ │ │ ├── circular-buffer.cc │ │ │ ├── circular-buffer.h │ │ │ ├── cuda-config.cc │ │ │ ├── cuda-config.h │ │ │ ├── display.cc │ │ │ ├── display.h │ │ │ ├── endpoint.cc │ │ │ ├── endpoint.h │ │ │ ├── faked-alsa.cc │ │ │ ├── fast-clustering.cc │ │ │ ├── fast-clustering.h │ │ │ ├── features.cc │ │ │ ├── features.h │ │ │ ├── homophone-replacer.cc │ │ │ ├── homophone-replacer.h │ │ │ ├── keyword-spotter.cc │ │ │ ├── keyword-spotter.h │ │ │ ├── offline-canary-model-config.cc │ │ │ ├── offline-canary-model-config.h │ │ │ ├── offline-ctc-fst-decoder-config.cc │ │ │ ├── offline-ctc-fst-decoder-config.h │ │ │ ├── offline-dolphin-model-config.cc │ │ │ ├── offline-dolphin-model-config.h │ │ │ ├── offline-fire-red-asr-ctc-model-config.cc │ │ │ ├── offline-fire-red-asr-ctc-model-config.h │ │ │ ├── offline-fire-red-asr-model-config.cc │ │ │ ├── offline-fire-red-asr-model-config.h │ │ │ ├── offline-funasr-nano-model-config.cc │ │ │ ├── offline-funasr-nano-model-config.h │ │ │ ├── offline-lm-config.cc │ │ │ ├── offline-lm-config.h │ │ │ ├── offline-medasr-ctc-model-config.cc │ │ │ ├── offline-medasr-ctc-model-config.h │ │ │ ├── offline-model-config.cc │ │ │ ├── offline-model-config.h │ │ │ ├── offline-moonshine-model-config.cc │ │ │ ├── offline-moonshine-model-config.h │ │ │ ├── offline-nemo-enc-dec-ctc-model-config.cc │ │ │ ├── offline-nemo-enc-dec-ctc-model-config.h │ │ │ ├── offline-omnilingual-asr-ctc-model-config.cc │ │ │ ├── offline-omnilingual-asr-ctc-model-config.h │ │ │ ├── offline-paraformer-model-config.cc │ │ │ ├── offline-paraformer-model-config.h │ │ │ ├── offline-punctuation.cc │ │ │ ├── offline-punctuation.h │ │ │ ├── offline-recognizer.cc │ │ │ ├── offline-recognizer.h │ │ │ ├── offline-sense-voice-model-config.cc │ │ │ ├── offline-sense-voice-model-config.h │ │ │ ├── offline-source-separation-model-config.cc │ │ │ ├── offline-source-separation-model-config.h │ │ │ ├── offline-source-separation-spleeter-model-config.cc │ │ │ ├── offline-source-separation-spleeter-model-config.h │ │ │ ├── offline-source-separation-uvr-model-config.cc │ │ │ ├── offline-source-separation-uvr-model-config.h │ │ │ ├── offline-source-separation.cc │ │ │ ├── offline-source-separation.h │ │ │ ├── offline-speaker-diarization-result.cc │ │ │ ├── offline-speaker-diarization-result.h │ │ │ ├── offline-speaker-diarization.cc │ │ │ ├── offline-speaker-diarization.h │ │ │ ├── offline-speech-denoiser-dpdfnet-model-config.cc │ │ │ ├── offline-speech-denoiser-dpdfnet-model-config.h │ │ │ ├── offline-speech-denoiser-gtcrn-model-config.cc │ │ │ ├── offline-speech-denoiser-gtcrn-model-config.h │ │ │ ├── offline-speech-denoiser-model-config.cc │ │ │ ├── offline-speech-denoiser-model-config.h │ │ │ ├── offline-speech-denoiser.cc │ │ │ ├── offline-speech-denoiser.h │ │ │ ├── offline-stream.cc │ │ │ ├── offline-stream.h │ │ │ ├── offline-tdnn-model-config.cc │ │ │ ├── offline-tdnn-model-config.h │ │ │ ├── offline-transducer-model-config.cc │ │ │ ├── offline-transducer-model-config.h │ │ │ ├── offline-tts-kitten-model-config.cc │ │ │ ├── offline-tts-kitten-model-config.h │ │ │ ├── offline-tts-kokoro-model-config.cc │ │ │ ├── offline-tts-kokoro-model-config.h │ │ │ ├── offline-tts-matcha-model-config.cc │ │ │ ├── offline-tts-matcha-model-config.h │ │ │ ├── offline-tts-model-config.cc │ │ │ ├── offline-tts-model-config.h │ │ │ ├── offline-tts-pocket-model-config.cc │ │ │ ├── offline-tts-pocket-model-config.h │ │ │ ├── offline-tts-supertonic-model-config.cc │ │ │ ├── offline-tts-supertonic-model-config.h │ │ │ ├── offline-tts-vits-model-config.cc │ │ │ ├── offline-tts-vits-model-config.h │ │ │ ├── offline-tts-zipvoice-model-config.cc │ │ │ ├── offline-tts-zipvoice-model-config.h │ │ │ ├── offline-tts.cc │ │ │ ├── offline-tts.h │ │ │ ├── offline-wenet-ctc-model-config.cc │ │ │ ├── offline-wenet-ctc-model-config.h │ │ │ ├── offline-whisper-model-config.cc │ │ │ ├── offline-whisper-model-config.h │ │ │ ├── offline-zipformer-ctc-model-config.cc │ │ │ ├── offline-zipformer-ctc-model-config.h │ │ │ ├── online-ctc-fst-decoder-config.cc │ │ │ ├── online-ctc-fst-decoder-config.h │ │ │ ├── online-lm-config.cc │ │ │ ├── online-lm-config.h │ │ │ ├── online-model-config.cc │ │ │ ├── online-model-config.h │ │ │ ├── online-nemo-ctc-model-config.cc │ │ │ ├── online-nemo-ctc-model-config.h │ │ │ ├── online-paraformer-model-config.cc │ │ │ ├── online-paraformer-model-config.h │ │ │ ├── online-punctuation.cc │ │ │ ├── online-punctuation.h │ │ │ ├── online-recognizer.cc │ │ │ ├── online-recognizer.h │ │ │ ├── online-speech-denoiser.cc │ │ │ ├── online-speech-denoiser.h │ │ │ ├── online-stream.cc │ │ │ ├── online-stream.h │ │ │ ├── online-t-one-ctc-model-config.cc │ │ │ ├── online-t-one-ctc-model-config.h │ │ │ ├── online-transducer-model-config.cc │ │ │ ├── online-transducer-model-config.h │ │ │ ├── online-wenet-ctc-model-config.cc │ │ │ ├── online-wenet-ctc-model-config.h │ │ │ ├── online-zipformer2-ctc-model-config.cc │ │ │ ├── online-zipformer2-ctc-model-config.h │ │ │ ├── provider-config.cc │ │ │ ├── provider-config.h │ │ │ ├── sentence-piece-tokenizer.cc │ │ │ ├── sentence-piece-tokenizer.h │ │ │ ├── sherpa-onnx.cc │ │ │ ├── sherpa-onnx.h │ │ │ ├── silero-vad-model-config.cc │ │ │ ├── silero-vad-model-config.h │ │ │ ├── speaker-embedding-extractor.cc │ │ │ ├── speaker-embedding-extractor.h │ │ │ ├── speaker-embedding-manager.cc │ │ │ ├── speaker-embedding-manager.h │ │ │ ├── spoken-language-identification.cc │ │ │ ├── spoken-language-identification.h │ │ │ ├── ten-vad-model-config.cc │ │ │ ├── ten-vad-model-config.h │ │ │ ├── tensorrt-config.cc │ │ │ ├── tensorrt-config.h │ │ │ ├── vad-model-config.cc │ │ │ ├── vad-model-config.h │ │ │ ├── vad-model.cc │ │ │ ├── vad-model.h │ │ │ ├── version.cc │ │ │ ├── version.h │ │ │ ├── voice-activity-detector.cc │ │ │ ├── voice-activity-detector.h │ │ │ ├── wave-writer.cc │ │ │ └── wave-wri
Showing preview only (858K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (9364 symbols across 1876 files)
FILE: .github/scripts/as-cmake-sub-project/main.cc
function main (line 4) | int main(int32_t argc, char *argv[]) {
FILE: .github/scripts/export-ascend/generate_paraformer.py
class Config (line 12) | class Config:
method __post_init__ (line 24) | def __post_init__(self):
function main (line 28) | def main():
FILE: .github/scripts/export-ascend/generate_sense_voice.py
class Config (line 12) | class Config:
method __post_init__ (line 24) | def __post_init__(self):
function main (line 28) | def main():
FILE: .github/scripts/export-ascend/generate_whisper.py
class Config (line 12) | class Config:
method __post_init__ (line 23) | def __post_init__(self):
function main (line 27) | def main():
FILE: .github/scripts/export-ascend/generate_zipformer_ctc_20250703.py
function get_image (line 15) | def get_image(cann: str, soc_version: str):
function get_soc_version (line 42) | def get_soc_version():
function get_cann_version (line 47) | def get_cann_version():
class Config (line 53) | class Config:
method __post_init__ (line 64) | def __post_init__(self):
function main (line 68) | def main():
FILE: .github/scripts/export-qnn/generate_paraformer.py
class Config (line 12) | class Config:
function main (line 20) | def main():
FILE: .github/scripts/export-qnn/generate_sense_voice.py
class Config (line 12) | class Config:
function main (line 20) | def main():
FILE: .github/scripts/export-qnn/generate_zipformer.py
class Config (line 12) | class Config:
function main (line 20) | def main():
FILE: android/SherpaOnnxJavaDemo/app/src/main/java/com/k2fsa/sherpa/onnx/AppViewModel.java
class AppViewModel (line 7) | public class AppViewModel extends ViewModel {
method getSpeechRecognitionResult (line 10) | public LiveData<String> getSpeechRecognitionResult() {
method setSpeechRecognitionResult (line 14) | public void setSpeechRecognitionResult(String result) {
FILE: android/SherpaOnnxJavaDemo/app/src/main/java/com/k2fsa/sherpa/onnx/Application.java
class Application (line 9) | public class Application extends android.app.Application implements View...
method getInstance (line 16) | public static Application getInstance() {
method onCreate (line 20) | @Override
method getViewModelStore (line 28) | @NonNull
method getViewModel (line 34) | public AppViewModel getViewModel() {
FILE: android/SherpaOnnxJavaDemo/app/src/main/java/com/k2fsa/sherpa/onnx/MainActivity.java
class MainActivity (line 17) | public class MainActivity extends AppCompatActivity {
method onCreate (line 22) | @Override
method startSpeechService (line 31) | private void startSpeechService() {
method handleSpeechRecognitionResult (line 38) | private void handleSpeechRecognitionResult(String result) {
method requestMicrophonePermission (line 42) | private void requestMicrophonePermission() {
FILE: android/SherpaOnnxJavaDemo/app/src/main/java/com/k2fsa/sherpa/onnx/service/SpeechSherpaRecognitionService.java
class SpeechSherpaRecognitionService (line 47) | public class SpeechSherpaRecognitionService extends Service {
method onCreate (line 63) | @Override
method initializeSherpa (line 93) | private void initializeSherpa() {
method startRecognition (line 116) | private void startRecognition() {
method processSamples (line 122) | private void processSamples() {
method onStartCommand (line 174) | @Override
method onDestroy (line 180) | @Override
method onBind (line 189) | @Override
method startForegroundService (line 195) | @SuppressLint("ForegroundServiceType")
method createNotificationChannel (line 209) | private String createNotificationChannel() {
method initializeSherpaDir (line 224) | private void initializeSherpaDir(String assetDir, String internalDir) {
FILE: c-api-examples/add-punctuation-c-api.c
function main (line 24) | int32_t main() {
FILE: c-api-examples/add-punctuation-online-c-api.c
function main (line 24) | int32_t main() {
FILE: c-api-examples/asr-microphone-example/c-api-alsa.cc
type cag_option (line 22) | struct cag_option
function Handler (line 112) | static void Handler(int sig) {
function main (line 117) | int32_t main(int32_t argc, char *argv[]) {
FILE: c-api-examples/audio-tagging-c-api.c
function main (line 24) | int32_t main() {
FILE: c-api-examples/decode-file-c-api.c
type cag_option (line 15) | struct cag_option
function main (line 92) | int32_t main(int32_t argc, char *argv[]) {
FILE: c-api-examples/dolphin-ctc-c-api.c
function main (line 21) | int32_t main() {
FILE: c-api-examples/fire-red-asr-c-api.c
function main (line 23) | int32_t main() {
FILE: c-api-examples/fire-red-asr-ctc-c-api.c
function main (line 22) | int32_t main() {
FILE: c-api-examples/funasr-nano-c-api.c
function main (line 21) | int32_t main() {
FILE: c-api-examples/keywords-spotter-buffered-tokens-keywords-c-api.c
function ReadFile (line 24) | static size_t ReadFile(const char *filename, const char **buffer_out) {
function main (line 51) | int32_t main() {
FILE: c-api-examples/kitten-tts-en-c-api.c
function ProgressCallback (line 27) | static int32_t ProgressCallback(const float *samples, int32_t num_samples,
function main (line 35) | int32_t main(int32_t argc, char *argv[]) {
FILE: c-api-examples/kokoro-tts-en-c-api.c
function ProgressCallback (line 28) | static int32_t ProgressCallback(const float *samples, int32_t num_samples,
function main (line 36) | int32_t main(int32_t argc, char *argv[]) {
FILE: c-api-examples/kokoro-tts-zh-en-c-api.c
function ProgressCallback (line 28) | static int32_t ProgressCallback(const float *samples, int32_t num_samples,
function main (line 36) | int32_t main(int32_t argc, char *argv[]) {
FILE: c-api-examples/kws-c-api.c
function main (line 23) | int32_t main() {
FILE: c-api-examples/matcha-tts-en-c-api.c
function ProgressCallback (line 29) | static int32_t ProgressCallback(const float *samples, int32_t num_samples,
function main (line 37) | int32_t main(int32_t argc, char *argv[]) {
FILE: c-api-examples/matcha-tts-zh-c-api.c
function ProgressCallback (line 29) | static int32_t ProgressCallback(const float *samples, int32_t num_samples,
function main (line 37) | int32_t main(int32_t argc, char *argv[]) {
FILE: c-api-examples/medasr-ctc-c-api.c
function main (line 22) | int32_t main() {
FILE: c-api-examples/moonshine-c-api.c
function main (line 21) | int32_t main() {
FILE: c-api-examples/moonshine-v2-c-api.c
function main (line 21) | int32_t main() {
FILE: c-api-examples/nemo-canary-c-api.c
function main (line 26) | int32_t main() {
FILE: c-api-examples/nemo-parakeet-c-api.c
function main (line 11) | int32_t main() {
FILE: c-api-examples/offline-speaker-diarization-c-api.c
function ProgressCallback (line 46) | static int32_t ProgressCallback(int32_t num_processed_chunks,
function main (line 55) | int main() {
FILE: c-api-examples/offline-tts-c-api.c
type cag_option (line 15) | struct cag_option
function ShowUsage (line 93) | static void ShowUsage() {
function main (line 137) | int32_t main(int32_t argc, char *argv[]) {
FILE: c-api-examples/omnilingual-asr-ctc-c-api.c
function main (line 22) | int32_t main() {
FILE: c-api-examples/online-speech-enhancement-dpdfnet-c-api.c
function AppendSamples (line 26) | static int32_t AppendSamples(float **samples, int32_t *num_samples,
function main (line 46) | int32_t main() {
FILE: c-api-examples/online-speech-enhancement-gtcrn-c-api.c
function AppendSamples (line 24) | static int32_t AppendSamples(float **samples, int32_t *num_samples,
function main (line 44) | int32_t main() {
FILE: c-api-examples/paraformer-c-api.c
function main (line 22) | int32_t main() {
FILE: c-api-examples/pocket-tts-en-c-api.c
function ProgressCallback (line 27) | static int32_t ProgressCallback(const float *samples, int32_t num_samples,
function main (line 35) | int32_t main(int32_t argc, char *argv[]) {
FILE: c-api-examples/sense-voice-c-api.c
function main (line 21) | int32_t main() {
FILE: c-api-examples/sense-voice-with-hr-c-api.c
function main (line 29) | int32_t main() {
FILE: c-api-examples/speaker-identification-c-api.c
function main (line 60) | int32_t main() {
FILE: c-api-examples/speech-enhancement-dpdfnet-c-api.c
function main (line 32) | int32_t main() {
FILE: c-api-examples/speech-enhancement-gtcrn-c-api.c
function main (line 22) | int32_t main() {
FILE: c-api-examples/spoken-language-identification-c-api.c
function main (line 23) | int32_t main() {
FILE: c-api-examples/streaming-ctc-buffered-tokens-c-api.c
function ReadFile (line 24) | static size_t ReadFile(const char *filename, const char **buffer_out) {
function main (line 51) | int32_t main() {
FILE: c-api-examples/streaming-hlg-decode-file-c-api.c
function main (line 25) | int32_t main() {
FILE: c-api-examples/streaming-paraformer-buffered-tokens-c-api.c
function ReadFile (line 24) | static size_t ReadFile(const char *filename, const char **buffer_out) {
function main (line 51) | int32_t main() {
FILE: c-api-examples/streaming-paraformer-c-api.c
function main (line 22) | int32_t main() {
FILE: c-api-examples/streaming-t-one-ctc-c-api.c
function main (line 22) | int32_t main() {
FILE: c-api-examples/streaming-zipformer-buffered-tokens-hotwords-c-api.c
function ReadFile (line 24) | static size_t ReadFile(const char *filename, const char **buffer_out) {
function main (line 51) | int32_t main() {
FILE: c-api-examples/streaming-zipformer-c-api.c
function main (line 22) | int32_t main() {
FILE: c-api-examples/streaming-zipformer-with-hr-c-api.c
function main (line 29) | int32_t main() {
FILE: c-api-examples/supertonic-tts-en-c-api.c
function ProgressCallback (line 27) | static int32_t ProgressCallback(const float* samples, int32_t num_samples,
function main (line 35) | int32_t main(int32_t argc, char* argv[]) {
FILE: c-api-examples/telespeech-c-api.c
function main (line 22) | int32_t main() {
FILE: c-api-examples/vad-moonshine-c-api.c
function main (line 29) | int32_t main() {
FILE: c-api-examples/vad-sense-voice-c-api.c
function main (line 29) | int32_t main() {
FILE: c-api-examples/vad-whisper-c-api.c
function main (line 31) | int32_t main() {
FILE: c-api-examples/wenet-ctc-c-api.c
function main (line 22) | int32_t main() {
FILE: c-api-examples/whisper-c-api.c
function main (line 23) | int32_t main() {
FILE: c-api-examples/zipformer-c-api.c
function main (line 22) | int32_t main() {
FILE: c-api-examples/zipvoice-tts-zh-en-c-api.c
function ProgressCallback (line 28) | static int32_t ProgressCallback(const float *samples, int32_t num_samples,
function main (line 34) | int32_t main(int32_t argc, char *argv[]) {
FILE: cmake/cmake_extension.py
function need_split_package (line 19) | def need_split_package():
function is_for_pypi (line 24) | def is_for_pypi():
function is_macos (line 29) | def is_macos():
function is_windows (line 33) | def is_windows():
function is_linux (line 37) | def is_linux():
function is_arm64 (line 41) | def is_arm64():
function is_x86 (line 45) | def is_x86():
function enable_alsa (line 49) | def enable_alsa():
function get_binaries (line 54) | def get_binaries():
class bdist_wheel (line 110) | class bdist_wheel(_bdist_wheel):
method finalize_options (line 111) | def finalize_options(self):
function cmake_extension (line 126) | def cmake_extension(name, *args, **kwargs) -> setuptools.Extension:
class BuildExtension (line 132) | class BuildExtension(build_ext):
method build_extension (line 133) | def build_extension(self, ext: setuptools.extension.Extension):
FILE: cxx-api-examples/audio-tagging-ced-cxx-api.cc
function main (line 23) | int32_t main() {
FILE: cxx-api-examples/audio-tagging-zipformer-cxx-api.cc
function main (line 24) | int32_t main() {
FILE: cxx-api-examples/dolphin-ctc-cxx-api.cc
function main (line 23) | int32_t main() {
FILE: cxx-api-examples/fire-red-asr-ctc-cxx-api.cc
function main (line 22) | int32_t main() {
FILE: cxx-api-examples/fire-red-asr-ctc-simulate-streaming-alsa-cxx-api.cc
function Handler (line 41) | static void Handler(int32_t /*sig*/) {
function RecordCallback (line 47) | static void RecordCallback(sherpa_onnx::Alsa *alsa) {
function CreateVad (line 58) | static sherpa_onnx::cxx::VoiceActivityDetector CreateVad() {
function CreateOfflineRecognizer (line 78) | static sherpa_onnx::cxx::OfflineRecognizer CreateOfflineRecognizer() {
function main (line 100) | int32_t main(int32_t argc, const char *argv[]) {
FILE: cxx-api-examples/fire-red-asr-ctc-simulate-streaming-microphone-cxx-api.cc
function Handler (line 40) | static void Handler(int32_t /*sig*/) {
function RecordCallback (line 46) | static int32_t RecordCallback(const void *input_buffer,
function CreateVad (line 61) | static sherpa_onnx::cxx::VoiceActivityDetector CreateVad() {
function CreateOfflineRecognizer (line 81) | static sherpa_onnx::cxx::OfflineRecognizer CreateOfflineRecognizer() {
function main (line 103) | int32_t main() {
FILE: cxx-api-examples/fire-red-asr-cxx-api.cc
function main (line 22) | int32_t main() {
FILE: cxx-api-examples/funasr-nano-cxx-api.cc
function main (line 26) | int32_t main(int32_t argc, char *argv[]) {
FILE: cxx-api-examples/kitten-tts-en-cxx-api.cc
function ProgressCallback (line 27) | static int32_t ProgressCallback(const float *samples, int32_t num_samples,
function main (line 35) | int32_t main(int32_t argc, char *argv[]) {
FILE: cxx-api-examples/kokoro-tts-en-cxx-api.cc
function ProgressCallback (line 27) | static int32_t ProgressCallback(const float *samples, int32_t num_samples,
function main (line 35) | int32_t main(int32_t argc, char *argv[]) {
FILE: cxx-api-examples/kokoro-tts-zh-en-cxx-api.cc
function ProgressCallback (line 27) | static int32_t ProgressCallback(const float *samples, int32_t num_samples,
function main (line 35) | int32_t main(int32_t argc, char *argv[]) {
FILE: cxx-api-examples/kws-cxx-api.cc
function main (line 23) | int32_t main() {
FILE: cxx-api-examples/matcha-tts-en-cxx-api.cc
function ProgressCallback (line 29) | static int32_t ProgressCallback(const float *samples, int32_t num_samples,
function main (line 37) | int32_t main(int32_t argc, char *argv[]) {
FILE: cxx-api-examples/matcha-tts-zh-cxx-api.cc
function ProgressCallback (line 29) | static int32_t ProgressCallback(const float *samples, int32_t num_samples,
function main (line 37) | int32_t main(int32_t argc, char *argv[]) {
FILE: cxx-api-examples/medasr-ctc-cxx-api.cc
function main (line 22) | int32_t main() {
FILE: cxx-api-examples/moonshine-cxx-api.cc
function main (line 22) | int32_t main() {
FILE: cxx-api-examples/moonshine-v2-cxx-api.cc
function main (line 22) | int32_t main() {
FILE: cxx-api-examples/nemo-canary-cxx-api.cc
function main (line 27) | int32_t main() {
FILE: cxx-api-examples/offline-punctuation-cxx-api.cc
function main (line 16) | int32_t main() {
FILE: cxx-api-examples/omnilingual-asr-ctc-cxx-api.cc
function main (line 22) | int32_t main() {
FILE: cxx-api-examples/online-punctuation-cxx-api.cc
function main (line 16) | int32_t main() {
FILE: cxx-api-examples/online-speech-enhancement-dpdfnet-cxx-api.cc
function main (line 30) | int32_t main() {
FILE: cxx-api-examples/online-speech-enhancement-gtcrn-cxx-api.cc
function main (line 24) | int32_t main() {
FILE: cxx-api-examples/parakeet-tdt-ctc-simulate-streaming-microphone-cxx-api.cc
function Handler (line 40) | static void Handler(int32_t /*sig*/) {
function RecordCallback (line 46) | static int32_t RecordCallback(const void *input_buffer,
function CreateVad (line 61) | static sherpa_onnx::cxx::VoiceActivityDetector CreateVad() {
function CreateOfflineRecognizer (line 81) | static sherpa_onnx::cxx::OfflineRecognizer CreateOfflineRecognizer() {
function main (line 103) | int32_t main() {
FILE: cxx-api-examples/parakeet-tdt-simulate-streaming-microphone-cxx-api.cc
function Handler (line 40) | static void Handler(int32_t /*sig*/) {
function RecordCallback (line 46) | static int32_t RecordCallback(const void *input_buffer,
function CreateVad (line 61) | static sherpa_onnx::cxx::VoiceActivityDetector CreateVad() {
function CreateOfflineRecognizer (line 81) | static sherpa_onnx::cxx::OfflineRecognizer CreateOfflineRecognizer() {
function main (line 109) | int32_t main() {
FILE: cxx-api-examples/pocket-tts-en-cxx-api.cc
function ProgressCallback (line 28) | static int32_t ProgressCallback(const float *samples, int32_t num_samples,
function main (line 36) | int32_t main(int32_t argc, char *argv[]) {
FILE: cxx-api-examples/sense-voice-cxx-api.cc
function main (line 22) | int32_t main() {
FILE: cxx-api-examples/sense-voice-simulate-streaming-alsa-cxx-api.cc
function Handler (line 41) | static void Handler(int32_t /*sig*/) {
function RecordCallback (line 47) | static void RecordCallback(sherpa_onnx::Alsa *alsa) {
function CreateVad (line 58) | static sherpa_onnx::cxx::VoiceActivityDetector CreateVad() {
function CreateOfflineRecognizer (line 78) | static sherpa_onnx::cxx::OfflineRecognizer CreateOfflineRecognizer() {
function main (line 102) | int32_t main(int32_t argc, const char *argv[]) {
FILE: cxx-api-examples/sense-voice-simulate-streaming-microphone-cxx-api.cc
function Handler (line 40) | static void Handler(int32_t /*sig*/) {
function RecordCallback (line 46) | static int32_t RecordCallback(const void *input_buffer,
function CreateVad (line 61) | static sherpa_onnx::cxx::VoiceActivityDetector CreateVad() {
function CreateOfflineRecognizer (line 81) | static sherpa_onnx::cxx::OfflineRecognizer CreateOfflineRecognizer() {
function main (line 105) | int32_t main() {
FILE: cxx-api-examples/sense-voice-with-hr-cxx-api.cc
function main (line 30) | int32_t main() {
FILE: cxx-api-examples/sherpa-display.h
function class (line 17) | class SherpaDisplay {
function FinalizeCurrentSentence (line 21) | void FinalizeCurrentSentence() {
FILE: cxx-api-examples/speech-enhancement-dpdfnet-cxx-api.cc
function main (line 29) | int32_t main() {
FILE: cxx-api-examples/speech-enhancement-gtcrn-cxx-api.cc
function main (line 23) | int32_t main() {
FILE: cxx-api-examples/streaming-t-one-ctc-cxx-api.cc
function main (line 24) | int32_t main() {
FILE: cxx-api-examples/streaming-zipformer-cxx-api.cc
function main (line 23) | int32_t main() {
FILE: cxx-api-examples/streaming-zipformer-rtf-cxx-api.cc
function main (line 41) | int32_t main(int argc, char *argv[]) {
FILE: cxx-api-examples/streaming-zipformer-with-hr-cxx-api.cc
function main (line 30) | int32_t main() {
FILE: cxx-api-examples/supertonic-tts-en-cxx-api.cc
function ProgressCallback (line 27) | static int32_t ProgressCallback(const float *samples, int32_t num_samples,
function main (line 35) | int32_t main(int32_t argc, char *argv[]) {
FILE: cxx-api-examples/vad-cxx-api.cc
function main (line 25) | int32_t main() {
FILE: cxx-api-examples/wenet-ctc-cxx-api.cc
function main (line 22) | int32_t main() {
FILE: cxx-api-examples/wenet-ctc-simulate-streaming-microphone-cxx-api.cc
function Handler (line 39) | static void Handler(int32_t /*sig*/) {
function RecordCallback (line 45) | static int32_t RecordCallback(const void *input_buffer,
function CreateVad (line 60) | static sherpa_onnx::cxx::VoiceActivityDetector CreateVad() {
function CreateOfflineRecognizer (line 80) | static sherpa_onnx::cxx::OfflineRecognizer CreateOfflineRecognizer() {
function main (line 102) | int32_t main() {
FILE: cxx-api-examples/whisper-cxx-api.cc
function main (line 22) | int32_t main() {
FILE: cxx-api-examples/zipformer-ctc-simulate-streaming-alsa-cxx-api.cc
function Handler (line 41) | static void Handler(int32_t /*sig*/) {
function RecordCallback (line 47) | static void RecordCallback(sherpa_onnx::Alsa *alsa) {
function CreateVad (line 58) | static sherpa_onnx::cxx::VoiceActivityDetector CreateVad() {
function CreateOfflineRecognizer (line 78) | static sherpa_onnx::cxx::OfflineRecognizer CreateOfflineRecognizer() {
function main (line 100) | int32_t main(int32_t argc, const char *argv[]) {
FILE: cxx-api-examples/zipformer-ctc-simulate-streaming-microphone-cxx-api.cc
function Handler (line 40) | static void Handler(int32_t /*sig*/) {
function RecordCallback (line 46) | static int32_t RecordCallback(const void *input_buffer,
function CreateVad (line 61) | static sherpa_onnx::cxx::VoiceActivityDetector CreateVad() {
function CreateOfflineRecognizer (line 81) | static sherpa_onnx::cxx::OfflineRecognizer CreateOfflineRecognizer() {
function main (line 103) | int32_t main() {
FILE: cxx-api-examples/zipformer-transducer-simulate-streaming-microphone-cxx-api.cc
function Handler (line 39) | static void Handler(int32_t /*sig*/) {
function RecordCallback (line 45) | static int32_t RecordCallback(const void *input_buffer,
function CreateVad (line 60) | static sherpa_onnx::cxx::VoiceActivityDetector CreateVad() {
function CreateOfflineRecognizer (line 80) | static sherpa_onnx::cxx::OfflineRecognizer CreateOfflineRecognizer() {
function main (line 111) | int32_t main() {
FILE: cxx-api-examples/zipvoice-tts-zh-en-cxx-api.cc
function ProgressCallback (line 29) | static int32_t ProgressCallback(const float *samples, int32_t num_samples,
function main (line 37) | int32_t main(int32_t argc, char *argv[]) {
FILE: dart-api-examples/add-punctuations/bin/punctuations.dart
function main (line 8) | void main(List<String> arguments)
FILE: dart-api-examples/audio-tagging/bin/ced.dart
function main (line 8) | void main(List<String> arguments)
FILE: dart-api-examples/audio-tagging/bin/zipformer.dart
function main (line 8) | void main(List<String> arguments)
FILE: dart-api-examples/keyword-spotter/bin/zipformer-transducer.dart
function main (line 10) | void main(List<String> arguments)
FILE: dart-api-examples/non-streaming-asr/bin/dolphin-ctc.dart
function main (line 9) | void main(List<String> arguments)
FILE: dart-api-examples/non-streaming-asr/bin/fire-red-asr-ctc.dart
function main (line 9) | void main(List<String> arguments)
FILE: dart-api-examples/non-streaming-asr/bin/fire-red-asr.dart
function main (line 9) | void main(List<String> arguments)
FILE: dart-api-examples/non-streaming-asr/bin/funasr-nano.dart
function main (line 9) | void main(List<String> arguments)
FILE: dart-api-examples/non-streaming-asr/bin/medasr-ctc.dart
function main (line 9) | void main(List<String> arguments)
FILE: dart-api-examples/non-streaming-asr/bin/moonshine.dart
function main (line 9) | void main(List<String> arguments)
FILE: dart-api-examples/non-streaming-asr/bin/moonshine_v2.dart
function main (line 9) | void main(List<String> arguments)
FILE: dart-api-examples/non-streaming-asr/bin/nemo-canary.dart
function main (line 9) | void main(List<String> arguments)
FILE: dart-api-examples/non-streaming-asr/bin/nemo-ctc.dart
function main (line 9) | void main(List<String> arguments)
FILE: dart-api-examples/non-streaming-asr/bin/nemo-transducer.dart
function main (line 9) | void main(List<String> arguments)
FILE: dart-api-examples/non-streaming-asr/bin/omnilingual-asr-ctc.dart
function main (line 9) | void main(List<String> arguments)
FILE: dart-api-examples/non-streaming-asr/bin/paraformer-itn.dart
function main (line 9) | void main(List<String> arguments)
FILE: dart-api-examples/non-streaming-asr/bin/paraformer.dart
function main (line 9) | void main(List<String> arguments)
FILE: dart-api-examples/non-streaming-asr/bin/sense-voice-with-hr.dart
function main (line 9) | void main(List<String> arguments)
FILE: dart-api-examples/non-streaming-asr/bin/sense-voice.dart
function main (line 9) | void main(List<String> arguments)
FILE: dart-api-examples/non-streaming-asr/bin/telespeech-ctc.dart
function main (line 9) | void main(List<String> arguments)
FILE: dart-api-examples/non-streaming-asr/bin/vad-with-paraformer.dart
function main (line 10) | void main(List<String> arguments)
FILE: dart-api-examples/non-streaming-asr/bin/wenet-ctc.dart
function main (line 9) | void main(List<String> arguments)
FILE: dart-api-examples/non-streaming-asr/bin/whisper.dart
function main (line 9) | void main(List<String> arguments)
FILE: dart-api-examples/non-streaming-asr/bin/zipformer-ctc.dart
function main (line 9) | void main(List<String> arguments)
FILE: dart-api-examples/non-streaming-asr/bin/zipformer-transducer.dart
function main (line 9) | void main(List<String> arguments)
FILE: dart-api-examples/speaker-diarization/bin/speaker-diarization.dart
function main (line 9) | void main(List<String> arguments)
FILE: dart-api-examples/speaker-identification/bin/speaker_id.dart
function computeEmbedding (line 9) | Float32List computeEmbedding(
function main (line 29) | void main(List<String> arguments)
FILE: dart-api-examples/speech-enhancement-dpdfnet/bin/speech_enhancement_dpdfnet.dart
function main (line 8) | void main(List<String> arguments)
FILE: dart-api-examples/speech-enhancement-gtcrn/bin/speech_enhancement_gtcrn.dart
function main (line 8) | void main(List<String> arguments)
FILE: dart-api-examples/spoken-language-identification/bin/spoken_language_identification.dart
function main (line 8) | void main(List<String> arguments)
FILE: dart-api-examples/streaming-asr/bin/paraformer.dart
function main (line 10) | void main(List<String> arguments)
FILE: dart-api-examples/streaming-asr/bin/t-one-ctc.dart
function main (line 10) | void main(List<String> arguments)
FILE: dart-api-examples/streaming-asr/bin/zipformer-ctc-hlg.dart
function main (line 10) | void main(List<String> arguments)
FILE: dart-api-examples/streaming-asr/bin/zipformer-ctc.dart
function main (line 10) | void main(List<String> arguments)
FILE: dart-api-examples/streaming-asr/bin/zipformer-transducer.dart
function main (line 10) | void main(List<String> arguments)
FILE: dart-api-examples/streaming-speech-enhancement-dpdfnet/bin/streaming_speech_enhancement_dpdfnet.dart
function main (line 9) | void main(List<String> arguments)
FILE: dart-api-examples/streaming-speech-enhancement-gtcrn/bin/streaming_speech_enhancement_gtcrn.dart
function main (line 9) | void main(List<String> arguments)
FILE: dart-api-examples/tts/bin/coqui.dart
function main (line 9) | void main(List<String> arguments)
FILE: dart-api-examples/tts/bin/kitten-en.dart
function main (line 9) | void main(List<String> arguments)
FILE: dart-api-examples/tts/bin/kokoro-en.dart
function main (line 9) | void main(List<String> arguments)
FILE: dart-api-examples/tts/bin/kokoro-zh-en.dart
function main (line 9) | void main(List<String> arguments)
FILE: dart-api-examples/tts/bin/matcha-en.dart
function main (line 9) | void main(List<String> arguments)
FILE: dart-api-examples/tts/bin/matcha-zh.dart
function main (line 9) | void main(List<String> arguments)
FILE: dart-api-examples/tts/bin/piper.dart
function main (line 10) | void main(List<String> arguments)
FILE: dart-api-examples/tts/bin/pocket-en.dart
function main (line 9) | void main(List<String> arguments)
FILE: dart-api-examples/tts/bin/supertonic-en.dart
function main (line 9) | void main(List<String> arguments)
FILE: dart-api-examples/tts/bin/vits-zh.dart
function main (line 9) | void main(List<String> arguments)
FILE: dart-api-examples/tts/bin/zipvoice-zh-en.dart
function main (line 9) | void main(List<String> arguments)
FILE: dart-api-examples/vad-with-non-streaming-asr/bin/dolphin-ctc.dart
function main (line 10) | void main(List<String> arguments)
FILE: dart-api-examples/vad-with-non-streaming-asr/bin/moonshine.dart
function main (line 10) | void main(List<String> arguments)
FILE: dart-api-examples/vad-with-non-streaming-asr/bin/paraformer.dart
function main (line 10) | void main(List<String> arguments)
FILE: dart-api-examples/vad-with-non-streaming-asr/bin/sense-voice-2.dart
function main (line 11) | void main(List<String> arguments)
FILE: dart-api-examples/vad-with-non-streaming-asr/bin/sense-voice.dart
function main (line 10) | void main(List<String> arguments)
FILE: dart-api-examples/vad-with-non-streaming-asr/bin/telespeech-ctc.dart
function main (line 10) | void main(List<String> arguments)
FILE: dart-api-examples/vad-with-non-streaming-asr/bin/whisper.dart
function main (line 10) | void main(List<String> arguments)
FILE: dart-api-examples/vad-with-non-streaming-asr/bin/zipformer-ctc.dart
function main (line 10) | void main(List<String> arguments)
FILE: dart-api-examples/vad-with-non-streaming-asr/bin/zipformer-transducer.dart
function main (line 10) | void main(List<String> arguments)
FILE: dart-api-examples/vad/bin/init.dart
function initSherpaOnnx (line 7) | Future<void> initSherpaOnnx()
FILE: dart-api-examples/vad/bin/ten-vad.dart
function main (line 9) | void main(List<String> arguments)
FILE: dart-api-examples/vad/bin/vad.dart
function main (line 9) | void main(List<String> arguments)
FILE: dotnet-examples/Common/WaveHeader.cs
type WaveHeader (line 9) | [StructLayout(LayoutKind.Sequential)]
method Validate (line 26) | public bool Validate()
class WaveReader (line 90) | public class WaveReader
method WaveReader (line 92) | public WaveReader(string fileName)
method ReadHeader (line 126) | private static WaveHeader ReadHeader(BinaryReader reader)
method SkipMetaData (line 137) | private void SkipMetaData(BinaryReader reader)
method Test (line 163) | public static void Test(string fileName)
FILE: dotnet-examples/keyword-spotting-from-files/Program.cs
class KeywordSpotterDemo (line 17) | class KeywordSpotterDemo
method Main (line 19) | static void Main(string[] args)
FILE: dotnet-examples/keyword-spotting-from-microphone/Program.cs
class KeywordSpotterDemo (line 19) | class KeywordSpotterDemo
method Main (line 21) | static void Main(string[] args)
FILE: dotnet-examples/kitten-tts-play/Program.cs
class KittenTtsPlayDemo (line 15) | class KittenTtsPlayDemo
method Main (line 17) | static void Main(string[] args)
FILE: dotnet-examples/kitten-tts/Program.cs
class KittenTtsDemo (line 13) | class KittenTtsDemo
method Main (line 15) | static void Main(string[] args)
method TestEn (line 21) | static void TestEn()
FILE: dotnet-examples/kokoro-tts-play/Program.cs
class KokoroTtsPlayDemo (line 15) | class KokoroTtsPlayDemo
method Main (line 17) | static void Main(string[] args)
FILE: dotnet-examples/kokoro-tts/Program.cs
class KokoroTtsDemo (line 13) | class KokoroTtsDemo
method Main (line 15) | static void Main(string[] args)
method TestZhEn (line 22) | static void TestZhEn()
method TestEn (line 76) | static void TestEn()
FILE: dotnet-examples/non-streaming-canary-decode-files/Program.cs
class NonStreamingAsrCanary (line 9) | class NonStreamingAsrCanary
method Main (line 11) | static void Main(string[] args)
FILE: dotnet-examples/non-streaming-funasr-nano-decode-files/Program.cs
class NonStreamingFunAsrNano (line 9) | class NonStreamingFunAsrNano
method Main (line 11) | static void Main(string[] args)
FILE: dotnet-examples/non-streaming-moonshine-v2-decode-files/Program.cs
class NonStreamingAsrMoonshineV2 (line 9) | class NonStreamingAsrMoonshineV2
method Main (line 11) | static void Main(string[] args)
FILE: dotnet-examples/offline-audio-tagging/Program.cs
class AudioTaggingDemo (line 14) | class AudioTaggingDemo
method Main (line 16) | static void Main(string[] args)
method TestZipformer (line 22) | static void TestZipformer()
method TestCED (line 49) | static void TestCED()
FILE: dotnet-examples/offline-decode-files/Program.cs
class OfflineDecodeFiles (line 12) | class OfflineDecodeFiles
class Options (line 14) | class Options
method Main (line 131) | static void Main(string[] args)
method DisplayHelp (line 141) | private static void DisplayHelp<T>(ParserResult<T> result, IEnumerable...
method Run (line 231) | private static void Run(Options options)
FILE: dotnet-examples/offline-punctuation/Program.cs
class OfflinePunctuationDemo (line 16) | class OfflinePunctuationDemo
method Main (line 18) | static void Main(string[] args)
FILE: dotnet-examples/offline-speaker-diarization/Program.cs
class OfflineSpeakerDiarizationDemo (line 38) | class OfflineSpeakerDiarizationDemo
method Main (line 40) | static void Main(string[] args)
FILE: dotnet-examples/offline-tts-play/Program.cs
class OfflineTtsPlayDemo (line 20) | class OfflineTtsPlayDemo
class Options (line 22) | class Options
method Main (line 73) | static void Main(string[] args)
method DisplayHelp (line 83) | private static void DisplayHelp<T>(ParserResult<T> result, IEnumerable...
method Run (line 164) | private static void Run(Options options)
FILE: dotnet-examples/offline-tts/Program.cs
class OfflineTtsDemo (line 13) | class OfflineTtsDemo
class Options (line 15) | class Options
method Main (line 66) | static void Main(string[] args)
method DisplayHelp (line 76) | private static void DisplayHelp<T>(ParserResult<T> result, IEnumerable...
method Run (line 158) | private static void Run(Options options)
FILE: dotnet-examples/online-decode-files/Program.cs
class OnlineDecodeFiles (line 13) | class OnlineDecodeFiles
class Options (line 15) | class Options
method Main (line 96) | static void Main(string[] args)
method DisplayHelp (line 106) | private static void DisplayHelp<T>(ParserResult<T> result, IEnumerable...
method Run (line 162) | private static void Run(Options options)
FILE: dotnet-examples/pocket-tts-zero-shot-play/Program.cs
class PocketTtsDemo (line 15) | class PocketTtsDemo
method Main (line 17) | static void Main(string[] args)
method TestEn (line 23) | static void TestEn()
FILE: dotnet-examples/pocket-tts-zero-shot/Program.cs
class PocketTtsDemo (line 13) | class PocketTtsDemo
method Main (line 15) | static void Main(string[] args)
method TestEn (line 21) | static void TestEn()
FILE: dotnet-examples/speaker-identification/Program.cs
class SpeakerIdentificationDemo (line 20) | class SpeakerIdentificationDemo
method ComputeEmbedding (line 22) | public static float[] ComputeEmbedding(SpeakerEmbeddingExtractor extra...
method Main (line 35) | static void Main(string[] args)
FILE: dotnet-examples/speech-enhancement-dpdfnet/Program.cs
class OfflineSpeechEnhancementDemo (line 27) | class OfflineSpeechEnhancementDemo
method Main (line 29) | static void Main(string[] args)
FILE: dotnet-examples/speech-enhancement-gtcrn/Program.cs
class OfflineSpeechEnhancementDemo (line 20) | class OfflineSpeechEnhancementDemo
method Main (line 22) | static void Main(string[] args)
FILE: dotnet-examples/speech-recognition-from-microphone/Program.cs
class SpeechRecognitionFromMicrophone (line 15) | class SpeechRecognitionFromMicrophone
class Options (line 17) | class Options
method Main (line 79) | static void Main(string[] args)
method DisplayHelp (line 89) | private static void DisplayHelp<T>(ParserResult<T> result, IEnumerable...
method Run (line 123) | private static void Run(Options options)
FILE: dotnet-examples/spoken-language-identification/Program.cs
class SpokenLanguageIdentificationDemo (line 19) | class SpokenLanguageIdentificationDemo
method Main (line 21) | static void Main(string[] args)
FILE: dotnet-examples/streaming-hlg-decoding/Program.cs
class StreamingHlgDecodingDemo (line 17) | class StreamingHlgDecodingDemo
method Main (line 19) | static void Main(string[] args)
FILE: dotnet-examples/streaming-speech-enhancement-dpdfnet/Program.cs
class StreamingSpeechEnhancementDpdfnet (line 10) | class StreamingSpeechEnhancementDpdfnet
method Main (line 12) | static void Main(string[] args)
class GeneratedDenoisedAudio (line 48) | private sealed class GeneratedDenoisedAudio
method GeneratedDenoisedAudio (line 53) | public GeneratedDenoisedAudio(float[] samples, int sampleRate)
method SaveToWaveFile (line 59) | public bool SaveToWaveFile(string filename)
method SherpaOnnxWriteWave (line 68) | [DllImport(Dll.Filename)]
FILE: dotnet-examples/streaming-speech-enhancement-gtcrn/Program.cs
class StreamingSpeechEnhancementGtcrn (line 10) | class StreamingSpeechEnhancementGtcrn
method Main (line 12) | static void Main(string[] args)
class GeneratedDenoisedAudio (line 48) | private sealed class GeneratedDenoisedAudio
method GeneratedDenoisedAudio (line 53) | public GeneratedDenoisedAudio(float[] samples, int sampleRate)
method SaveToWaveFile (line 59) | public bool SaveToWaveFile(string filename)
method SherpaOnnxWriteWave (line 68) | [DllImport(Dll.Filename)]
FILE: dotnet-examples/supertonic-tts/Program.cs
class SupertonicTtsDemo (line 13) | class SupertonicTtsDemo
method Main (line 15) | static void Main(string[] args)
method TestEn (line 20) | static void TestEn()
FILE: dotnet-examples/vad-non-streaming-asr-paraformer/Program.cs
class VadNonStreamingAsrParaformer (line 9) | class VadNonStreamingAsrParaformer
method Main (line 11) | static void Main(string[] args)
FILE: dotnet-examples/vad-non-streaming-funasr-nano/Program.cs
class VadNonStreamingFunAsrNano (line 9) | class VadNonStreamingFunAsrNano
method Main (line 11) | static void Main(string[] args)
FILE: dotnet-examples/version-test/Program.cs
class VersionTestDemo (line 4) | class VersionTestDemo
method Main (line 6) | static void Main(string[] args)
FILE: dotnet-examples/zipvoice-tts-play/Program.cs
class ZipVoiceTtsDemo (line 15) | class ZipVoiceTtsDemo
method Main (line 17) | static void Main(string[] args)
method TestZhEn (line 22) | static void TestZhEn()
FILE: dotnet-examples/zipvoice-tts/Program.cs
class ZipVoiceTtsDemo (line 13) | class ZipVoiceTtsDemo
method Main (line 15) | static void Main(string[] args)
method TestZhEn (line 20) | static void TestZhEn()
FILE: ffmpeg-examples/sherpa-onnx-ffmpeg.c
function open_input_file (line 62) | static int open_input_file(const char *filename) {
function init_filters (line 100) | static int init_filters(const char *filters_descr) {
function sherpa_decode_frame (line 216) | static void sherpa_decode_frame(const AVFrame *frame,
function main (line 260) | int main(int argc, char **argv) {
FILE: flutter-examples/non_streaming_vad_asr/lib/info.dart
class InfoScreen (line 5) | class InfoScreen extends StatelessWidget {
method build (line 7) | Widget build(BuildContext context)
FILE: flutter-examples/non_streaming_vad_asr/lib/main.dart
function main (line 7) | void main()
class MyApp (line 11) | class MyApp extends StatelessWidget {
method build (line 15) | Widget build(BuildContext context)
class MyHomePage (line 27) | class MyHomePage extends StatefulWidget {
method createState (line 33) | State<MyHomePage> createState()
class _MyHomePageState (line 36) | class _MyHomePageState extends State<MyHomePage> {
method build (line 43) | Widget build(BuildContext context)
FILE: flutter-examples/non_streaming_vad_asr/lib/non_streaming_vad_asr.dart
function createOfflineRecognizer (line 17) | Future<sherpa_onnx.OfflineRecognizer> createOfflineRecognizer()
class NoStreamingAsrVAdScreen (line 24) | class NoStreamingAsrVAdScreen extends StatefulWidget {
method createState (line 28) | State<NoStreamingAsrVAdScreen> createState()
class _NoStreamingAsrVAdScreenState (line 31) | class _NoStreamingAsrVAdScreenState extends State<NoStreamingAsrVAdScree...
method initState (line 56) | void initState()
method _start (line 67) | Future<void> _start()
method _stop (line 173) | Future<void> _stop()
method _pause (line 207) | Future<void> _pause()
method _resume (line 209) | Future<void> _resume()
method _updateRecordState (line 211) | void _updateRecordState(RecordState recordState)
method _isEncoderSupported (line 215) | Future<bool> _isEncoderSupported(AudioEncoder encoder)
method build (line 235) | Widget build(BuildContext context)
method dispose (line 266) | void dispose()
method _buildRecordStopControl (line 275) | Widget _buildRecordStopControl()
method _buildText (line 301) | Widget _buildText()
FILE: flutter-examples/non_streaming_vad_asr/lib/offline_model.dart
function getOfflineModelConfig (line 7) | Future<sherpa_onnx.OfflineModelConfig> getOfflineModelConfig(
FILE: flutter-examples/non_streaming_vad_asr/lib/utils.dart
function copyAssetFile (line 9) | Future<String> copyAssetFile(String src, [String? dst])
function convertBytesToFloat32 (line 28) | Float32List convertBytesToFloat32(Uint8List bytes, [endian = Endian.litt...
FILE: flutter-examples/streaming_asr/lib/info.dart
class InfoScreen (line 5) | class InfoScreen extends StatelessWidget {
method build (line 7) | Widget build(BuildContext context)
FILE: flutter-examples/streaming_asr/lib/main.dart
function main (line 7) | void main()
class MyApp (line 11) | class MyApp extends StatelessWidget {
method build (line 15) | Widget build(BuildContext context)
class MyHomePage (line 27) | class MyHomePage extends StatefulWidget {
method createState (line 33) | State<MyHomePage> createState()
class _MyHomePageState (line 36) | class _MyHomePageState extends State<MyHomePage> {
method build (line 43) | Widget build(BuildContext context)
FILE: flutter-examples/streaming_asr/lib/online_model.dart
function getOnlineModelConfig (line 6) | Future<sherpa_onnx.OnlineModelConfig> getOnlineModelConfig(
FILE: flutter-examples/streaming_asr/lib/streaming_asr.dart
function createOnlineRecognizer (line 15) | Future<sherpa_onnx.OnlineRecognizer> createOnlineRecognizer()
class StreamingAsrScreen (line 27) | class StreamingAsrScreen extends StatefulWidget {
method createState (line 31) | State<StreamingAsrScreen> createState()
class _StreamingAsrScreenState (line 34) | class _StreamingAsrScreenState extends State<StreamingAsrScreen> {
method initState (line 51) | void initState()
method _start (line 62) | Future<void> _start()
method _stop (line 134) | Future<void> _stop()
method _pause (line 141) | Future<void> _pause()
method _resume (line 143) | Future<void> _resume()
method _updateRecordState (line 145) | void _updateRecordState(RecordState recordState)
method _isEncoderSupported (line 149) | Future<bool> _isEncoderSupported(AudioEncoder encoder)
method build (line 169) | Widget build(BuildContext context)
method dispose (line 200) | void dispose()
method _buildRecordStopControl (line 208) | Widget _buildRecordStopControl()
method _buildText (line 234) | Widget _buildText()
FILE: flutter-examples/streaming_asr/lib/utils.dart
function copyAssetFile (line 9) | Future<String> copyAssetFile(String src, [String? dst])
function convertBytesToFloat32 (line 28) | Float32List convertBytesToFloat32(Uint8List bytes, [endian = Endian.litt...
FILE: flutter-examples/streaming_asr/linux/main.cc
function main (line 3) | int main(int argc, char** argv) {
FILE: flutter-examples/streaming_asr/linux/my_application.cc
type _MyApplication (line 10) | struct _MyApplication {
function my_application_activate (line 18) | static void my_application_activate(GApplication* application) {
function gboolean (line 66) | static gboolean my_application_local_command_line(GApplication* applicat...
function my_application_startup (line 85) | static void my_application_startup(GApplication* application) {
function my_application_shutdown (line 94) | static void my_application_shutdown(GApplication* application) {
function my_application_dispose (line 103) | static void my_application_dispose(GObject* object) {
function my_application_class_init (line 109) | static void my_application_class_init(MyApplicationClass* klass) {
function my_application_init (line 117) | static void my_application_init(MyApplication* self) {}
function MyApplication (line 119) | MyApplication* my_application_new() {
FILE: flutter-examples/streaming_asr/test/widget_test.dart
function main (line 13) | void main()
FILE: flutter-examples/streaming_asr/windows/runner/flutter_window.cpp
function LRESULT (line 50) | LRESULT
FILE: flutter-examples/streaming_asr/windows/runner/flutter_window.h
function class (line 12) | class FlutterWindow : public Win32Window {
FILE: flutter-examples/streaming_asr/windows/runner/main.cpp
function wWinMain (line 8) | int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev,
FILE: flutter-examples/streaming_asr/windows/runner/utils.cpp
function CreateAndAttachConsole (line 10) | void CreateAndAttachConsole() {
function GetCommandLineArguments (line 24) | std::vector<std::string> GetCommandLineArguments() {
function Utf8FromUtf16 (line 44) | std::string Utf8FromUtf16(const wchar_t* utf16_string) {
FILE: flutter-examples/streaming_asr/windows/runner/win32_window.cpp
function Scale (line 36) | int Scale(int source, double scale_factor) {
function EnableFullDpiSupportIfAvailable (line 42) | void EnableFullDpiSupportIfAvailable(HWND hwnd) {
class WindowClassRegistrar (line 59) | class WindowClassRegistrar {
method WindowClassRegistrar (line 64) | static WindowClassRegistrar* GetInstance() {
method WindowClassRegistrar (line 80) | WindowClassRegistrar() = default;
function wchar_t (line 89) | const wchar_t* WindowClassRegistrar::GetWindowClass() {
function LRESULT (line 157) | LRESULT CALLBACK Win32Window::WndProc(HWND const window,
function LRESULT (line 176) | LRESULT
function Win32Window (line 236) | Win32Window* Win32Window::GetThisFromHandle(HWND const window) noexcept {
function RECT (line 252) | RECT Win32Window::GetClientArea() {
function HWND (line 258) | HWND Win32Window::GetHandle() {
FILE: flutter-examples/streaming_asr/windows/runner/win32_window.h
type Size (line 21) | struct Size {
FILE: flutter-examples/tts/generate-asset-list.py
function main (line 14) | def main():
FILE: flutter-examples/tts/lib/info.dart
class InfoScreen (line 5) | class InfoScreen extends StatelessWidget {
method build (line 7) | Widget build(BuildContext context)
FILE: flutter-examples/tts/lib/isolate_tts.dart
class _IsolateTask (line 13) | class _IsolateTask<T> {
class _PortModel (line 21) | class _PortModel {
class _TtsManager (line 34) | class _TtsManager {
class IsolateTts (line 49) | class IsolateTts {
method init (line 59) | Future<void> init()
method _isolateEntry (line 78) | Future<void> _isolateEntry(_IsolateTask task)
method generate (line 210) | Future<void> generate(
class IsolateTtsView (line 224) | class IsolateTtsView extends StatefulWidget {
method createState (line 228) | State<IsolateTtsView> createState()
class _IsolateTtsViewState (line 231) | class _IsolateTtsViewState extends State<IsolateTtsView> {
method initState (line 233) | void initState()
method build (line 239) | Widget build(BuildContext context)
FILE: flutter-examples/tts/lib/main.dart
function main (line 8) | void main()
class MyApp (line 12) | class MyApp extends StatelessWidget {
method build (line 16) | Widget build(BuildContext context)
class MyHomePage (line 28) | class MyHomePage extends StatefulWidget {
method createState (line 34) | State<MyHomePage> createState()
class _MyHomePageState (line 37) | class _MyHomePageState extends State<MyHomePage> {
method build (line 45) | Widget build(BuildContext context)
FILE: flutter-examples/tts/lib/model.dart
function createOfflineTts (line 12) | Future<sherpa_onnx.OfflineTts> createOfflineTts()
FILE: flutter-examples/tts/lib/tts.dart
class TtsScreen (line 15) | class TtsScreen extends StatefulWidget {
method createState (line 19) | State<TtsScreen> createState()
class _TtsScreenState (line 22) | class _TtsScreenState extends State<TtsScreen> {
method initState (line 36) | void initState()
method _init (line 44) | Future<void> _init()
method build (line 58) | Widget build(BuildContext context)
method dispose (line 245) | void dispose()
FILE: flutter-examples/tts/lib/utils.dart
function generateWaveFilename (line 9) | Future<String> generateWaveFilename([String suffix = ''])
function getAllAssetFiles (line 19) | Future<List<String>> getAllAssetFiles()
function stripLeadingDirectory (line 26) | String stripLeadingDirectory(String src, {int n = 1})
function copyAllAssetFiles (line 30) | Future<void> copyAllAssetFiles()
function copyAssetFile (line 40) | Future<String> copyAssetFile(String src, [String? dst])
FILE: flutter-examples/tts/linux/main.cc
function main (line 3) | int main(int argc, char** argv) {
FILE: flutter-examples/tts/linux/my_application.cc
type _MyApplication (line 10) | struct _MyApplication {
function my_application_activate (line 18) | static void my_application_activate(GApplication* application) {
function gboolean (line 66) | static gboolean my_application_local_command_line(GApplication* applicat...
function my_application_startup (line 85) | static void my_application_startup(GApplication* application) {
function my_application_shutdown (line 94) | static void my_application_shutdown(GApplication* application) {
function my_application_dispose (line 103) | static void my_application_dispose(GObject* object) {
function my_application_class_init (line 109) | static void my_application_class_init(MyApplicationClass* klass) {
function my_application_init (line 117) | static void my_application_init(MyApplication* self) {}
function MyApplication (line 119) | MyApplication* my_application_new() {
FILE: flutter-examples/tts/test/widget_test.dart
function main (line 13) | void main()
FILE: flutter-examples/tts/windows/runner/flutter_window.cpp
function LRESULT (line 50) | LRESULT
FILE: flutter-examples/tts/windows/runner/flutter_window.h
function class (line 12) | class FlutterWindow : public Win32Window {
FILE: flutter-examples/tts/windows/runner/main.cpp
function wWinMain (line 8) | int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev,
FILE: flutter-examples/tts/windows/runner/utils.cpp
function CreateAndAttachConsole (line 10) | void CreateAndAttachConsole() {
function GetCommandLineArguments (line 24) | std::vector<std::string> GetCommandLineArguments() {
function Utf8FromUtf16 (line 44) | std::string Utf8FromUtf16(const wchar_t* utf16_string) {
FILE: flutter-examples/tts/windows/runner/win32_window.cpp
function Scale (line 36) | int Scale(int source, double scale_factor) {
function EnableFullDpiSupportIfAvailable (line 42) | void EnableFullDpiSupportIfAvailable(HWND hwnd) {
class WindowClassRegistrar (line 59) | class WindowClassRegistrar {
method WindowClassRegistrar (line 64) | static WindowClassRegistrar* GetInstance() {
method WindowClassRegistrar (line 80) | WindowClassRegistrar() = default;
function wchar_t (line 89) | const wchar_t* WindowClassRegistrar::GetWindowClass() {
function LRESULT (line 157) | LRESULT CALLBACK Win32Window::WndProc(HWND const window,
function LRESULT (line 176) | LRESULT
function Win32Window (line 236) | Win32Window* Win32Window::GetThisFromHandle(HWND const window) noexcept {
function RECT (line 252) | RECT Win32Window::GetClientArea() {
function HWND (line 258) | HWND Win32Window::GetHandle() {
FILE: flutter-examples/tts/windows/runner/win32_window.h
type Size (line 21) | struct Size {
FILE: flutter/sherpa_onnx/lib/sherpa_onnx.dart
function initBindings (line 99) | void initBindings([String? p])
FILE: flutter/sherpa_onnx/lib/src/audio_tagging.dart
class OfflineZipformerAudioTaggingModelConfig (line 38) | class OfflineZipformerAudioTaggingModelConfig {
method toString (line 49) | String toString()
method toJson (line 53) | Map<String, dynamic> toJson()
class AudioTaggingModelConfig (line 65) | class AudioTaggingModelConfig {
method toString (line 85) | String toString()
method toJson (line 89) | Map<String, dynamic> toJson()
class AudioTaggingConfig (line 107) | class AudioTaggingConfig {
method toString (line 118) | String toString()
method toJson (line 122) | Map<String, dynamic> toJson()
class AudioEvent (line 134) | class AudioEvent {
method toString (line 146) | String toString()
method toJson (line 150) | Map<String, dynamic> toJson()
class AudioTagging (line 164) | class AudioTagging {
method free (line 211) | void free()
method createStream (line 224) | OfflineStream createStream()
method compute (line 245) | List<AudioEvent> compute({required OfflineStream stream, required int ...
FILE: flutter/sherpa_onnx/lib/src/feature_config.dart
class FeatureConfig (line 7) | class FeatureConfig {
method toString (line 18) | String toString()
method toJson (line 22) | Map<String, dynamic> toJson()
FILE: flutter/sherpa_onnx/lib/src/homophone_replacer_config.dart
class HomophoneReplacerConfig (line 7) | class HomophoneReplacerConfig {
method toString (line 19) | String toString()
method toJson (line 23) | Map<String, dynamic> toJson()
FILE: flutter/sherpa_onnx/lib/src/keyword_spotter.dart
class KeywordSpotterConfig (line 34) | class KeywordSpotterConfig {
method toString (line 65) | String toString()
method toJson (line 69) | Map<String, dynamic> toJson()
class KeywordResult (line 95) | class KeywordResult {
method toString (line 105) | String toString()
method toJson (line 109) | Map<String, dynamic> toJson()
class KeywordSpotter (line 117) | class KeywordSpotter {
method free (line 196) | void free()
method createStream (line 212) | OnlineStream createStream({String keywords = ''})
method isReady (line 249) | bool isReady(OnlineStream stream)
method getResult (line 265) | KeywordResult getResult(OnlineStream stream)
method decode (line 291) | void decode(OnlineStream stream)
method reset (line 303) | void reset(OnlineStream stream)
FILE: flutter/sherpa_onnx/lib/src/offline_punctuation.dart
class OfflinePunctuationModelConfig (line 11) | class OfflinePunctuationModelConfig {
method toString (line 28) | String toString()
method toJson (line 32) | Map<String, dynamic> toJson()
class OfflinePunctuationConfig (line 46) | class OfflinePunctuationConfig {
method toString (line 59) | String toString()
method toJson (line 63) | Map<String, dynamic> toJson()
class OfflinePunctuation (line 71) | class OfflinePunctuation {
method free (line 109) | void free()
method addPunct (line 122) | String addPunct(String text)
FILE: flutter/sherpa_onnx/lib/src/offline_recognizer.dart
class OfflineTransducerModelConfig (line 51) | class OfflineTransducerModelConfig {
method toString (line 67) | String toString()
method toJson (line 71) | Map<String, dynamic> toJson()
class OfflineParaformerModelConfig (line 83) | class OfflineParaformerModelConfig {
method toString (line 91) | String toString()
method toJson (line 95) | Map<String, dynamic> toJson()
class OfflineNemoEncDecCtcModelConfig (line 101) | class OfflineNemoEncDecCtcModelConfig {
method toString (line 111) | String toString()
method toJson (line 115) | Map<String, dynamic> toJson()
class OfflineDolphinModelConfig (line 121) | class OfflineDolphinModelConfig {
method toString (line 129) | String toString()
method toJson (line 133) | Map<String, dynamic> toJson()
class OfflineZipformerCtcModelConfig (line 139) | class OfflineZipformerCtcModelConfig {
method toString (line 149) | String toString()
method toJson (line 153) | Map<String, dynamic> toJson()
class OfflineWenetCtcModelConfig (line 159) | class OfflineWenetCtcModelConfig {
method toString (line 167) | String toString()
method toJson (line 171) | Map<String, dynamic> toJson()
class OfflineOmnilingualAsrCtcModelConfig (line 177) | class OfflineOmnilingualAsrCtcModelConfig {
method toString (line 189) | String toString()
method toJson (line 193) | Map<String, dynamic> toJson()
class OfflineMedAsrCtcModelConfig (line 199) | class OfflineMedAsrCtcModelConfig {
method toString (line 207) | String toString()
method toJson (line 211) | Map<String, dynamic> toJson()
class OfflineFireRedAsrCtcModelConfig (line 217) | class OfflineFireRedAsrCtcModelConfig {
method toString (line 227) | String toString()
method toJson (line 231) | Map<String, dynamic> toJson()
class OfflineFunAsrNanoModelConfig (line 237) | class OfflineFunAsrNanoModelConfig {
method toString (line 273) | String toString()
method toJson (line 277) | Map<String, dynamic> toJson()
class OfflineWhisperModelConfig (line 309) | class OfflineWhisperModelConfig {
method toString (line 334) | String toString()
method toJson (line 338) | Map<String, dynamic> toJson()
class OfflineCanaryModelConfig (line 358) | class OfflineCanaryModelConfig {
method toString (line 378) | String toString()
method toJson (line 382) | Map<String, dynamic> toJson()
class OfflineFireRedAsrModelConfig (line 398) | class OfflineFireRedAsrModelConfig {
method toString (line 409) | String toString()
method toJson (line 413) | Map<String, dynamic> toJson()
class OfflineMoonshineModelConfig (line 425) | class OfflineMoonshineModelConfig {
method toString (line 445) | String toString()
method toJson (line 449) | Map<String, dynamic> toJson()
class OfflineTdnnModelConfig (line 465) | class OfflineTdnnModelConfig {
method toString (line 473) | String toString()
method toJson (line 477) | Map<String, dynamic> toJson()
class OfflineSenseVoiceModelConfig (line 486) | class OfflineSenseVoiceModelConfig {
method toString (line 503) | String toString()
method toJson (line 507) | Map<String, dynamic> toJson()
class OfflineLMConfig (line 519) | class OfflineLMConfig {
method toString (line 530) | String toString()
method toJson (line 534) | Map<String, dynamic> toJson()
class OfflineModelConfig (line 547) | class OfflineModelConfig {
method toString (line 669) | String toString()
method toJson (line 673) | Map<String, dynamic> toJson()
class OfflineRecognizerConfig (line 732) | class OfflineRecognizerConfig {
method toString (line 768) | String toString()
method toJson (line 772) | Map<String, dynamic> toJson()
class OfflineRecognizerResult (line 808) | class OfflineRecognizerResult {
method toString (line 834) | String toString()
method toJson (line 838) | Map<String, dynamic> toJson()
class OfflineRecognizer (line 860) | class OfflineRecognizer {
method free (line 866) | void free()
method setConfig (line 903) | void setConfig(OfflineRecognizerConfig config)
method convertConfig (line 920) | Pointer<SherpaOnnxOfflineRecognizerConfig> convertConfig(
method freeConfig (line 1059) | void freeConfig(Pointer<SherpaOnnxOfflineRecognizerConfig> c)
method createStream (line 1116) | OfflineStream createStream()
method decode (line 1135) | void decode(OfflineStream stream)
method getResult (line 1148) | OfflineRecognizerResult getResult(OfflineStream stream)
FILE: flutter/sherpa_onnx/lib/src/offline_speaker_diarization.dart
class OfflineSpeakerDiarizationSegment (line 15) | class OfflineSpeakerDiarizationSegment {
method toString (line 31) | String toString()
method toJson (line 35) | Map<String, dynamic> toJson()
class OfflineSpeakerSegmentationPyannoteModelConfig (line 47) | class OfflineSpeakerSegmentationPyannoteModelConfig {
method toString (line 60) | String toString()
method toJson (line 64) | Map<String, dynamic> toJson()
class OfflineSpeakerSegmentationModelConfig (line 72) | class OfflineSpeakerSegmentationModelConfig {
method toString (line 94) | String toString()
method toJson (line 98) | Map<String, dynamic> toJson()
class FastClusteringConfig (line 113) | class FastClusteringConfig {
method toString (line 127) | String toString()
method toJson (line 131) | Map<String, dynamic> toJson()
class OfflineSpeakerDiarizationConfig (line 141) | class OfflineSpeakerDiarizationConfig {
method toString (line 170) | String toString()
method toJson (line 174) | Map<String, dynamic> toJson()
class OfflineSpeakerDiarization (line 190) | class OfflineSpeakerDiarization {
method free (line 198) | void free()
method process (line 259) | List<OfflineSpeakerDiarizationSegment> process(
method processWithCallback (line 287) | List<OfflineSpeakerDiarizationSegment> processWithCallback({
method _processImpl (line 328) | List<OfflineSpeakerDiarizationSegment> _processImpl(
FILE: flutter/sherpa_onnx/lib/src/offline_speech_denoiser.dart
class OfflineSpeechDenoiserGtcrnModelConfig (line 13) | class OfflineSpeechDenoiserGtcrnModelConfig {
method toString (line 26) | String toString()
method toJson (line 30) | Map<String, dynamic> toJson()
class OfflineSpeechDenoiserDpdfNetModelConfig (line 38) | class OfflineSpeechDenoiserDpdfNetModelConfig {
method toString (line 51) | String toString()
method toJson (line 55) | Map<String, dynamic> toJson()
class OfflineSpeechDenoiserModelConfig (line 65) | class OfflineSpeechDenoiserModelConfig {
method toString (line 91) | String toString()
method toJson (line 95) | Map<String, dynamic> toJson()
class OfflineSpeechDenoiserConfig (line 111) | class OfflineSpeechDenoiserConfig {
method toString (line 126) | String toString()
method toJson (line 130) | Map<String, dynamic> toJson()
class DenoisedAudio (line 138) | class DenoisedAudio {
class OfflineSpeechDenoiser (line 149) | class OfflineSpeechDenoiser {
method free (line 186) | void free()
method run (line 200) | DenoisedAudio run({required Float32List samples, required int sampleRa...
FILE: flutter/sherpa_onnx/lib/src/offline_stream.dart
class OfflineStream (line 10) | class OfflineStream {
method free (line 15) | void free()
method acceptWaveform (line 39) | void acceptWaveform({required Float32List samples, required int sample...
FILE: flutter/sherpa_onnx/lib/src/online_punctuation.dart
class OnlinePunctuationModelConfig (line 10) | class OnlinePunctuationModelConfig {
method toString (line 29) | String toString()
method toJson (line 35) | Map<String, dynamic> toJson()
class OnlinePunctuationConfig (line 53) | class OnlinePunctuationConfig {
method toString (line 65) | String toString()
method toJson (line 69) | Map<String, dynamic> toJson()
class OnlinePunctuation (line 79) | class OnlinePunctuation {
method free (line 119) | void free()
method addPunct (line 132) | String addPunct(String text)
FILE: flutter/sherpa_onnx/lib/src/online_recognizer.dart
class OnlineTransducerModelConfig (line 42) | class OnlineTransducerModelConfig {
method toString (line 58) | String toString()
method toJson (line 62) | Map<String, dynamic> toJson()
class OnlineParaformerModelConfig (line 74) | class OnlineParaformerModelConfig {
method toString (line 85) | String toString()
method toJson (line 89) | Map<String, dynamic> toJson()
class OnlineZipformer2CtcModelConfig (line 99) | class OnlineZipformer2CtcModelConfig {
method toString (line 109) | String toString()
method toJson (line 113) | Map<String, dynamic> toJson()
class OnlineNemoCtcModelConfig (line 121) | class OnlineNemoCtcModelConfig {
method toString (line 131) | String toString()
method toJson (line 135) | Map<String, dynamic> toJson()
class OnlineToneCtcModelConfig (line 143) | class OnlineToneCtcModelConfig {
method toString (line 153) | String toString()
method toJson (line 157) | Map<String, dynamic> toJson()
class OnlineModelConfig (line 168) | class OnlineModelConfig {
method toString (line 207) | String toString()
method toJson (line 211) | Map<String, dynamic> toJson()
class OnlineCtcFstDecoderConfig (line 248) | class OnlineCtcFstDecoderConfig {
method toString (line 259) | String toString()
method toJson (line 263) | Map<String, dynamic> toJson()
class OnlineRecognizerConfig (line 277) | class OnlineRecognizerConfig {
method toString (line 323) | String toString()
method toJson (line 327) | Map<String, dynamic> toJson()
class OnlineRecognizerResult (line 372) | class OnlineRecognizerResult {
method toString (line 387) | String toString()
method toJson (line 391) | Map<String, dynamic> toJson()
class OnlineRecognizer (line 406) | class OnlineRecognizer {
method free (line 509) | void free()
method createStream (line 527) | OnlineStream createStream({String hotwords = ''})
method isReady (line 564) | bool isReady(OnlineStream stream)
method getResult (line 580) | OnlineRecognizerResult getResult(OnlineStream stream)
method reset (line 607) | void reset(OnlineStream stream)
method decode (line 620) | void decode(OnlineStream stream)
method isEndpoint (line 633) | bool isEndpoint(OnlineStream stream)
FILE: flutter/sherpa_onnx/lib/src/online_speech_denoiser.dart
class OnlineSpeechDenoiserConfig (line 14) | class OnlineSpeechDenoiserConfig {
method toString (line 30) | String toString()
method toJson (line 34) | Map<String, dynamic> toJson()
class OnlineSpeechDenoiser (line 42) | class OnlineSpeechDenoiser {
method free (line 79) | void free()
method run (line 93) | DenoisedAudio run({required Float32List samples, required int sampleRa...
method flush (line 135) | DenoisedAudio flush()
method reset (line 165) | void reset()
FILE: flutter/sherpa_onnx/lib/src/online_stream.dart
class OnlineStream (line 9) | class OnlineStream {
method free (line 14) | void free()
method acceptWaveform (line 38) | void acceptWaveform({required Float32List samples, required int sample...
method inputFinished (line 59) | void inputFinished()
FILE: flutter/sherpa_onnx/lib/src/sherpa_onnx_bindings.dart
class SherpaOnnxOfflineSpeechDenoiserGtcrnModelConfig (line 5) | final class SherpaOnnxOfflineSpeechDenoiserGtcrnModelConfig extends Stru...
class SherpaOnnxOfflineSpeechDenoiserDpdfNetModelConfig (line 9) | final class SherpaOnnxOfflineSpeechDenoiserDpdfNetModelConfig extends St...
class SherpaOnnxOfflineSpeechDenoiserModelConfig (line 13) | final class SherpaOnnxOfflineSpeechDenoiserModelConfig extends Struct {
class SherpaOnnxOfflineSpeechDenoiserConfig (line 27) | final class SherpaOnnxOfflineSpeechDenoiserConfig extends Struct {
class SherpaOnnxOnlineSpeechDenoiserConfig (line 31) | final class SherpaOnnxOnlineSpeechDenoiserConfig extends Struct {
class SherpaOnnxDenoisedAudio (line 35) | final class SherpaOnnxDenoisedAudio extends Struct {
class SherpaOnnxSpeakerEmbeddingExtractorConfig (line 45) | final class SherpaOnnxSpeakerEmbeddingExtractorConfig extends Struct {
class SherpaOnnxOfflineSpeakerDiarizationSegment (line 57) | final class SherpaOnnxOfflineSpeakerDiarizationSegment extends Struct {
class SherpaOnnxOfflineSpeakerSegmentationPyannoteModelConfig (line 68) | final class SherpaOnnxOfflineSpeakerSegmentationPyannoteModelConfig
class SherpaOnnxOfflineSpeakerSegmentationModelConfig (line 73) | final class SherpaOnnxOfflineSpeakerSegmentationModelConfig extends Stru...
class SherpaOnnxFastClusteringConfig (line 85) | final class SherpaOnnxFastClusteringConfig extends Struct {
class SherpaOnnxOfflineSpeakerDiarizationConfig (line 93) | final class SherpaOnnxOfflineSpeakerDiarizationConfig extends Struct {
class SherpaOnnxOfflinePunctuationModelConfig (line 105) | final class SherpaOnnxOfflinePunctuationModelConfig extends Struct {
class SherpaOnnxOfflinePunctuationConfig (line 117) | final class SherpaOnnxOfflinePunctuationConfig extends Struct {
class SherpaOnnxOnlinePunctuationModelConfig (line 121) | final class SherpaOnnxOnlinePunctuationModelConfig extends Struct {
class SherpaOnnxOnlinePunctuationConfig (line 131) | final class SherpaOnnxOnlinePunctuationConfig extends Struct {
class SherpaOnnxOfflineZipformerAudioTaggingModelConfig (line 135) | final class SherpaOnnxOfflineZipformerAudioTaggingModelConfig extends St...
class SherpaOnnxAudioTaggingModelConfig (line 139) | final class SherpaOnnxAudioTaggingModelConfig extends Struct {
class SherpaOnnxAudioTaggingConfig (line 152) | final class SherpaOnnxAudioTaggingConfig extends Struct {
class SherpaOnnxAudioEvent (line 160) | final class SherpaOnnxAudioEvent extends Struct {
class SherpaOnnxOfflineTtsVitsModelConfig (line 170) | final class SherpaOnnxOfflineTtsVitsModelConfig extends Struct {
class SherpaOnnxOfflineTtsMatchaModelConfig (line 188) | final class SherpaOnnxOfflineTtsMatchaModelConfig extends Struct {
class SherpaOnnxOfflineTtsKokoroModelConfig (line 204) | final class SherpaOnnxOfflineTtsKokoroModelConfig extends Struct {
class SherpaOnnxOfflineTtsKittenModelConfig (line 217) | final class SherpaOnnxOfflineTtsKittenModelConfig extends Struct {
class SherpaOnnxOfflineTtsZipVoiceModelConfig (line 227) | final class SherpaOnnxOfflineTtsZipVoiceModelConfig extends Struct {
class SherpaOnnxOfflineTtsPocketModelConfig (line 248) | final class SherpaOnnxOfflineTtsPocketModelConfig extends Struct {
class SherpaOnnxOfflineTtsSupertonicModelConfig (line 261) | final class SherpaOnnxOfflineTtsSupertonicModelConfig extends Struct {
class SherpaOnnxOfflineTtsModelConfig (line 271) | final class SherpaOnnxOfflineTtsModelConfig extends Struct {
class SherpaOnnxGenerationConfig (line 301) | final class SherpaOnnxGenerationConfig extends Struct {
class SherpaOnnxGeneratedAudio (line 327) | final class SherpaOnnxGeneratedAudio extends Struct {
class SherpaOnnxFeatureConfig (line 337) | final class SherpaOnnxFeatureConfig extends Struct {
class SherpaOnnxOfflineTransducerModelConfig (line 345) | final class SherpaOnnxOfflineTransducerModelConfig extends Struct {
class SherpaOnnxOfflineParaformerModelConfig (line 351) | final class SherpaOnnxOfflineParaformerModelConfig extends Struct {
class SherpaOnnxOfflineNemoEncDecCtcModelConfig (line 355) | final class SherpaOnnxOfflineNemoEncDecCtcModelConfig extends Struct {
class SherpaOnnxOfflineDolphinModelConfig (line 359) | final class SherpaOnnxOfflineDolphinModelConfig extends Struct {
class SherpaOnnxOfflineZipformerCtcModelConfig (line 363) | final class SherpaOnnxOfflineZipformerCtcModelConfig extends Struct {
class SherpaOnnxOfflineWenetCtcModelConfig (line 367) | final class SherpaOnnxOfflineWenetCtcModelConfig extends Struct {
class SherpaOnnxOfflineOmnilingualAsrCtcModelConfig (line 371) | final class SherpaOnnxOfflineOmnilingualAsrCtcModelConfig extends Struct {
class SherpaOnnxOfflineMedAsrCtcModelConfig (line 375) | final class SherpaOnnxOfflineMedAsrCtcModelConfig extends Struct {
class SherpaOnnxOfflineFireRedAsrCtcModelConfig (line 379) | final class SherpaOnnxOfflineFireRedAsrCtcModelConfig extends Struct {
class SherpaOnnxOfflineFunAsrNanoModelConfig (line 383) | final class SherpaOnnxOfflineFunAsrNanoModelConfig extends Struct {
class SherpaOnnxOfflineWhisperModelConfig (line 411) | final class SherpaOnnxOfflineWhisperModelConfig extends Struct {
class SherpaOnnxOfflineCanaryModelConfig (line 427) | final class SherpaOnnxOfflineCanaryModelConfig extends Struct {
class SherpaOnnxOfflineMoonshineModelConfig (line 437) | final class SherpaOnnxOfflineMoonshineModelConfig extends Struct {
class SherpaOnnxOfflineFireRedAsrModelConfig (line 445) | final class SherpaOnnxOfflineFireRedAsrModelConfig extends Struct {
class SherpaOnnxOfflineTdnnModelConfig (line 450) | final class SherpaOnnxOfflineTdnnModelConfig extends Struct {
class SherpaOnnxOfflineSenseVoiceModelConfig (line 454) | final class SherpaOnnxOfflineSenseVoiceModelConfig extends Struct {
class SherpaOnnxOfflineLMConfig (line 462) | final class SherpaOnnxOfflineLMConfig extends Struct {
class SherpaOnnxOfflineModelConfig (line 469) | final class SherpaOnnxOfflineModelConfig extends Struct {
class SherpaOnnxOnlineTransducerModelConfig (line 526) | final class SherpaOnnxOnlineTransducerModelConfig extends Struct {
class SherpaOnnxOnlineParaformerModelConfig (line 532) | final class SherpaOnnxOnlineParaformerModelConfig extends Struct {
class SherpaOnnxOnlineZipformer2CtcModelConfig (line 537) | final class SherpaOnnxOnlineZipformer2CtcModelConfig extends Struct {
class SherpaOnnxOnlineNemoCtcModelConfig (line 541) | final class SherpaOnnxOnlineNemoCtcModelConfig extends Struct {
class SherpaOnnxOnlineToneCtcModelConfig (line 545) | final class SherpaOnnxOnlineToneCtcModelConfig extends Struct {
class SherpaOnnxOnlineModelConfig (line 549) | final class SherpaOnnxOnlineModelConfig extends Struct {
class SherpaOnnxOnlineCtcFstDecoderConfig (line 580) | final class SherpaOnnxOnlineCtcFstDecoderConfig extends Struct {
class SherpaOnnxHomophoneReplacerConfig (line 587) | final class SherpaOnnxHomophoneReplacerConfig extends Struct {
class SherpaOnnxOnlineRecognizerConfig (line 593) | final class SherpaOnnxOnlineRecognizerConfig extends Struct {
class SherpaOnnxSileroVadModelConfig (line 633) | final class SherpaOnnxSileroVadModelConfig extends Struct {
class SherpaOnnxTenVadModelConfig (line 652) | final class SherpaOnnxTenVadModelConfig extends Struct {
class SherpaOnnxVadModelConfig (line 671) | final class SherpaOnnxVadModelConfig extends Struct {
class SherpaOnnxSpeechSegment (line 688) | final class SherpaOnnxSpeechSegment extends Struct {
method samples (line 692) | Pointer<Float> samples;
class SherpaOnnxWave (line 698) | final class SherpaOnnxWave extends Struct {
class SherpaOnnxKeywordSpotterConfig (line 708) | final class SherpaOnnxKeywordSpotterConfig extends Struct {
class SherpaOnnxOfflinePunctuation (line 733) | final class SherpaOnnxOfflinePunctuation extends Opaque {}
class SherpaOnnxOnlinePunctuation (line 735) | final class SherpaOnnxOnlinePunctuation extends Opaque {}
class SherpaOnnxAudioTagging (line 737) | final class SherpaOnnxAudioTagging extends Opaque {}
class SherpaOnnxKeywordSpotter (line 739) | final class SherpaOnnxKeywordSpotter extends Opaque {}
class SherpaOnnxOfflineTts (line 741) | final class SherpaOnnxOfflineTts extends Opaque {}
class SherpaOnnxCircularBuffer (line 743) | final class SherpaOnnxCircularBuffer extends Opaque {}
class SherpaOnnxVoiceActivityDetector (line 745) | final class SherpaOnnxVoiceActivityDetector extends Opaque {}
class SherpaOnnxOnlineStream (line 747) | final class SherpaOnnxOnlineStream extends Opaque {}
class SherpaOnnxOnlineRecognizer (line 749) | final class SherpaOnnxOnlineRecognizer extends Opaque {}
class SherpaOnnxOfflineRecognizer (line 751) | final class SherpaOnnxOfflineRecognizer extends Opaque {}
class SherpaOnnxOfflineStream (line 753) | final class SherpaOnnxOfflineStream extends Opaque {}
class SherpaOnnxSpeakerEmbeddingExtractor (line 755) | final class SherpaOnnxSpeakerEmbeddingExtractor extends Opaque {}
class SherpaOnnxSpeakerEmbeddingManager (line 757) | final class SherpaOnnxSpeakerEmbeddingManager extends Opaque {}
class SherpaOnnxOfflineSpeakerDiarization (line 759) | final class SherpaOnnxOfflineSpeakerDiarization extends Opaque {}
class SherpaOnnxOfflineSpeakerDiarizationResult (line 761) | final class SherpaOnnxOfflineSpeakerDiarizationResult extends Opaque {}
class SherpaOnnxSpokenLanguageIdentificationWhisperConfig (line 763) | final class SherpaOnnxSpokenLanguageIdentificationWhisperConfig extends ...
class SherpaOnnxSpokenLanguageIdentificationConfig (line 771) | final class SherpaOnnxSpokenLanguageIdentificationConfig extends Struct {
class SherpaOnnxSpokenLanguageIdentificationResult (line 783) | final class SherpaOnnxSpokenLanguageIdentificationResult extends Struct {
class SherpaOnnxSpokenLanguageIdentification (line 787) | final class SherpaOnnxSpokenLanguageIdentification extends Opaque {}
class SherpaOnnxOfflineSpeechDenoiser (line 789) | final class SherpaOnnxOfflineSpeechDenoiser extends Opaque {}
class SherpaOnnxOnlineSpeechDenoiser (line 791) | final class SherpaOnnxOnlineSpeechDenoiser extends Opaque {}
type SherpaOnnxCreateOfflineSpeechDenoiserNative (line 793) | typedef SherpaOnnxCreateOfflineSpeechDenoiserNative =
type SherpaOnnxCreateOfflineSpeechDenoiser (line 798) | typedef SherpaOnnxCreateOfflineSpeechDenoiser =
type SherpaOnnxDestroyOfflineSpeechDenoiserNative (line 801) | typedef SherpaOnnxDestroyOfflineSpeechDenoiserNative =
type SherpaOnnxDestroyOfflineSpeechDenoiser (line 804) | typedef SherpaOnnxDestroyOfflineSpeechDenoiser =
type SherpaOnnxOfflineSpeechDenoiserGetSampleRateNative (line 807) | typedef SherpaOnnxOfflineSpeechDenoiserGetSampleRateNative =
type SherpaOnnxOfflineSpeechDenoiserGetSampleRate (line 810) | typedef SherpaOnnxOfflineSpeechDenoiserGetSampleRate =
type SherpaOnnxOfflineSpeechDenoiserRunNative (line 813) | typedef SherpaOnnxOfflineSpeechDenoiserRunNative =
type SherpaOnnxOfflineSpeechDenoiserRun (line 821) | typedef SherpaOnnxOfflineSpeechDenoiserRun =
type SherpaOnnxDestroyDenoisedAudioNative (line 829) | typedef SherpaOnnxDestroyDenoisedAudioNative =
type SherpaOnnxDestroyDenoisedAudio (line 832) | typedef SherpaOnnxDestroyDenoisedAudio =
type SherpaOnnxCreateOnlineSpeechDenoiserNative (line 835) | typedef SherpaOnnxCreateOnlineSpeechDenoiserNative =
type SherpaOnnxCreateOnlineSpeechDenoiser (line 840) | typedef SherpaOnnxCreateOnlineSpeechDenoiser =
type SherpaOnnxDestroyOnlineSpeechDenoiserNative (line 843) | typedef SherpaOnnxDestroyOnlineSpeechDenoiserNative =
type SherpaOnnxDestroyOnlineSpeechDenoiser (line 846) | typedef SherpaOnnxDestroyOnlineSpeechDenoiser =
type SherpaOnnxOnlineSpeechDenoiserGetSampleRateNative (line 849) | typedef SherpaOnnxOnlineSpeechDenoiserGetSampleRateNative =
type SherpaOnnxOnlineSpeechDenoiserGetSampleRate (line 852) | typedef SherpaOnnxOnlineSpeechDenoiserGetSampleRate =
type SherpaOnnxOnlineSpeechDenoiserGetFrameShiftInSamplesNative (line 855) | typedef SherpaOnnxOnlineSpeechDenoiserGetFrameShiftInSamplesNative =
type SherpaOnnxOnlineSpeechDenoiserGetFrameShiftInSamples (line 858) | typedef SherpaOnnxOnlineSpeechDenoiserGetFrameShiftInSamples =
type SherpaOnnxOnlineSpeechDenoiserRunNative (line 861) | typedef SherpaOnnxOnlineSpeechDenoiserRunNative =
type SherpaOnnxOnlineSpeechDenoiserRun (line 869) | typedef SherpaOnnxOnlineSpeechDenoiserRun =
type SherpaOnnxOnlineSpeechDenoiserFlushNative (line 877) | typedef SherpaOnnxOnlineSpeechDenoiserFlushNative =
type SherpaOnnxOnlineSpeechDenoiserFlush (line 882) | typedef SherpaOnnxOnlineSpeechDenoiserFlush =
type SherpaOnnxOnlineSpeechDenoiserResetNative (line 887) | typedef SherpaOnnxOnlineSpeechDenoiserResetNative =
type SherpaOnnxOnlineSpeechDenoiserReset (line 890) | typedef SherpaOnnxOnlineSpeechDenoiserReset =
type SherpaOnnxCreateSpokenLanguageIdentificationNative (line 893) | typedef SherpaOnnxCreateSpokenLanguageIdentificationNative =
type SherpaOnnxCreateSpokenLanguageIdentification (line 898) | typedef SherpaOnnxCreateSpokenLanguageIdentification =
type SherpaOnnxDestroySpokenLanguageIdentificationNative (line 901) | typedef SherpaOnnxDestroySpokenLanguageIdentificationNative =
type SherpaOnnxDestroySpokenLanguageIdentification (line 904) | typedef SherpaOnnxDestroySpokenLanguageIdentification =
type SherpaOnnxSpokenLanguageIdentificationCreateOfflineStreamNative (line 907) | typedef SherpaOnnxSpokenLanguageIdentificationCreateOfflineStreamNative =
type SherpaOnnxSpokenLanguageIdentificationCreateOfflineStream (line 912) | typedef SherpaOnnxSpokenLanguageIdentificationCreateOfflineStream =
type SherpaOnnxSpokenLanguageIdentificationComputeNative (line 915) | typedef SherpaOnnxSpokenLanguageIdentificationComputeNative =
type SherpaOnnxSpokenLanguageIdentificationCompute (line 921) | typedef SherpaOnnxSpokenLanguageIdentificationCompute =
type SherpaOnnxDestroySpokenLanguageIdentificationResultNative (line 924) | typedef SherpaOnnxDestroySpokenLanguageIdentificationResultNative =
type SherpaOnnxDestroySpokenLanguageIdentificationResult (line 927) | typedef SherpaOnnxDestroySpokenLanguageIdentificationResult =
type SherpaOnnxCreateOfflineSpeakerDiarizationNative (line 930) | typedef SherpaOnnxCreateOfflineSpeakerDiarizationNative =
type SherpaOnnxCreateOfflineSpeakerDiarization (line 935) | typedef SherpaOnnxCreateOfflineSpeakerDiarization =
type SherpaOnnxDestroyOfflineSpeakerDiarizationNative (line 938) | typedef SherpaOnnxDestroyOfflineSpeakerDiarizationNative =
type SherpaOnnxDestroyOfflineSpeakerDiarization (line 941) | typedef SherpaOnnxDestroyOfflineSpeakerDiarization =
type SherpaOnnxCreateOfflinePunctuationNative (line 944) | typedef SherpaOnnxCreateOfflinePunctuationNative =
type SherpaOnnxCreateOnlinePunctuationNative (line 949) | typedef SherpaOnnxCreateOnlinePunctuationNative =
type SherpaOnnxOfflineSpeakerDiarizationGetSampleRateNative (line 954) | typedef SherpaOnnxOfflineSpeakerDiarizationGetSampleRateNative =
type SherpaOnnxOfflineSpeakerDiarizationGetSampleRate (line 957) | typedef SherpaOnnxOfflineSpeakerDiarizationGetSampleRate =
type SherpaOnnxOfflineSpeakerDiarizationSetConfigNative (line 960) | typedef SherpaOnnxOfflineSpeakerDiarizationSetConfigNative =
type SherpaOnnxOfflineSpeakerDiarizationResultGetNumSpeakersNative (line 966) | typedef SherpaOnnxOfflineSpeakerDiarizationResultGetNumSpeakersNative =
type SherpaOnnxOfflineSpeakerDiarizationResultGetNumSpeakers (line 969) | typedef SherpaOnnxOfflineSpeakerDiarizationResultGetNumSpeakers =
type SherpaOnnxOfflineSpeakerDiarizationResultGetNumSegmentsNative (line 972) | typedef SherpaOnnxOfflineSpeakerDiarizationResultGetNumSegmentsNative =
type SherpaOnnxOfflineSpeakerDiarizationResultGetNumSegments (line 975) | typedef SherpaOnnxOfflineSpeakerDiarizationResultGetNumSegments =
type SherpaOnnxOfflineSpeakerDiarizationResultSortByStartTimeNative (line 978) | typedef SherpaOnnxOfflineSpeakerDiarizationResultSortByStartTimeNative =
type SherpaOnnxOfflineSpeakerDiarizationResultSortByStartTime (line 983) | typedef SherpaOnnxOfflineSpeakerDiarizationResultSortByStartTime =
type SherpaOnnxOfflineSpeakerDiarizationDestroySegmentNative (line 986) | typedef SherpaOnnxOfflineSpeakerDiarizationDestroySegmentNative =
type SherpaOnnxOfflineSpeakerDiarizationDestroySegment (line 989) | typedef SherpaOnnxOfflineSpeakerDiarizationDestroySegment =
type SherpaOnnxOfflineSpeakerDiarizationProcessNative (line 992) | typedef SherpaOnnxOfflineSpeakerDiarizationProcessNative =
type SherpaOnnxOfflineSpeakerDiarizationProcess (line 999) | typedef SherpaOnnxOfflineSpeakerDiarizationProcess =
type SherpaOnnxOfflineSpeakerDiarizationProgressCallbackNoArgNative (line 1006) | typedef SherpaOnnxOfflineSpeakerDiarizationProgressCallbackNoArgNative =
type SherpaOnnxOfflineSpeakerDiarizationProcessWithCallbackNoArgNative (line 1009) | typedef SherpaOnnxOfflineSpeakerDiarizationProcessWithCallbackNoArgNative =
type SherpaOnnxOfflineSpeakerDiarizationProcessWithCallbackNoArg (line 1021) | typedef SherpaOnnxOfflineSpeakerDiarizationProcessWithCallbackNoArg =
type SherpaOnnxOfflineSpeakerDiarizationDestroyResultNative (line 1033) | typedef SherpaOnnxOfflineSpeakerDiarizationDestroyResultNative =
type SherpaOnnxOfflineSpeakerDiarizationDestroyResult (line 1036) | typedef SherpaOnnxOfflineSpeakerDiarizationDestroyResult =
type SherpaOnnxOfflineSpeakerDiarizationSetConfig (line 1039) | typedef SherpaOnnxOfflineSpeakerDiarizationSetConfig =
type SherpaOnnxCreateOfflinePunctuation (line 1045) | typedef SherpaOnnxCreateOfflinePunctuation =
type SherpaOnnxDestroyOfflinePunctuationNative (line 1048) | typedef SherpaOnnxDestroyOfflinePunctuationNative =
type SherpaOnnxDestroyOfflinePunctuation (line 1051) | typedef SherpaOnnxDestroyOfflinePunctuation =
type SherpaOfflinePunctuationAddPunctNative (line 1054) | typedef SherpaOfflinePunctuationAddPunctNative =
type SherpaOfflinePunctuationAddPunct (line 1060) | typedef SherpaOfflinePunctuationAddPunct =
type SherpaOfflinePunctuationFreeTextNative (line 1063) | typedef SherpaOfflinePunctuationFreeTextNative = Void Function(Pointer<U...
type SherpaOfflinePunctuationFreeText (line 1065) | typedef SherpaOfflinePunctuationFreeText = void Function(Pointer<Utf8>);
type SherpaOnnxCreateOnlinePunctuation (line 1067) | typedef SherpaOnnxCreateOnlinePunctuation =
type SherpaOnnxDestroyOnlinePunctuationNative (line 1070) | typedef SherpaOnnxDestroyOnlinePunctuationNative =
type SherpaOnnxDestroyOnlinePunctuation (line 1073) | typedef SherpaOnnxDestroyOnlinePunctuation =
type SherpaOnnxOnlinePunctuationAddPunctNative (line 1076) | typedef SherpaOnnxOnlinePunctuationAddPunctNative =
type SherpaOnnxOnlinePunctuationAddPunct (line 1079) | typedef SherpaOnnxOnlinePunctuationAddPunct =
type SherpaOnnxOnlinePunctuationFreeTextNative (line 1082) | typedef SherpaOnnxOnlinePunctuationFreeTextNative =
type SherpaOnnxOnlinePunctuationFreeText (line 1085) | typedef SherpaOnnxOnlinePunctuationFreeText = void Function(Pointer<Utf8>);
type SherpaOnnxCreateAudioTaggingNative (line 1087) | typedef SherpaOnnxCreateAudioTaggingNative =
type SherpaOnnxCreateAudioTagging (line 1092) | typedef SherpaOnnxCreateAudioTagging = SherpaOnnxCreateAudioTaggingNative;
type SherpaOnnxDestroyAudioTaggingNative (line 1094) | typedef SherpaOnnxDestroyAudioTaggingNative =
type SherpaOnnxDestroyAudioTagging (line 1097) | typedef SherpaOnnxDestroyAudioTagging =
type SherpaOnnxAudioTaggingCreateOfflineStreamNative (line 1100) | typedef SherpaOnnxAudioTaggingCreateOfflineStreamNative =
type SherpaOnnxAudioTaggingCreateOfflineStream (line 1103) | typedef SherpaOnnxAudioTaggingCreateOfflineStream =
type SherpaOnnxAudioTaggingComputeNative (line 1106) | typedef SherpaOnnxAudioTaggingComputeNative =
type SherpaOnnxAudioTaggingCompute (line 1113) | typedef SherpaOnnxAudioTaggingCompute =
type SherpaOnnxAudioTaggingFreeResultsNative (line 1120) | typedef SherpaOnnxAudioTaggingFreeResultsNative =
type SherpaOnnxAudioTaggingFreeResults (line 1123) | typedef SherpaOnnxAudioTaggingFreeResults =
type CreateKeywordSpotterNative (line 1126) | typedef CreateKeywordSpotterNative =
type CreateKeywordSpotter (line 1131) | typedef CreateKeywordSpotter = CreateKeywordSpotterNative;
type DestroyKeywordSpotterNative (line 1133) | typedef DestroyKeywordSpotterNative =
type DestroyKeywordSpotter (line 1136) | typedef DestroyKeywordSpotter =
type CreateKeywordStreamNative (line 1139) | typedef CreateKeywordStreamNative =
type CreateKeywordStream (line 1142) | typedef CreateKeywordStream = CreateKeywordStreamNative;
type CreateKeywordStreamWithKeywordsNative (line 1144) | typedef CreateKeywordStreamWithKeywordsNative =
type CreateKeywordStreamWithKeywords (line 1150) | typedef CreateKeywordStreamWithKeywords = CreateKeywordStreamWithKeyword...
type IsKeywordStreamReadyNative (line 1152) | typedef IsKeywordStreamReadyNative =
type IsKeywordStreamReady (line 1158) | typedef IsKeywordStreamReady =
type DecodeKeywordStreamNative (line 1164) | typedef DecodeKeywordStreamNative =
type DecodeKeywordStream (line 1170) | typedef DecodeKeywordStream =
type ResetKeywordStreamNative (line 1176) | typedef ResetKeywordStreamNative =
type ResetKeywordStream (line 1182) | typedef ResetKeywordStream =
type GetKeywordResultAsJsonNative (line 1188) | typedef GetKeywordResultAsJsonNative =
type GetKeywordResultAsJson (line 1194) | typedef GetKeywordResultAsJson = GetKeywordResultAsJsonNative;
type FreeKeywordResultJsonNative (line 1196) | typedef FreeKeywordResultJsonNative = Void Function(Pointer<Utf8>);
type FreeKeywordResultJson (line 1198) | typedef FreeKeywordResultJson = void Function(Pointer<Utf8>);
type SherpaOnnxCreateOfflineTtsNative (line 1200) | typedef SherpaOnnxCreateOfflineTtsNative =
type SherpaOnnxCreateOfflineTts (line 1203) | typedef SherpaOnnxCreateOfflineTts = SherpaOnnxCreateOfflineTtsNative;
type SherpaOnnxDestroyOfflineTtsNative (line 1205) | typedef SherpaOnnxDestroyOfflineTtsNative =
type SherpaOnnxDestroyOfflineTts (line 1208) | typedef SherpaOnnxDestroyOfflineTts =
type SherpaOnnxOfflineTtsSampleRateNative (line 1211) | typedef SherpaOnnxOfflineTtsSampleRateNative =
type SherpaOnnxOfflineTtsSampleRate (line 1214) | typedef SherpaOnnxOfflineTtsSampleRate =
type SherpaOnnxOfflineTtsNumSpeakersNative (line 1217) | typedef SherpaOnnxOfflineTtsNumSpeakersNative =
type SherpaOnnxOfflineTtsNumSpeakers (line 1220) | typedef SherpaOnnxOfflineTtsNumSpeakers =
type SherpaOnnxOfflineTtsGenerateNative (line 1223) | typedef SherpaOnnxOfflineTtsGenerateNative =
type SherpaOnnxOfflineTtsGenerate (line 1231) | typedef SherpaOnnxOfflineTtsGenerate =
type SherpaOnnxDestroyOfflineTtsGeneratedAudioNative (line 1239) | typedef SherpaOnnxDestroyOfflineTtsGeneratedAudioNative =
type SherpaOnnxDestroyOfflineTtsGeneratedAudio (line 1242) | typedef SherpaOnnxDestroyOfflineTtsGeneratedAudio =
type SherpaOnnxGeneratedAudioCallbackNative (line 1245) | typedef SherpaOnnxGeneratedAudioCallbackNative =
type SherpaOnnxGeneratedAudioProgressCallbackWithArgNative (line 1248) | typedef SherpaOnnxGeneratedAudioProgressCallbackWithArgNative =
type SherpaOnnxGeneratedAudioProgressCallbackWithArg (line 1251) | typedef SherpaOnnxGeneratedAudioProgressCallbackWithArg =
type SherpaOnnxOfflineTtsGenerateWithCallbackNative (line 1254) | typedef SherpaOnnxOfflineTtsGenerateWithCallbackNative =
type SherpaOnnxOfflineTtsGenerateWithCallback (line 1263) | typedef SherpaOnnxOfflineTtsGenerateWithCallback =
type SherpaOnnxOfflineTtsGenerateWithConfigNative (line 1272) | typedef SherpaOnnxOfflineTtsGenerateWithConfigNative =
type SherpaOnnxOfflineTtsGenerateWithConfig (line 1283) | typedef SherpaOnnxOfflineTtsGenerateWithConfig =
type CreateOfflineRecognizerNative (line 1294) | typedef CreateOfflineRecognizerNative =
type CreateOfflineRecognizer (line 1299) | typedef CreateOfflineRecognizer = CreateOfflineRecognizerNative;
type OfflineRecognizerSetConfigNative (line 1301) | typedef OfflineRecognizerSetConfigNative =
type OfflineRecognizerSetConfig (line 1307) | typedef OfflineRecognizerSetConfig =
type DestroyOfflineRecognizerNative (line 1313) | typedef DestroyOfflineRecognizerNative =
type DestroyOfflineRecognizer (line 1316) | typedef DestroyOfflineRecognizer =
type CreateOfflineStreamNative (line 1319) | typedef CreateOfflineStreamNative =
type CreateOfflineStream (line 1324) | typedef CreateOfflineStream = CreateOfflineStreamNative;
type DestroyOfflineStreamNative (line 1326) | typedef DestroyOfflineStreamNative =
type DestroyOfflineStream (line 1329) | typedef DestroyOfflineStream = void Function(Pointer<SherpaOnnxOfflineSt...
type AcceptWaveformOfflineNative (line 1331) | typedef AcceptWaveformOfflineNative =
type AcceptWaveformOffline (line 1339) | typedef AcceptWaveformOffline =
type DecodeOfflineStreamNative (line 1342) | typedef DecodeOfflineStreamNative =
type DecodeOfflineStream (line 1348) | typedef DecodeOfflineStream =
type GetOfflineStreamResultAsJsonNative (line 1354) | typedef GetOfflineStreamResultAsJsonNative =
type GetOfflineStreamResultAsJson (line 1357) | typedef GetOfflineStreamResultAsJson = GetOfflineStreamResultAsJsonNative;
type DestroyOfflineStreamResultJsonNative (line 1359) | typedef DestroyOfflineStreamResultJsonNative = Void Function(Pointer<Utf...
type DestroyOfflineStreamResultJson (line 1361) | typedef DestroyOfflineStreamResultJson = void Function(Pointer<Utf8>);
type SherpaOnnxCreateOnlineRecognizerNative (line 1363) | typedef SherpaOnnxCreateOnlineRecognizerNative =
type SherpaOnnxCreateOnlineRecognizer (line 1368) | typedef SherpaOnnxCreateOnlineRecognizer =
type SherpaOnnxDestroyOnlineRecognizerNative (line 1371) | typedef SherpaOnnxDestroyOnlineRecognizerNative =
type SherpaOnnxDestroyOnlineRecognizer (line 1374) | typedef SherpaOnnxDestroyOnlineRecognizer =
type SherpaOnnxCreateOnlineStreamNative (line 1377) | typedef SherpaOnnxCreateOnlineStreamNative =
type SherpaOnnxCreateOnlineStream (line 1382) | typedef SherpaOnnxCreateOnlineStream = SherpaOnnxCreateOnlineStreamNative;
type SherpaOnnxCreateOnlineStreamWithHotwordsNative (line 1384) | typedef SherpaOnnxCreateOnlineStreamWithHotwordsNative =
type SherpaOnnxCreateOnlineStreamWithHotwords (line 1390) | typedef SherpaOnnxCreateOnlineStreamWithHotwords =
type IsOnlineStreamReadyNative (line 1393) | typedef IsOnlineStreamReadyNative =
type IsOnlineStreamReady (line 1399) | typedef IsOnlineStreamReady =
type SherpaOnnxDecodeOnlineStreamNative (line 1405) | typedef SherpaOnnxDecodeOnlineStreamNative =
type SherpaOnnxDecodeOnlineStream (line 1411) | typedef SherpaOnnxDecodeOnlineStream =
type GetOnlineStreamResultAsJsonNative (line 1417) | typedef GetOnlineStreamResultAsJsonNative =
type GetOnlineStreamResultAsJson (line 1423) | typedef GetOnlineStreamResultAsJson = GetOnlineStreamResultAsJsonNative;
type ResetNative (line 1425) | typedef ResetNative =
type Reset (line 1431) | typedef Reset =
type IsEndpointNative (line 1437) | typedef IsEndpointNative =
type IsEndpoint (line 1443) | typedef IsEndpoint =
type DestroyOnlineStreamResultJsonNative (line 1449) | typedef DestroyOnlineStreamResultJsonNative = Void Function(Pointer<Utf8>);
type DestroyOnlineStreamResultJson (line 1451) | typedef DestroyOnlineStreamResultJson = void Function(Pointer<Utf8>);
type SherpaOnnxCreateVoiceActivityDetectorNative (line 1453) | typedef SherpaOnnxCreateVoiceActivityDetectorNative =
type SherpaOnnxCreateVoiceActivityDetector (line 1459) | typedef SherpaOnnxCreateVoiceActivityDetector =
type SherpaOnnxDestroyVoiceActivityDetectorNative (line 1465) | typedef SherpaOnnxDestroyVoiceActivityDetectorNative =
type SherpaOnnxDestroyVoiceActivityDetector (line 1468) | typedef SherpaOnnxDestroyVoiceActivityDetector =
type SherpaOnnxVoiceActivityDetectorAcceptWaveformNative (line 1471) | typedef SherpaOnnxVoiceActivityDetectorAcceptWaveformNative =
type SherpaOnnxVoiceActivityDetectorAcceptWaveform (line 1478) | typedef SherpaOnnxVoiceActivityDetectorAcceptWaveform =
type SherpaOnnxVoiceActivityDetectorEmptyNative (line 1485) | typedef SherpaOnnxVoiceActivityDetectorEmptyNative =
type SherpaOnnxVoiceActivityDetectorEmpty (line 1488) | typedef SherpaOnnxVoiceActivityDetectorEmpty =
type SherpaOnnxVoiceActivityDetectorDetectedNative (line 1491) | typedef SherpaOnnxVoiceActivityDetectorDetectedNative =
type SherpaOnnxVoiceActivityDetectorDetected (line 1494) | typedef SherpaOnnxVoiceActivityDetectorDetected =
type SherpaOnnxVoiceActivityDetectorPopNative (line 1497) | typedef SherpaOnnxVoiceActivityDetectorPopNative =
type SherpaOnnxVoiceActivityDetectorPop (line 1500) | typedef SherpaOnnxVoiceActivityDetectorPop =
type SherpaOnnxVoiceActivityDetectorClearNative (line 1503) | typedef SherpaOnnxVoiceActivityDetectorClearNative =
type SherpaOnnxVoiceActivityDetectorClear (line 1506) | typedef SherpaOnnxVoiceActivityDetectorClear =
type SherpaOnnxVoiceActivityDetectorResetNative (line 1509) | typedef SherpaOnnxVoiceActivityDetectorResetNative =
type SherpaOnnxVoiceActivityDetectorReset (line 1512) | typedef SherpaOnnxVoiceActivityDetectorReset =
type SherpaOnnxVoiceActivityDetectorFlushNative (line 1515) | typedef SherpaOnnxVoiceActivityDetectorFlushNative =
type SherpaOnnxVoiceActivityDetectorFlush (line 1518) | typedef SherpaOnnxVoiceActivityDetectorFlush =
type SherpaOnnxVoiceActivityDetectorFrontNative (line 1521) | typedef SherpaOnnxVoiceActivityDetectorFrontNative =
type SherpaOnnxVoiceActivityDetectorFront (line 1526) | typedef SherpaOnnxVoiceActivityDetectorFront =
type SherpaOnnxDestroySpeechSegmentNative (line 1529) | typedef SherpaOnnxDestroySpeechSegmentNative =
type SherpaOnnxDestroySpeechSegment (line 1532) | typedef SherpaOnnxDestroySpeechSegment =
type SherpaOnnxCreateCircularBufferNative (line 1535) | typedef SherpaOnnxCreateCircularBufferNative =
type SherpaOnnxCreateCircularBuffer (line 1538) | typedef SherpaOnnxCreateCircularBuffer =
type SherpaOnnxDestroyCircularBufferNative (line 1541) | typedef SherpaOnnxDestroyCircularBufferNative =
type SherpaOnnxDestroyCircularBuffer (line 1544) | typedef SherpaOnnxDestroyCircularBuffer =
type SherpaOnnxCircularBufferPushNative (line 1547) | typedef SherpaOnnxCircularBufferPushNative =
type SherpaOnnxCircularBufferPush (line 1550) | typedef SherpaOnnxCircularBufferPush =
type SherpaOnnxCircularBufferGetNative (line 1553) | typedef SherpaOnnxCircularBufferGetNative =
type SherpaOnnxCircularBufferGet (line 1556) | typedef SherpaOnnxCircularBufferGet =
type SherpaOnnxCircularBufferFreeNative (line 1559) | typedef SherpaOnnxCircularBufferFreeNative = Void Function(Pointer<Float>);
type SherpaOnnxCircularBufferFree (line 1561) | typedef SherpaOnnxCircularBufferFree = void Function(Pointer<Float>);
type SherpaOnnxCircularBufferPopNative (line 1563) | typedef SherpaOnnxCircularBufferPopNative =
type SherpaOnnxCircularBufferPop (line 1566) | typedef SherpaOnnxCircularBufferPop =
type SherpaOnnxCircularBufferSizeNative (line 1569) | typedef SherpaOnnxCircularBufferSizeNative =
type SherpaOnnxCircularBufferSize (line 1572) | typedef SherpaOnnxCircularBufferSize =
type SherpaOnnxCircularBufferHeadNative (line 1575) | typedef SherpaOnnxCircularBufferHeadNative =
type SherpaOnnxCircularBufferHead (line 1578) | typedef SherpaOnnxCircularBufferHead =
type SherpaOnnxCircularBufferResetNative (line 1581) | typedef SherpaOnnxCircularBufferResetNative =
type SherpaOnnxCircularBufferReset (line 1584) | typedef SherpaOnnxCircularBufferReset =
type SherpaOnnxCreateSpeakerEmbeddingManagerNative (line 1587) | typedef SherpaOnnxCreateSpeakerEmbeddingManagerNative =
type SherpaOnnxCreateSpeakerEmbeddingManager (line 1590) | typedef SherpaOnnxCreateSpeakerEmbeddingManager =
type SherpaOnnxDestroySpeakerEmbeddingManagerNative (line 1593) | typedef SherpaOnnxDestroySpeakerEmbeddingManagerNative =
type SherpaOnnxDestroySpeakerEmbeddingManager (line 1596) | typedef SherpaOnnxDestroySpeakerEmbeddingManager =
type SherpaOnnxSpeakerEmbeddingManagerAddNative (line 1599) | typedef SherpaOnnxSpeakerEmbeddingManagerAddNative =
type SherpaOnnxSpeakerEmbeddingManagerAdd (line 1606) | typedef SherpaOnnxSpeakerEmbeddingManagerAdd =
type SherpaOnnxSpeakerEmbeddingManagerAddListFlattenedNative (line 1613) | typedef SherpaOnnxSpeakerEmbeddingManagerAddListFlattenedNative =
type SherpaOnnxSpeakerEmbeddingManagerAddListFlattened (line 1621) | typedef SherpaOnnxSpeakerEmbeddingManagerAddListFlattened =
type SherpaOnnxSpeakerEmbeddingManagerRemoveNative (line 1629) | typedef SherpaOnnxSpeakerEmbeddingManagerRemoveNative =
type SherpaOnnxSpeakerEmbeddingManagerRemove (line 1632) | typedef SherpaOnnxSpeakerEmbeddingManagerRemove =
type SherpaOnnxSpeakerEmbeddingManagerContainsNative (line 1635) | typedef SherpaOnnxSpeakerEmbeddingManagerContainsNative =
type SherpaOnnxSpeakerEmbeddingManagerContains (line 1638) | typedef SherpaOnnxSpeakerEmbeddingManagerContains =
type SherpaOnnxSpeakerEmbeddingManagerSearchNative (line 1641) | typedef SherpaOnnxSpeakerEmbeddingManagerSearchNative =
type SherpaOnnxSpeakerEmbeddingManagerSearch (line 1648) | typedef SherpaOnnxSpeakerEmbeddingManagerSearch =
type SherpaOnnxSpeakerEmbeddingManagerFreeSearchNative (line 1655) | typedef SherpaOnnxSpeakerEmbeddingManagerFreeSearchNative =
type SherpaOnnxSpeakerEmbeddingManagerFreeSearch (line 1658) | typedef SherpaOnnxSpeakerEmbeddingManagerFreeSearch =
type SherpaOnnxSpeakerEmbeddingManagerNumSpeakersNative (line 1661) | typedef SherpaOnnxSpeakerEmbeddingManagerNumSpeakersNative =
type SherpaOnnxSpeakerEmbeddingManagerNumSpeakers (line 1664) | typedef SherpaOnnxSpeakerEmbeddingManagerNumSpeakers =
type SherpaOnnxSpeakerEmbeddingManagerVerifyNative (line 1667) | typedef SherpaOnnxSpeakerEmbeddingManagerVerifyNative =
type SherpaOnnxSpeakerEmbeddingManagerVerify (line 1675) | typedef SherpaOnnxSpeakerEmbeddingManagerVerify =
type SherpaOnnxSpeakerEmbeddingManagerGetAllSpeakersNative (line 1683) | typedef SherpaOnnxSpeakerEmbeddingManagerGetAllSpeakersNative =
type SherpaOnnxSpeakerEmbeddingManagerGetAllSpeakers (line 1686) | typedef SherpaOnnxSpeakerEmbeddingManagerGetAllSpeakers =
type SherpaOnnxSpeakerEmbeddingManagerFreeAllSpeakersNative (line 1689) | typedef SherpaOnnxSpeakerEmbeddingManagerFreeAllSpeakersNative =
type SherpaOnnxSpeakerEmbeddingManagerFreeAllSpeakers (line 1692) | typedef SherpaOnnxSpeakerEmbeddingManagerFreeAllSpeakers =
type SherpaOnnxCreateSpeakerEmbeddingExtractorNative (line 1695) | typedef SherpaOnnxCreateSpeakerEmbeddingExtractorNative =
type SherpaOnnxCreateSpeakerEmbeddingExtractor (line 1700) | typedef SherpaOnnxCreateSpeakerEmbeddingExtractor =
type SherpaOnnxDestroySpeakerEmbeddingExtractorNative (line 1703) | typedef SherpaOnnxDestroySpeakerEmbeddingExtractorNative =
type SherpaOnnxDestroySpeakerEmbeddingExtractor (line 1706) | typedef SherpaOnnxDestroySpeakerEmbeddingExtractor =
type SherpaOnnxSpeakerEmbeddingExtractorDimNative (line 1709) | typedef SherpaOnnxSpeakerEmbeddingExtractorDimNative =
type SherpaOnnxSpeakerEmbeddingExtractorDim (line 1712) | typedef SherpaOnnxSpeakerEmbeddingExtractorDim =
type SherpaOnnxSpeakerEmbeddingExtractorCreateStreamNative (line 1715) | typedef SherpaOnnxSpeakerEmbeddingExtractorCreateStreamNative =
type SherpaOnnxSpeakerEmbeddingExtractorCreateStream (line 1720) | typedef SherpaOnnxSpeakerEmbeddingExtractorCreateStream =
type SherpaOnnxDestroyOnlineStreamNative (line 1723) | typedef SherpaOnnxDestroyOnlineStreamNative =
type SherpaOnnxDestroyOnlineStream (line 1726) | typedef SherpaOnnxDestroyOnlineStream =
type OnlineStreamAcceptWaveformNative (line 1729) | typedef OnlineStreamAcceptWaveformNative =
type OnlineStreamAcceptWaveform (line 1737) | typedef OnlineStreamAcceptWaveform =
type OnlineStreamInputFinishedNative (line 1740) | typedef OnlineStreamInputFinishedNative =
type OnlineStreamInputFinished (line 1743) | typedef OnlineStreamInputFinished =
type SherpaOnnxSpeakerEmbeddingExtractorIsReadyNative (line 1746) | typedef SherpaOnnxSpeakerEmbeddingExtractorIsReadyNative =
type SherpaOnnxSpeakerEmbeddingExtractorIsReady (line 1752) | typedef SherpaOnnxSpeakerEmbeddingExtractorIsReady =
type SherpaOnnxSpeakerEmbeddingExtractorComputeEmbeddingNative (line 1758) | typedef SherpaOnnxSpeakerEmbeddingExtractorComputeEmbeddingNative =
type SherpaOnnxSpeakerEmbeddingExtractorComputeEmbedding (line 1764) | typedef SherpaOnnxSpeakerEmbeddingExtractorComputeEmbedding =
type SherpaOnnxSpeakerEmbeddingExtractorDestroyEmbeddingNative (line 1767) | typedef SherpaOnnxSpeakerEmbeddingExtractorDestroyEmbeddingNative =
type SherpaOnnxSpeakerEmbeddingExtractorDestroyEmbedding (line 1770) | typedef SherpaOnnxSpeakerEmbeddingExtractorDestroyEmbedding =
type SherpaOnnxReadWaveNative (line 1773) | typedef SherpaOnnxReadWaveNative =
type SherpaOnnxReadWave (line 1776) | typedef SherpaOnnxReadWave = SherpaOnnxReadWaveNative;
type SherpaOnnxWriteWaveNative (line 1778) | typedef SherpaOnnxWriteWaveNative =
type SherpaOnnxWriteWave (line 1781) | typedef SherpaOnnxWriteWave =
type SherpaOnnxFreeWaveNative (line 1784) | typedef SherpaOnnxFreeWaveNative = Void Function(Pointer<SherpaOnnxWave>);
type SherpaOnnxFreeWave (line 1786) | typedef SherpaOnnxFreeWave = void Function(Pointer<SherpaOnnxWave>);
type SherpaOnnxGetVersionStr (line 1788) | typedef SherpaOnnxGetVersionStr = Pointer<Utf8> Function();
type SherpaOnnxGetVersionStrNative (line 1789) | typedef SherpaOnnxGetVersionStrNative = SherpaOnnxGetVersionStr;
type SherpaOnnxGetGitSha1Native (line 1791) | typedef SherpaOnnxGetGitSha1Native = Pointer<Utf8> Function();
type SherpaOnnxGetGitSha1 (line 1792) | typedef SherpaOnnxGetGitSha1 = SherpaOnnxGetGitSha1Native;
type SherpaOnnxGetGitDateNative (line 1794) | typedef SherpaOnnxGetGitDateNative = Pointer<Utf8> Function();
type SherpaOnnxGetGitDate (line 1795) | typedef SherpaOnnxGetGitDate = SherpaOnnxGetGitDateNative;
class SherpaOnnxBindings (line 1797) | class SherpaOnnxBindings {
method init (line 2037) | void init(DynamicLibrary dynamicLibrary)
FILE: flutter/sherpa_onnx/lib/src/speaker_identification.dart
class SpeakerEmbeddingExtractorConfig (line 31) | class SpeakerEmbeddingExtractorConfig {
method toString (line 48) | String toString()
method toJson (line 52) | Map<String, dynamic> toJson()
class SpeakerEmbeddingExtractor (line 69) | class SpeakerEmbeddingExtractor {
method free (line 110) | void free()
method createStream (line 123) | OnlineStream createStream()
method isReady (line 144) | bool isReady(OnlineStream stream)
method compute (line 160) | Float32List compute(OnlineStream stream)
class SpeakerEmbeddingManager (line 197) | class SpeakerEmbeddingManager {
method free (line 219) | void free()
method add (line 232) | bool add({required String name, required Float32List embedding})
method addMulti (line 261) | bool addMulti(
method contains (line 296) | bool contains(String name)
method remove (line 317) | bool remove(String name)
method search (line 340) | String search({required Float32List embedding, required double thresho...
method verify (line 373) | bool verify(
FILE: flutter/sherpa_onnx/lib/src/spoken_language_identification.dart
class SpokenLanguageIdentificationWhisperConfig (line 31) | class SpokenLanguageIdentificationWhisperConfig {
method toString (line 48) | String toString()
method toJson (line 52) | Map<String, dynamic> toJson()
class SpokenLanguageIdentificationConfig (line 64) | class SpokenLanguageIdentificationConfig {
method toString (line 86) | String toString()
method toJson (line 90) | Map<String, dynamic> toJson()
class SpokenLanguageIdentificationResult (line 104) | class SpokenLanguageIdentificationResult {
method toString (line 117) | String toString()
method toJson (line 121) | Map<String, dynamic> toJson()
class SpokenLanguageIdentification (line 129) | class SpokenLanguageIdentification {
method free (line 136) | void free()
method convertConfig (line 175) | Pointer<SherpaOnnxSpokenLanguageIdentificationConfig> convertConfig(
method freeConfig (line 190) | void freeConfig(
method createStream (line 199) | OfflineStream createStream()
method compute (line 223) | SpokenLanguageIdentificationResult compute(OfflineStream stream)
FILE: flutter/sherpa_onnx/lib/src/tts.dart
class OfflineTtsGenerationConfig (line 48) | class OfflineTtsGenerationConfig {
method extraToNativeUtf8 (line 63) | Pointer<Utf8> extraToNativeUtf8()
method toNative (line 81) | Pointer<SherpaOnnxGenerationConfig> toNative()
method freeNative (line 110) | void freeNative(Pointer<SherpaOnnxGenerationConfig> p)
class OfflineTtsVitsModelConfig (line 140) | class OfflineTtsVitsModelConfig {
method toString (line 165) | String toString()
method toJson (line 169) | Map<String, dynamic> toJson()
class OfflineTtsMatchaModelConfig (line 190) | class OfflineTtsMatchaModelConfig {
method toString (line 215) | String toString()
method toJson (line 219) | Map<String, dynamic> toJson()
class OfflineTtsKokoroModelConfig (line 240) | class OfflineTtsKokoroModelConfig {
method toString (line 265) | String toString()
method toJson (line 269) | Map<String, dynamic> toJson()
class OfflineTtsKittenModelConfig (line 290) | class OfflineTtsKittenModelConfig {
method toString (line 310) | String toString()
method toJson (line 314) | Map<String, dynamic> toJson()
class OfflineTtsZipVoiceModelConfig (line 330) | class OfflineTtsZipVoiceModelConfig {
method toString (line 360) | String toString()
method toJson (line 364) | Map<String, dynamic> toJson()
class OfflineTtsPocketModelConfig (line 392) | class OfflineTtsPocketModelConfig {
method toJson (line 418) | Map<String, dynamic> toJson()
method toString (line 430) | String toString()
class OfflineTtsSupertonicModelConfig (line 445) | class OfflineTtsSupertonicModelConfig {
method toJson (line 468) | Map<String, dynamic> toJson()
method toString (line 479) | String toString()
class OfflineTtsModelConfig (line 496) | class OfflineTtsModelConfig {
method toString (line 540) | String toString()
method toJson (line 544) | Map<String, dynamic> toJson()
class OfflineTtsConfig (line 570) | class OfflineTtsConfig {
method toString (line 592) | String toString()
method toJson (line 596) | Map<String, dynamic> toJson()
class GeneratedAudio (line 612) | class GeneratedAudio {
class OfflineTts (line 624) | class OfflineTts {
method free (line 776) | void free()
method generate (line 789) | GeneratedAudio generate({
method generateWithCallback (line 822) | GeneratedAudio generateWithCallback({
method generateWithConfig (line 882) | GeneratedAudio generateWithConfig({
FILE: flutter/sherpa_onnx/lib/src/utils.dart
function _strLen (line 7) | int _strLen(Pointer<Uint8> codeUnits)
function toDartString (line 20) | String toDartString(Pointer<Utf8> s)
FILE: flutter/sherpa_onnx/lib/src/vad.dart
class SileroVadModelConfig (line 37) | class SileroVadModelConfig {
method toString (line 60) | String toString()
method toJson (line 64) | Map<String, dynamic> toJson()
class TenVadModelConfig (line 82) | class TenVadModelConfig {
method toString (line 105) | String toString()
method toJson (line 109) | Map<String, dynamic> toJson()
class VadModelConfig (line 130) | class VadModelConfig {
method toJson (line 160) | Map<String, dynamic> toJson()
method toString (line 170) | String toString()
class SpeechSegment (line 176) | class SpeechSegment {
class CircularBuffer (line 183) | class CircularBuffer {
method free (line 210) | void free()
method push (line 223) | void push(Float32List data)
method get (line 244) | Float32List get({required int startIndex, required int n})
method pop (line 270) | void pop(int n)
method reset (line 283) | void reset()
class VoiceActivityDetector (line 325) | class VoiceActivityDetector {
method free (line 382) | void free()
method acceptWaveform (line 395) | void acceptWaveform(Float32List samples)
method isEmpty (line 416) | bool isEmpty()
method isDetected (line 432) | bool isDetected()
method pop (line 448) | void pop()
method clear (line 460) | void clear()
method front (line 472) | SpeechSegment front()
method reset (line 497) | void reset()
method flush (line 509) | void flush()
FILE: flutter/sherpa_onnx/lib/src/version.dart
function getVersion (line 7) | String getVersion()
function getGitSha1 (line 17) | String getGitSha1()
function getGitDate (line 27) | String getGitDate()
FILE: flutter/sherpa_onnx/lib/src/wave_reader.dart
class WaveData (line 12) | class WaveData {
function readWave (line 23) | WaveData readWave(String filename)
FILE: flutter/sherpa_onnx/lib/src/wave_writer.dart
function writeWave (line 12) | bool writeWave(
FILE: go-api-examples/add-punctuation-online/main.go
function main (line 9) | func main() {
FILE: go-api-examples/add-punctuation/main.go
function main (line 8) | func main() {
FILE: go-api-examples/audio-tagging/main.go
function main (line 9) | func main() {
FILE: go-api-examples/keyword-spotting-from-file/main.go
function main (line 8) | func main() {
FILE: go-api-examples/non-streaming-canary-decode-files/main.go
function main (line 14) | func main() {
function readWave (line 60) | func readWave(filename string) (samples []float32, sampleRate int) {
function samplesInt16ToFloat (line 96) | func samplesInt16ToFloat(inSamples []byte) []float32 {
FILE: go-api-examples/non-streaming-funasr-nano-decode-files/main.go
function main (line 14) | func main() {
function readWave (line 50) | func readWave(filename string) (samples []float32, sampleRate int) {
function samplesInt16ToFloat (line 86) | func samplesInt16ToFloat(inSamples []byte) []float32 {
FILE: go-api-examples/non-streaming-medasr-ctc-decode-files/main.go
function main (line 14) | func main() {
function readWave (line 44) | func readWave(filename string) (samples []float32, sampleRate int) {
function samplesInt16ToFloat (line 80) | func samplesInt16ToFloat(inSamples []byte) []float32 {
FILE: go-api-examples/non-streaming-moonshine-v2-decode-files/main.go
function main (line 14) | func main() {
function readWave (line 45) | func readWave(filename string) (samples []float32, sampleRate int) {
function samplesInt16ToFloat (line 81) | func samplesInt16ToFloat(inSamples []byte) []float32 {
FILE: go-api-examples/non-streaming-omnilingual-asr-ctc-decode-files/main.go
function main (line 14) | func main() {
function readWave (line 44) | func readWave(filename string) (samples []float32, sampleRate int) {
function samplesInt16ToFloat (line 80) | func samplesInt16ToFloat(inSamples []byte) []float32 {
FILE: go-api-examples/non-streaming-speaker-diarization/main.go
function initSpeakerDiarization (line 37) | func initSpeakerDiarization() *sherpa.OfflineSpeakerDiarization {
function main (line 59) | func main() {
FILE: go-api-examples/non-streaming-tts/main.go
function main (line 11) | func main() {
FILE: go-api-examples/offline-tts-play/main.go
type pcmBuffer (line 19) | type pcmBuffer struct
method Push (line 33) | func (b *pcmBuffer) Push(p []byte) {
method Finish (line 43) | func (b *pcmBuffer) Finish() {
function newPCMBuffer (line 27) | func newPCMBuffer() *pcmBuffer {
type pcmReader (line 53) | type pcmReader struct
method Read (line 59) | func (r *pcmReader) Read(p []byte) (int, error) {
function main (line 91) | func main() {
FILE: go-api-examples/speaker-identification/main.go
function createSpeakerEmbeddingExtractor (line 8) | func createSpeakerEmbeddingExtractor() *sherpa.SpeakerEmbeddingExtractor {
function computeEmbeddings (line 26) | func computeEmbeddings(ex *sherpa.SpeakerEmbeddingExtractor, files []str...
function registerSpeakers (line 43) | func registerSpeakers(ex *sherpa.SpeakerEmbeddingExtractor, manager *she...
function main (line 86) | func main() {
function chk (line 142) | func chk(err error) {
FILE: go-api-examples/speech-enhancement-dpdfnet/main.go
function main (line 8) | func main() {
FILE: go-api-examples/speech-enhancement-gtcrn/main.go
function main (line 8) | func main() {
FILE: go-api-examples/streaming-hlg-decoding/main.go
function main (line 13) | func main() {
function readWave (line 56) | func readWave(filename string) (samples []float32, sampleRate int) {
function samplesInt16ToFloat (line 92) | func samplesInt16ToFloat(inSamples []byte) []float32 {
FILE: go-api-examples/streaming-speech-enhancement-dpdfnet/main.go
function appendSamples (line 8) | func appendSamples(dst []float32, src []float32) []float32 {
function main (line 12) | func main() {
FILE: go-api-examples/streaming-speech-enhancement-gtcrn/main.go
function appendSamples (line 8) | func appendSamples(dst []float32, src []float32) []float32 {
function main (line 12) | func main() {
FILE: go-api-examples/supertonic-tts/main.go
function main (line 10) | func main() {
FILE: go-api-examples/vad-asr-whisper/main.go
function main (line 11) | func main() {
function decode (line 122) | func decode(recognizer *sherpa.OfflineRecognizer, audio *sherpa.Wave, id...
function chk (line 142) | func chk(err error) {
FILE: go-api-examples/vad-speaker-identification/main.go
function createSpeakerEmbeddingExtractor (line 10) | func createSpeakerEmbeddingExtractor() *sherpa.SpeakerEmbeddingExtractor {
function computeEmbeddings (line 28) | func computeEmbeddings(ex *sherpa.SpeakerEmbeddingExtractor, files []str...
function registerSpeakers (line 45) | func registerSpeakers(ex *sherpa.SpeakerEmbeddingExtractor, manager *she...
function createVad (line 88) | func createVad() *sherpa.VoiceActivityDetector {
function main (line 110) | func main() {
function chk (line 191) | func chk(err error) {
function decode (line 197) | func decode(ex *sherpa.SpeakerEmbeddingExtractor, manager *sherpa.Speake...
FILE: go-api-examples/vad-spoken-language-identification/main.go
function main (line 11) | func main() {
function decode (line 118) | func decode(slid *sherpa.SpokenLanguageIdentification, audio *sherpa.Wav...
function chk (line 137) | func chk(err error) {
FILE: go-api-examples/vad/main.go
function main (line 11) | func main() {
function chk (line 140) | func chk(err error) {
function samplesInt16ToFloat (line 146) | func samplesInt16ToFloat(inSamples []byte) []float32 {
function FileExists (line 159) | func FileExists(path string) bool {
FILE: go-api-examples/zero-shot-pocket-tts-play/main.go
type pcmBuffer (line 20) | type pcmBuffer struct
method Push (line 34) | func (b *pcmBuffer) Push(p []byte) {
method Finish (line 44) | func (b *pcmBuffer) Finish() {
function newPCMBuffer (line 28) | func newPCMBuffer() *pcmBuffer {
type pcmReader (line 54) | type pcmReader struct
method Read (line 60) | func (r *pcmReader) Read(p []byte) (int, error) {
function main (line 92) | func main() {
FILE: go-api-examples/zero-shot-pocket-tts/main.go
function main (line 11) | func main() {
FILE: go-api-examples/zero-shot-zipvoice-tts-play/main.go
type pcmBuffer (line 20) | type pcmBuffer struct
method Push (line 34) | func (b *pcmBuffer) Push(p []byte) {
method Finish (line 44) | func (b *pcmBuffer) Finish() {
function newPCMBuffer (line 28) | func newPCMBuffer() *pcmBuffer {
type pcmReader (line 54) | type pcmReader struct
method Read (line 60) | func (r *pcmReader) Read(p []byte) (int, error) {
function main (line 89) | func main() {
FILE: go-api-examples/zero-shot-zipvoice-tts/main.go
function main (line 11) | func main() {
FILE: harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/audio-tagging.cc
function SherpaOnnxOfflineZipformerAudioTaggingModelConfig (line 10) | static SherpaOnnxOfflineZipformerAudioTaggingModelConfig
function SherpaOnnxAudioTaggingModelConfig (line 26) | static SherpaOnnxAudioTaggingModelConfig GetAudioTaggingModelConfig(
function CreateAudioTaggingWrapper (line 55) | static Napi::External<SherpaOnnxAudioTagging> CreateAudioTaggingWrapper(
function AudioTaggingCreateOfflineStreamWrapper (line 104) | static Napi::External<SherpaOnnxOfflineStream>
function AudioTaggingComputeWrapper (line 137) | static Napi::Object AudioTaggingComputeWrapper(const Napi::CallbackInfo ...
function InitAudioTagging (line 208) | void InitAudioTagging(Napi::Env env, Napi::Object exports) {
FILE: harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/keyword-spotting.cc
function CreateKeywordSpotterWrapper (line 18) | static Napi::External<SherpaOnnxKeywordSpotter> CreateKeywordSpotterWrap...
function CreateKeywordStreamWrapper (line 119) | static Napi::External<SherpaOnnxOnlineStream> CreateKeywordStreamWrapper(
function IsKeywordStreamReadyWrapper (line 165) | static Napi::Boolean IsKeywordStreamReadyWrapper(
function DecodeKeywordStreamWrapper (line 202) | static void DecodeKeywordStreamWrapper(const Napi::CallbackInfo &info) {
function ResetKeywordStreamWrapper (line 236) | static void ResetKeywordStreamWrapper(const Napi::CallbackInfo &info) {
function GetKeywordResultAsJsonWrapper (line 270) | static Napi::String GetKeywordResultAsJsonWrapper(
function InitKeywordSpotting (line 311) | void InitKeywordSpotting(Napi::Env env, Napi::Object exports) {
FILE: harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/non-streaming-asr.cc
function SherpaOnnxOfflineTransducerModelConfig (line 15) | static SherpaOnnxOfflineTransducerModelConfig GetOfflineTransducerModelC...
function SherpaOnnxOfflineParaformerModelConfig (line 33) | static SherpaOnnxOfflineParaformerModelConfig GetOfflineParaformerModelC...
function SherpaOnnxOfflineZipformerCtcModelConfig (line 49) | static SherpaOnnxOfflineZipformerCtcModelConfig
function SherpaOnnxOfflineWenetCtcModelConfig (line 65) | static SherpaOnnxOfflineWenetCtcModelConfig GetOfflineWenetCtcModelConfig(
function SherpaOnnxOfflineOmnilingualAsrCtcModelConfig (line 81) | static SherpaOnnxOfflineOmnilingualAsrCtcModelConfig
function SherpaOnnxOfflineMedAsrCtcModelConfig (line 97) | static SherpaOnnxOfflineMedAsrCtcModelConfig GetOfflineMedAsrCtcModelCon...
function SherpaOnnxOfflineFireRedAsrCtcModelConfig (line 113) | static SherpaOnnxOfflineFireRedAsrCtcModelConfig
function SherpaOnnxOfflineFunASRNanoModelConfig (line 129) | static SherpaOnnxOfflineFunASRNanoModelConfig GetOfflineFunAsrNanoModelC...
function SherpaOnnxOfflineDolphinModelConfig (line 157) | static SherpaOnnxOfflineDolphinModelConfig GetOfflineDolphinModelConfig(
function SherpaOnnxOfflineNemoEncDecCtcModelConfig (line 173) | static SherpaOnnxOfflineNemoEncDecCtcModelConfig GetOfflineNeMoCtcModelC...
function SherpaOnnxOfflineCanaryModelConfig (line 189) | static SherpaOnnxOfflineCanaryModelConfig GetOfflineCanaryModelConfig(
function SherpaOnnxOfflineWhisperModelConfig (line 210) | static SherpaOnnxOfflineWhisperModelConfig GetOfflineWhisperModelConfig(
function SherpaOnnxOfflineFireRedAsrModelConfig (line 233) | static SherpaOnnxOfflineFireRedAsrModelConfig GetOfflineFireRedAsrModelC...
function SherpaOnnxOfflineMoonshineModelConfig (line 250) | static SherpaOnnxOfflineMoonshineModelConfig GetOfflineMoonshineModelCon...
function SherpaOnnxOfflineTdnnModelConfig (line 270) | static SherpaOnnxOfflineTdnnModelConfig GetOfflineTdnnModelConfig(
function SherpaOnnxOfflineSenseVoiceModelConfig (line 286) | static SherpaOnnxOfflineSenseVoiceModelConfig GetOfflineSenseVoiceModelC...
function SherpaOnnxOfflineModelConfig (line 304) | static SherpaOnnxOfflineModelConfig GetOfflineModelConfig(Napi::Object o...
function SherpaOnnxOfflineLMConfig (line 352) | static SherpaOnnxOfflineLMConfig GetOfflineLMConfig(Napi::Object obj) {
function SherpaOnnxOfflineRecognizerConfig (line 368) | static SherpaOnnxOfflineRecognizerConfig ParseConfig(Napi::Object o) {
function FreeConfig (line 387) | static void FreeConfig(const SherpaOnnxOfflineRecognizerConfig &c) {
function CreateOfflineRecognizerWrapper (line 455) | static Napi::External<SherpaOnnxOfflineRecognizer>
class CreateRecognizerAsyncWorker (line 536) | class CreateRecognizerAsyncWorker : public Napi::AsyncWorker {
method CreateRecognizerAsyncWorker (line 538) | CreateRecognizerAsyncWorker(const Napi::Env &env,
method Execute (line 543) | void Execute() override {
method OnOK (line 552) | void OnOK() override {
method OnError (line 562) | void OnError(const Napi::Error &e) override { deferred_.Reject(e.Value...
function CreateOfflineRecognizerAsyncWrapper (line 570) | Napi::Value CreateOfflineRecognizerAsyncWrapper(
function CreateOfflineStreamWrapper (line 590) | static Napi::External<SherpaOnnxOfflineStream> CreateOfflineStreamWrapper(
function AcceptWaveformOfflineWrapper (line 624) | static void AcceptWaveformOfflineWrapper(const Napi::CallbackInfo &info) {
function OfflineRecognizerSetConfigWrapper (line 698) | static void OfflineRecognizerSetConfigWrapper(const Napi::CallbackInfo &...
class DecodeOfflineStreamAsyncWorker (line 735) | class DecodeOfflineStreamAsyncWorker : public Napi::AsyncWorker {
method DecodeOfflineStreamAsyncWorker (line 737) | DecodeOfflineStreamAsyncWorker(Napi::Env env,
method Execute (line 746) | void Execute() override {
method OnOK (line 754) | void OnOK() override {
method OnError (line 761) | void OnError(const Napi::Error &e) override { deferred_.Reject(e.Value...
function DecodeOfflineStreamAsyncWrapper (line 769) | static Napi::Value DecodeOfflineStreamAsyncWrapper(
function DecodeOfflineStreamWrapper (line 804) | static void DecodeOfflineStreamWrapper(const Napi::CallbackInfo &info) {
function GetOfflineStreamResultAsJsonWrapper (line 839) | static Napi::String GetOfflineStreamResultAsJsonWrapper(
function InitNonStreamingAsr (line 869) | void InitNonStreamingAsr(Napi::Env env, Napi::Object exports) {
FILE: harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/non-streaming-speaker-diarization.cc
function SherpaOnnxOfflineSpeakerSegmentationPyannoteModelConfig (line 15) | static SherpaOnnxOfflineSpeakerSegmentationPyannoteModelConfig
function SherpaOnnxOfflineSpeakerSegmentationModelConfig (line 30) | static SherpaOnnxOfflineSpeakerSegmentationModelConfig
function SherpaOnnxSpeakerEmbeddingExtractorConfig (line 59) | static SherpaOnnxSpeakerEmbeddingExtractorConfig
function SherpaOnnxFastClusteringConfig (line 87) | static SherpaOnnxFastClusteringConfig GetFastClusteringConfig(
function CreateOfflineSpeakerDiarizationWrapper (line 104) | static Napi::External<SherpaOnnxOfflineSpeakerDiarization>
function OfflineSpeakerDiarizationGetSampleRateWrapper (line 196) | static Napi::Number OfflineSpeakerDiarizationGetSampleRateWrapper(
function OfflineSpeakerDiarizationProcessWrapper (line 225) | static Napi::Array OfflineSpeakerDiarizationProcessWrapper(
type SpeakerDiarizationCallbackData (line 294) | struct SpeakerDiarizationCallbackData {
function InvokeJsCallback (line 301) | static void InvokeJsCallback(Napi::Env env, Napi::Function callback,
class SpeakerDiarizationProcessWorker (line 321) | class SpeakerDiarizationProcessWorker : public Napi::AsyncWorker {
method SpeakerDiarizationProcessWorker (line 323) | SpeakerDiarizationProcessWorker(const Napi::Env &env, TSFN tsfn,
method Promise (line 332) | Napi::Promise Promise() { return deferred_.Promise(); }
method Execute (line 335) | void Execute() override {
method OnOK (line 355) | void OnOK() override {
function OfflineSpeakerDiarizationProcessAsyncWrapper (line 390) | static Napi::Object OfflineSpeakerDiarizationProcessAsyncWrapper(
function OfflineSpeakerDiarizationSetConfigWrapper (line 458) | static void OfflineSpeakerDiarizationSetConfigWrapper(
function InitNonStreamingSpeakerDiarization (line 498) | void InitNonStreamingSpeakerDiarization(Napi::Env env, Napi::Object expo...
FILE: harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/non-streaming-speech-denoiser.cc
function CreateOfflineSpeechDenoiserWrapper (line 11) | static Napi::External<SherpaOnnxOfflineSpeechDenoiser>
function OfflineSpeechDenoiserRunWrapper (line 77) | static Napi::Object OfflineSpeechDenoiserRunWrapper(
function OfflineSpeechDenoiserGetSampleRateWrapper (line 150) | static Napi::Number OfflineSpeechDenoiserGetSampleRateWrapper(
function InitNonStreamingSpeechDenoiser (line 179) | void InitNonStreamingSpeechDenoiser(Napi::Env env, Napi::Object exports) {
FILE: harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/non-streaming-tts.cc
function JsObjectToJson (line 87) | static std::string JsObjectToJson(Napi::Env env, const Napi::Object &obj) {
function SherpaOnnxGenerationConfig (line 93) | static SherpaOnnxGenerationConfig GetGenerationConfig(Napi::Object o) {
function SherpaOnnxOfflineTtsVitsModelConfig (line 130) | static SherpaOnnxOfflineTtsVitsModelConfig GetOfflineTtsVitsModelConfig(
function SherpaOnnxOfflineTtsMatchaModelConfig (line 151) | static SherpaOnnxOfflineTtsMatchaModelConfig GetOfflineTtsMatchaModelCon...
function SherpaOnnxOfflineTtsKokoroModelConfig (line 172) | static SherpaOnnxOfflineTtsKokoroModelConfig GetOfflineTtsKokoroModelCon...
function SherpaOnnxOfflineTtsKittenModelConfig (line 193) | static SherpaOnnxOfflineTtsKittenModelConfig GetOfflineTtsKittenModelCon...
function SherpaOnnxOfflineTtsZipvoiceModelConfig (line 212) | static SherpaOnnxOfflineTtsZipvoiceModelConfig
function SherpaOnnxOfflineTtsPocketModelConfig (line 236) | static SherpaOnnxOfflineTtsPocketModelConfig GetOfflineTtsPocketModelCon...
function SherpaOnnxOfflineTtsSupertonicModelConfig (line 265) | static SherpaOnnxOfflineTtsSupertonicModelConfig
function SherpaOnnxOfflineTtsModelConfig (line 287) | static SherpaOnnxOfflineTtsModelConfig GetOfflineTtsModelConfig(
class CreateOfflineTtsAsyncWorker (line 323) | class CreateOfflineTtsAsyncWorker : public Napi::AsyncWorker {
method CreateOfflineTtsAsyncWorker (line 325) | CreateOfflineTtsAsyncWorker(Napi::Env env,
method Promise (line 331) | Napi::Promise Promise() { return deferred_.Promise(); }
method Execute (line 334) | void Execute() override {
method OnOK (line 342) | void OnOK() override {
method OnError (line 351) | void OnError(const Napi::Error &e) override { deferred_.Reject(e.Value...
function CreateOfflineTtsAsyncWrapper (line 366) | static Napi::Value CreateOfflineTtsAsyncWrapper(
function CreateOfflineTtsWrapper (line 389) | static Napi::External<SherpaOnnxOfflineTts> CreateOfflineTtsWrapper(
function OfflineTtsSampleRateWrapper (line 473) | static Napi::Number OfflineTtsSampleRateWrapper(
function OfflineTtsNumSpeakersWrapper (line 501) | static Napi::Number OfflineTtsNumSpeakersWrapper(
function OfflineTtsGenerateWithConfigWrapper (line 530) | static Napi::Object OfflineTtsGenerateWithConfigWrapper(
function OfflineTtsGenerateWrapper (line 618) | static Napi::Object OfflineTtsGenerateWrapper(const Napi::CallbackInfo &...
type TtsCallbackData (line 739) | struct TtsCallbackData {
function InvokeJsCallback (line 748) | static void InvokeJsCallback(Napi::Env env, Napi::Function callback,
class TtsGenerateWorker (line 783) | class TtsGenerateWorker : public Napi::AsyncWorker {
method TtsGenerateWorker (line 785) | TtsGenerateWorker(const Napi::Env &env, TSFN tsfn,
method Promise (line 797) | Napi::Promise Promise() { return deferred_.Promise(); }
method Execute (line 806) | void Execute() override {
method OnOK (line 845) | void OnOK() override {
function OfflineTtsGenerateAsyncWrapper (line 894) | static Napi::Object OfflineTtsGenerateAsyncWrapper(
class TtsGenerateWithConfigWorker (line 1004) | class TtsGenerateWithConfigWorker : public Napi::AsyncWorker {
method TtsGenerateWithConfigWorker (line 1006) | TtsGenerateWithConfigWorker(const Napi::Env &env, TSFN tsfn,
method Promise (line 1019) | Napi::Promise Promise() { return deferred_.Promise(); }
method Execute (line 1027) | void Execute() override {
method OnOK (line 1065) | void OnOK() override {
function OfflineTtsGenerateAsyncWithConfigWrapper (line 1104) | static Napi::Object OfflineTtsGenerateAsyncWithConfigWrapper(
function InitNonStreamingTts (line 1157) | void InitNonStreamingTts(Napi::Env env, Napi::Object exports) {
FILE: harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/offline-punctuation.cc
function SherpaOnnxOfflinePunctuationModelConfig (line 11) | static SherpaOnnxOfflinePunctuationModelConfig GetOfflinePunctuationMode...
function CreateOfflinePunctuationWrapper (line 39) | static Napi::External<SherpaOnnxOfflinePunctuation>
function OfflinePunctuationAddPunctWrapper (line 120) | static Napi::String OfflinePunctuationAddPunctWrapper(
function InitOfflinePunctuation (line 161) | void InitOfflinePunctuation(Napi::Env env, Napi::Object exports) {
FILE: harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/online-punctuation.cc
function SherpaOnnxOnlinePunctuationModelConfig (line 11) | static SherpaOnnxOnlinePunctuationModelConfig GetOnlinePunctuationModelC...
function CreateOnlinePunctuationWrapper (line 41) | static Napi::External<SherpaOnnxOnlinePunctuation>
function OnlinePunctuationAddPunctWrapper (line 125) | static Napi::String OnlinePunctuationAddPunctWrapper(
function InitOnlinePunctuation (line 166) | void InitOnlinePunctuation(Napi::Env env, Napi::Object exports) {
FILE: harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/sherpa-onnx-node-addon-api.cc
function Init (line 42) | Napi::Object Init(Napi::Env env, Napi::Object exports) {
FILE: harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/speaker-identification.cc
function CreateSpeakerEmbeddingExtractorWrapper (line 13) | static Napi::External<SherpaOnnxSpeakerEmbeddingExtractor>
function SpeakerEmbeddingExtractorDimWrapper (line 109) | static Napi::Number SpeakerEmbeddingExtractorDimWrapper(
function SpeakerEmbeddingExtractorCreateStreamWrapper (line 138) | static Napi::External<SherpaOnnxOnlineStream>
function SpeakerEmbeddingExtractorIsReadyWrapper (line 172) | static Napi::Boolean SpeakerEmbeddingExtractorIsReadyWrapper(
function SpeakerEmbeddingExtractorComputeEmbeddingWrapper (line 211) | static Napi::Float32Array SpeakerEmbeddingExtractorComputeEmbeddingWrapper(
function CreateSpeakerEmbeddingManagerWrapper (line 284) | static Napi::External<SherpaOnnxSpeakerEmbeddingManager>
function SpeakerEmbeddingManagerAddWrapper (line 323) | static Napi::Boolean SpeakerEmbeddingManagerAddWrapper(
function SpeakerEmbeddingManagerAddListFlattenedWrapper (line 393) | static Napi::Boolean SpeakerEmbeddingManagerAddListFlattenedWrapper(
function SpeakerEmbeddingManagerRemoveWrapper (line 480) | static Napi::Boolean SpeakerEmbeddingManagerRemoveWrapper(
function SpeakerEmbeddingManagerSearchWrapper (line 519) | static Napi::String SpeakerEmbeddingManagerSearchWrapper(
function SpeakerEmbeddingManagerVerifyWrapper (line 597) | static Napi::Boolean SpeakerEmbeddingManagerVerifyWrapper(
function SpeakerEmbeddingManagerContainsWrapper (line 685) | static Napi::Boolean SpeakerEmbeddingManagerContainsWrapper(
function SpeakerEmbeddingManagerNumSpeakersWrapper (line 725) | static Napi::Number SpeakerEmbeddingManagerNumSpeakersWrapper(
function SpeakerEmbeddingManagerGetAllSpeakersWrapper (line 754) | static Napi::Array SpeakerEmbeddingManagerGetAllSpeakersWrapper(
function InitSpeakerID (line 795) | void InitSpeakerID(Napi::Env env, Napi::Object exports) {
FILE: harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/speech-denoiser.h
function SherpaOnnxOfflineSpeechDenoiserGtcrnModelConfig (line 14) | static inline SherpaOnnxOfflineSpeechDenoiserGtcrnModelConfig
function SherpaOnnxOfflineSpeechDenoiserDpdfNetModelConfig (line 28) | static inline SherpaOnnxOfflineSpeechDenoiserDpdfNetModelConfig
function SherpaOnnxOfflineSpeechDenoiserModelConfig (line 42) | static inline SherpaOnnxOfflineSpeechDenoiserModelConfig
function DeleteSpeechDenoiserModelConfig (line 71) | static inline void DeleteSpeechDenoiserModelConfig(
function GetEnableExternalBuffer (line 78) | static inline bool GetEnableExternalBuffer(Napi::Object obj) {
function GetFloat32ArrayElementLength (line 87) | static inline int32_t GetFloat32ArrayElementLength(Napi::Float32Array sa...
function Napi (line 95) | static inline Napi::Object CreateDenoisedAudioObject(
FILE: harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/spoken-language-identification.cc
function SherpaOnnxSpokenLanguageIdentificationWhisperConfig (line 12) | static SherpaOnnxSpokenLanguageIdentificationWhisperConfig
function CreateSpokenLanguageIdentificationWrapper (line 30) | static Napi::External<SherpaOnnxSpokenLanguageIdentification>
function SpokenLanguageIdentificationCreateOfflineStreamWrapper (line 88) | static Napi::External<SherpaOnnxOfflineStream>
function SpokenLanguageIdentificationComputeWrapper (line 125) | static Napi::String SpokenLanguageIdentificationComputeWrapper(
function InitSpokenLanguageID (line 169) | void InitSpokenLanguageID(Napi::Env env, Napi::Object exports) {
FILE: harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/streaming-asr.cc
function SherpaOnnxFeatureConfig (line 19) | SherpaOnnxFeatureConfig GetFeatureConfig(Napi::Object obj) {
function SherpaOnnxOnlineTransducerModelConfig (line 44) | static SherpaOnnxOnlineTransducerModelConfig GetOnlineTransducerModelCon...
function SherpaOnnxOnlineZipformer2CtcModelConfig (line 62) | static SherpaOnnxOnlineZipformer2CtcModelConfig
function SherpaOnnxOnlineNemoCtcModelConfig (line 78) | static SherpaOnnxOnlineNemoCtcModelConfig GetOnlineNemoCtcModelConfig(
function SherpaOnnxOnlineToneCtcModelConfig (line 94) | static SherpaOnnxOnlineToneCtcModelConfig GetOnlineToneCtcModelConfig(
function SherpaOnnxOnlineParaformerModelConfig (line 110) | static SherpaOnnxOnlineParaformerModelConfig GetOnlineParaformerModelCon...
function SherpaOnnxOnlineModelConfig (line 127) | SherpaOnnxOnlineModelConfig GetOnlineModelConfig(Napi::Object obj) {
function SherpaOnnxOnlineCtcFstDecoderConfig (line 165) | static SherpaOnnxOnlineCtcFstDecoderConfig GetCtcFstDecoderConfig(
function SherpaOnnxHomophoneReplacerConfig (line 184) | SherpaOnnxHomophoneReplacerConfig GetHomophoneReplacerConfig(Napi::Objec...
function CreateOnlineRecognizerWrapper (line 200) | static Napi::External<SherpaOnnxOnlineRecognizer> CreateOnlineRecognizer...
function CreateOnlineStreamWrapper (line 336) | static Napi::External<SherpaOnnxOnlineStream> CreateOnlineStreamWrapper(
function AcceptWaveformWrapper (line 370) | static void AcceptWaveformWrapper(const Napi::CallbackInfo &info) {
function IsOnlineStreamReadyWrapper (line 442) | static Napi::Boolean IsOnlineStreamReadyWrapper(
function DecodeOnlineStreamWrapper (line 480) | static void DecodeOnlineStreamWrapper(const Napi::CallbackInfo &info) {
function GetOnlineStreamResultAsJsonWrapper (line 515) | static Napi::String GetOnlineStreamResultAsJsonWrapper(
function InputFinishedWrapper (line 556) | static void InputFinishedWrapper(const Napi::CallbackInfo &info) {
function ResetOnlineStreamWrapper (line 581) | static void ResetOnlineStreamWrapper(const Napi::CallbackInfo &info) {
function IsEndpointWrapper (line 616) | static Napi::Boolean IsEndpointWrapper(const Napi::CallbackInfo &info) {
function CreateDisplayWrapper (line 653) | static Napi::External<SherpaOnnxDisplay> CreateDisplayWrapper(
function PrintWrapper (line 682) | static void PrintWrapper(const Napi::CallbackInfo &info) {
function InitStreamingAsr (line 725) | void InitStreamingAsr(Napi::Env env, Napi::Object exports) {
FILE: harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/streaming-speech-denoiser.cc
function CreateOnlineSpeechDenoiserWrapper (line 11) | static Napi::External<SherpaOnnxOnlineSpeechDenoiser>
function OnlineSpeechDenoiserRunWrapper (line 70) | static Napi::Object OnlineSpeechDenoiserRunWrapper(
function OnlineSpeechDenoiserFlushWrapper (line 104) | static Napi::Object OnlineSpeechDenoiserFlushWrapper(
function OnlineSpeechDenoiserResetWrapper (line 125) | static void OnlineSpeechDenoiserResetWrapper(const Napi::CallbackInfo &i...
function OnlineSpeechDenoiserGetSampleRateWrapper (line 138) | static Napi::Number OnlineSpeechDenoiserGetSampleRateWrapper(
function OnlineSpeechDenoiserGetFrameShiftInSamplesWrapper (line 153) | static Napi::Number OnlineSpeechDenoiserGetFrameShiftInSamplesWrapper(
function InitOnlineSpeechDenoiser (line 168) | void InitOnlineSpeechDenoiser(Napi::Env env, Napi::Object exports) {
FILE: harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/types/libsherpa_onnx/Index.d.ts
type TtsOutput (line 44) | type TtsOutput = {
FILE: harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/utils.cc
function GetFilenames (line 12) | static std::vector<std::string> GetFilenames(NativeResourceManager *mgr,
function ListRawFileDir (line 41) | static Napi::Array ListRawFileDir(const Napi::CallbackInfo &info) {
function InitUtils (line 76) | void InitUtils(Napi::Env env, Napi::Object exports) {
FILE: harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/vad.cc
function CreateCircularBufferWrapper (line 13) | static Napi::External<SherpaOnnxCircularBuffer> CreateCircularBufferWrap...
function CircularBufferPushWrapper (line 42) | static void CircularBufferPushWrapper(const Napi::CallbackInfo &info) {
function CircularBufferGetWrapper (line 86) | static Napi::Float32Array CircularBufferGetWrapper(
function CircularBufferPopWrapper (line 165) | static void CircularBufferPopWrapper(const Napi::CallbackInfo &info) {
function CircularBufferSizeWrapper (line 199) | static Napi::Number CircularBufferSizeWrapper(const Napi::CallbackInfo &...
function CircularBufferHeadWrapper (line 226) | static Napi::Number CircularBufferHeadWrapper(const Napi::CallbackInfo &...
function CircularBufferResetWrapper (line 253) | static void CircularBufferResetWrapper(const Napi::CallbackInfo &info) {
function SherpaOnnxSileroVadModelConfig (line 278) | static SherpaOnnxSileroVadModelConfig GetSileroVadConfig(
function SherpaOnnxTenVadModelConfig (line 298) | static SherpaOnnxTenVadModelConfig GetTenVadConfig(const Napi::Object &o...
function CreateVoiceActivityDetectorWrapper (line 317) | static Napi::External<SherpaOnnxVoiceActivityDetector>
function VoiceActivityDetectorAcceptWaveformWrapper (line 423) | static void VoiceActivityDetectorAcceptWaveformWrapper(
function VoiceActivityDetectorEmptyWrapper (line 467) | static Napi::Boolean VoiceActivityDetectorEmptyWrapper(
function VoiceActivityDetectorDetectedWrapper (line 495) | static Napi::Boolean VoiceActivityDetectorDetectedWrapper(
function VoiceActivityDetectorPopWrapper (line 523) | static void VoiceActivityDetectorPopWrapper(const Napi::CallbackInfo &in...
function VoiceActivityDetectorClearWrapper (line 548) | static void VoiceActivityDetectorClearWrapper(const Napi::CallbackInfo &...
function VoiceActivityDetectorFrontWrapper (line 573) | static Napi::Object VoiceActivityDetectorFrontWrapper(
function VoiceActivityDetectorResetWrapper (line 646) | static void VoiceActivityDetectorResetWrapper(const Napi::CallbackInfo &...
function VoiceActivityDetectorFlushWrapper (line 671) | static void VoiceActivityDetectorFlushWrapper(const Napi::CallbackInfo &...
function InitVad (line 696) | void InitVad(Napi::Env env, Napi::Object exports) {
FILE: harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/version.cc
function InitVersion (line 9) | void InitVersion(Napi::Env env, Napi::Object exports) {
FILE: harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/wave-reader.cc
function ReadWaveWrapper (line 12) | static Napi::Object ReadWaveWrapper(const Napi::CallbackInfo &info) {
function ReadWaveFromBinaryWrapper (line 89) | static Napi::Object ReadWaveFromBinaryWrapper(const Napi::CallbackInfo &...
function InitWaveReader (line 167) | void InitWaveReader(Napi::Env env, Napi::Object exports) {
FILE: harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/wave-writer.cc
function WriteWaveWrapper (line 11) | static Napi::Boolean WriteWaveWrapper(const Napi::CallbackInfo &info) {
function InitWaveWriter (line 83) | void InitWaveWriter(Napi::Env env, Napi::Object exports) {
FILE: java-api-examples/AudioTaggingCEDFromFile.java
class AudioTaggingCEDFromFile (line 7) | public class AudioTaggingCEDFromFile {
method main (line 8) | public static void main(String[] args) {
FILE: java-api-examples/AudioTaggingZipformerFromFile.java
class AudioTaggingZipformerFromFile (line 7) | public class AudioTaggingZipformerFromFile {
method main (line 8) | public static void main(String[] args) {
FILE: java-api-examples/InverseTextNormalizationNonStreamingParaformer.java
class InverseTextNormalizationNonStreamingParaformer (line 7) | public class InverseTextNormalizationNonStreamingParaformer {
method main (line 8) | public static void main(String[] args) {
FILE: java-api-examples/InverseTextNormalizationStreamingTransducer.java
class InverseTextNormalizationStreamingTransducer (line 7) | public class InverseTextNormalizationStreamingTransducer {
method main (line 8) | public static void main(String[] args) {
FILE: java-api-examples/KeywordSpotterFromFile.java
class KyewordSpotterFromFile (line 8) | public class KyewordSpotterFromFile {
method main (line 9) | public static void main(String[] args) {
FILE: java-api-examples/NonStreamingDecodeFileDolphinCtc.java
class NonStreamingDecodeFileDolphinCtc (line 7) | public class NonStreamingDecodeFileDolphinCtc {
method main (line 8) | public static void main(String[] args) {
FILE: java-api-examples/NonStreamingDecodeFileFireRedAsr.java
class NonStreamingDecodeFileFireRedAsr (line 7) | public class NonStreamingDecodeFileFireRedAsr {
method main (line 8) | public static void main(String[] args) {
FILE: java-api-examples/NonStreamingDecodeFileFireRedAsrCtc.java
class NonStreamingDecodeFileFireRedAsrCtc (line 8) | public class NonStreamingDecodeFileFireRedAsrCtc {
method main (line 9) | public static void main(String[] args) {
FILE: java-api-examples/NonStreamingDecodeFileFunAsrNano.java
class NonStreamingDecodeFileFunAsrNano (line 8) | public class NonStreamingDecodeFileFunAsrNano {
method main (line 9) | public static void main(String[] args) {
FILE: java-api-examples/NonStreamingDecodeFileMedAsrCtc.java
class NonStreamingDecodeFileMedAsrCtc (line 8) | public class NonStreamingDecodeFileMedAsrCtc {
method main (line 9) | public static void main(String[] args) {
FILE: java-api-examples/NonStreamingDecodeFileMoonshine.java
class NonStreamingDecodeFileMoonshine (line 8) | public class NonStreamingDecodeFileMoonshine {
method main (line 9) | public static void main(String[] args) {
FILE: java-api-examples/NonStreamingDecodeFileMoonshineV2.java
class NonStreamingDecodeFileMoonshineV2 (line 8) | public class NonStreamingDecodeFileMoonshineV2 {
method main (line 9) | public static void main(String[] args) {
FILE: java-api-examples/NonStreamingDecodeFileNemo.java
class NonStreamingDecodeFileNemo (line 7) | public class NonStreamingDecodeFileNemo {
method main (line 8) | public static void main(String[] args) {
FILE: java-api-examples/NonStreamingDecodeFileNemoCanary.java
class NonStreamingDecodeFileNemoCanary (line 7) | public class NonStreamingDecodeFileNemoCanary {
method main (line 8) | public static void main(String[] args) {
FILE: java-api-examples/NonStreamingDecodeFileOmnilingualAsrCtc.java
class NonStreamingDecodeFileOmnilingualAsrCtc (line 8) | public class NonStreamingDecodeFileOmnilingualAsrCtc {
method main (line 9) | public static void main(String[] args) {
FILE: java-api-examples/NonStreamingDecodeFileParaformer.java
class NonStreamingDecodeFileParaformer (line 7) | public class NonStreamingDecodeFileParaformer {
method main (line 8) | public static void main(String[] args) {
FILE: java-api-examples/NonStreamingDecodeFileSenseVoice.java
class NonStreamingDecodeFileSenseVoice (line 8) | public class NonStreamingDecodeFileSenseVoice {
method main (line 9) | public static void main(String[] args) {
FILE: java-api-examples/NonStreamingDecodeFileSenseVoiceWithHr.java
class NonStreamingDecodeFileSenseVoiceWithHr (line 8) | public class NonStreamingDecodeFileSenseVoiceWithHr {
method main (line 9) | public static void main(String[] args) {
FILE: java-api-examples/NonStreamingDecodeFileTeleSpeechCtc.java
class NonStreamingDecodeFileTeleSpeechCtc (line 7) | public class NonStreamingDecodeFileTeleSpeechCtc {
method main (line 8) | public static void main(String[] args) {
FILE: java-api-examples/NonStreamingDecodeFileTransducer.java
class NonStreamingDecodeFileTransducer (line 7) | public class NonStreamingDecodeFileTransducer {
method main (line 8) | public static void main(String[] args) {
FILE: java-api-examples/NonStreamingDecodeFileTransducerHotwords.java
class NonStreamingDecodeFileTransducerHotwords (line 10) | public class NonStreamingDecodeFileTransducerHotwords {
method main (line 11) | public static void main(String[] args) {
FILE: java-api-examples/NonStreamingDecodeFileWenetCtc.java
class NonStreamingDecodeFileWenetCtc (line 8) | public class NonStreamingDecodeFileWenetCtc {
method main (line 9) | public static void main(String[] args) {
FILE: java-api-examples/NonStreamingDecodeFileWhisper.java
class NonStreamingDecodeFileWhisper (line 7) | public class NonStreamingDecodeFileWhisper {
method main (line 8) | public static void main(String[] args) {
FILE: java-api-examples/NonStreamingDecodeFileWhisperMultiple.java
class NonStreamingDecodeFileWhisperMultiple (line 7) | public class NonStreamingDecodeFileWhisperMultiple {
method main (line 8) | public static void main(String[] args) {
FILE: java-api-examples/NonStreamingDecodeFileZipformerCtc.java
class NonStreamingDecodeFileZipformerCtc (line 8) | public class NonStreamingDecodeFileZipformerCtc {
method main (line 9) | public static void main(String[] args) {
FILE: java-api-examples/NonStreamingSpeechEnhancementDpdfNet.java
class NonStreamingSpeechEnhancementDpdfNet (line 15) | public class NonStreamingSpeechEnhancementDpdfNet {
method main (line 16) | public static void main(String[] args) {
FILE: java-api-examples/NonStreamingSpeechEnhancementGtcrn.java
class NonStreamingSpeechEnhancementGtcrn (line 10) | public class NonStreamingSpeechEnhancementGtcrn {
method main (line 11) | public static void main(String[] args) {
FILE: java-api-examples/NonStreamingTtsCoquiDe.java
class NonStreamingTtsCoquiDe (line 7) | public class NonStreamingTtsCoquiDe {
method main (line 8) | public static void main(String[] args) {
FILE: java-api-examples/NonStreamingTtsKittenEn.java
class NonStreamingTtsKittenEn (line 7) | public class NonStreamingTtsKittenEn {
method main (line 8) | public static void main(String[] args) {
FILE: java-api-examples/NonStreamingTtsKokoroEn.java
class NonStreamingTtsKokoroEn (line 7) | public class NonStreamingTtsKokoroEn {
method main (line 8) | public static void main(String[] args) {
FILE: java-api-examples/NonStreamingTtsKokoroZhEn.java
class NonStreamingTtsKokoroZhEn (line 7) | public class NonStreamingTtsKokoroZhEn {
method main (line 8) | public static void main(String[] args) {
FILE: java-api-examples/NonStreamingTtsMatchaEn.java
class NonStreamingTtsMatchaEn (line 7) | public class NonStreamingTtsMatchaEn {
method main (line 8) | public static void main(String[] args) {
FILE: java-api-examples/NonStreamingTtsMatchaZh.java
class NonStreamingTtsMatchaZh (line 7) | public class NonStreamingTtsMatchaZh {
method main (line 8) | public static void main(String[] args) {
FILE: java-api-examples/NonStreamingTtsPiperEn.java
class NonStreamingTtsPiperEn (line 7) | public class NonStreamingTtsPiperEn {
method main (line 8) | public static void main(String[] args) {
FILE: java-api-examples/NonStreamingTtsPiperEnWithCallback.java
class NonStreamingTtsPiperEn (line 22) | public class NonStreamingTtsPiperEn {
method main (line 23) | public static void main(String[] args) {
FILE: java-api-examples/NonStreamingTtsVitsZh.java
class NonStreamingTtsPiperEn (line 10) | public class NonStreamingTtsPiperEn {
method main (line 11) | public static void main(String[] args) {
FILE: java-api-examples/NonStreamingWebsocketClient.java
class NonStreamingWebsocketClient (line 16) | public class NonStreamingWebsocketClient {
method main (line 17) | public static void main(String[] args) throws Exception {
class WebSocketClient (line 57) | private static class WebSocketClient implements WebSocket.Listener {
method WebSocketClient (line 60) | public WebSocketClient(CountDownLatch latch) {
method onText (line 64) | @Override
FILE: java-api-examples/OfflineAddPunctuation.java
class OfflineAddPunctuation (line 8) | public class OfflineAddPunctuation {
method main (line 9) | public static void main(String[] args) {
FILE: java-api-examples/OfflineSpeakerDiarizationDemo.java
class OfflineSpeakerDiarizationDemo (line 6) | public class OfflineSpeakerDiarizationDemo {
method main (line 7) | public static void main(String[] args) {
FILE: java-api-examples/OnlineAddPunctuation.java
class OnlineAddPunctuation (line 8) | public class OnlineAddPunctuation {
method main (line 9) | public static void main(String[] args) {
FILE: java-api-examples/PocketTts.java
class PocketTts (line 9) | public class PocketTts {
method main (line 10) | public static void main(String[] args) {
FILE: java-api-examples/SpeakerIdentification.java
class SpeakerIdentification (line 7) | public class SpeakerIdentification {
method computeEmbedding (line 8) | public static float[] computeEmbedding(SpeakerEmbeddingExtractor extra...
method main (line 21) | public static void main(String[] args) {
FILE: java-api-examples/SpokenLanguageIdentificationWhisper.java
class SpokenLanguageIdentificationWhisper (line 10) | public class SpokenLanguageIdentificationWhisper {
method main (line 11) | public static void main(String[] args) {
FILE: java-api-examples/StreamingAsrFromMicTransducer.java
class StreamingAsrFromMicTransducer (line 9) | public class StreamingAsrFromMicTransducer {
method main (line 10) | public static void main(String[] args) {
FILE: java-api-examples/StreamingDecodeFileCtc.java
class StreamingDecodeFileCtc (line 7) | public class StreamingDecodeFileCtc {
method main (line 8) | public static void main(String[] args) {
FILE: java-api-examples/StreamingDecodeFileCtcHLG.java
class StreamingDecodeFileCtcHLG (line 7) | public class StreamingDecodeFileCtcHLG {
method main (line 8) | public static void main(String[] args) {
FILE: java-api-examples/StreamingDecodeFileParaformer.java
class StreamingDecodeFileParaformer (line 7) | public class StreamingDecodeFileParaformer {
method main (line 8) | public static void main(String[] args) {
FILE: java-api-examples/StreamingDecodeFileToneCtc.java
class StreamingDecodeFileToneCtc (line 7) | public class StreamingDecodeFileToneCtc {
method main (line 8) | public static void main(String[] args) {
FILE: java-api-examples/StreamingDecodeFileTransducer.java
class StreamingDecodeFileTransducer (line 8) | public class StreamingDecodeFileTransducer {
method main (line 9) | public static void main(String[] args) {
FILE: java-api-examples/StreamingSpeechEnhancementDpdfNet.java
class StreamingSpeechEnhancementDpdfNet (line 12) | public class StreamingSpeechEnhancementDpdfNet {
method appendSamples (line 13) | private static void appendSamples(java.util.ArrayList<Float> dst, floa...
method toFloatArray (line 19) | private static float[] toFloatArray(java.util.ArrayList<Float> src) {
method main (line 27) | public static void main(String[] args) {
FILE: java-api-examples/StreamingSpeechEnhancementGtcrn.java
class StreamingSpeechEnhancementGtcrn (line 11) | public class StreamingSpeechEnhancementGtcrn {
method appendSamples (line 12) | private static void appendSamples(java.util.ArrayList<Float> dst, floa...
method toFloatArray (line 18) | private static float[] toFloatArray(java.util.ArrayList<Float> src) {
method main (line 26) | public static void main(String[] args) {
FILE: java-api-examples/SupertonicTts.java
class SupertonicTts (line 8) | public class SupertonicTts {
method main (line 9) | public static void main(String[] args) {
FILE: java-api-examples/TenVadRemoveSilence.java
class TenVadRemoveSilence (line 10) | public class TenVadRemoveSilence {
method main (line 11) | public static void main(String[] args) {
FILE: java-api-examples/VadFromMic.java
class VadFromMic (line 9) | public class VadFromMic {
method main (line 10) | public static void main(String[] args) {
FILE: java-api-examples/VadFromMicWithNonStreamingMoonshine.java
class VadFromMicNonStreamingMoonshine (line 9) | public class VadFromMicNonStreamingMoonshine {
method createVad (line 13) | public static Vad createVad() {
method createOfflineRecognizer (line 38) | public static OfflineRecognizer createOfflineRecognizer() {
method main (line 75) | public static void main(String[] args) {
FILE: java-api-examples/VadFromMicWithNonStreamingParaformer.java
class VadFromMicWithNonStreamingParaformer (line 9) | public class VadFromMicWithNonStreamingParaformer {
method createVad (line 13) | public static Vad createVad() {
method createOfflineRecognizer (line 38) | public static OfflineRecognizer createOfflineRecognizer() {
method main (line 69) | public static void main(String[] args) {
FILE: java-api-examples/VadFromMicWithNonStreamingSenseVoice.java
class VadFromMicWithNonStreamingSenseVoice (line 9) | public class VadFromMicWithNonStreamingSenseVoice {
method createVad (line 13) | public static Vad createVad() {
method createOfflineRecognizer (line 38) | public static OfflineRecognizer createOfflineRecognizer() {
method main (line 65) | public static void main(String[] args) {
FILE: java-api-examples/VadFromMicWithNonStreamingWhisper.java
class VadFromMicNonStreamingWhisper (line 9) | public class VadFromMicNonStreamingWhisper {
method createVad (line 13) | public static Vad createVad() {
method createOfflineRecognizer (line 38) | public static OfflineRecognizer createOfflineRecognizer() {
method main (line 66) | public static void main(String[] args) {
FILE: java-api-examples/VadNonStreamingDolphinCtc.java
class VadNonStreamingSenseVoice (line 9) | public class VadNonStreamingSenseVoice {
method createVad (line 10) | public static Vad createVad() {
method createOfflineRecognizer (line 36) | public static OfflineRecognizer createOfflineRecognizer() {
method main (line 62) | public static void main(String[] args) {
FILE: java-api-examples/VadNonStreamingParaformer.java
class VadNonStreamingParaformer (line 9) | public class VadNonStreamingParaformer {
method createVad (line 10) | public static Vad createVad() {
method createOfflineRecognizer (line 36) | public static OfflineRecognizer createOfflineRecognizer() {
method main (line 63) | public static void main(String[] args) {
FILE: java-api-examples/VadNonStreamingSenseVoice.java
class VadNonStreamingSenseVoice (line 9) | public class VadNonStreamingSenseVoice {
method createVad (line 10) | public static Vad createVad() {
method createOfflineRecognizer (line 36) | public static OfflineRecognizer createOfflineRecognizer() {
method main (line 63) | public static void main(String[] args) {
FILE: java-api-examples/VadRemoveSilence.java
class VadRemoveSilence (line 10) | public class VadRemoveSilence {
method main (line 11) | public static void main(String[] args) {
FILE: java-api-examples/VersionTest.java
class VersionTest (line 5) | public class VersionTest {
method main (line 6) | public static void main(String[] args) {
FILE: java-api-examples/ZipVoiceTts.java
class ZipVoiceTts (line 9) | public class ZipVoiceTts {
method main (line 10) | public static void main(String[] args) {
FILE: java-api-examples/src/websocketsrv/AsrWebsocketClient.java
class AsrWebsocketClient (line 20) | public class AsrWebsocketClient extends WebSocketClient {
method AsrWebsocketClient (line 23) | public AsrWebsocketClient(URI serverUri, Draft draft) {
method AsrWebsocketClient (line 27) | public AsrWebsocketClient(URI serverURI) {
method AsrWebsocketClient (line 31) | public AsrWebsocketClient(URI serverUri, Map<String, String> httpHeade...
method onOpen (line 35) | @Override
method onMessage (line 54) | @Override
method onClose (line 60) | @Override
method onError (line 72) | @Override
method main (line 81) | public static void main(String[] args) throws URISyntaxException {
FILE: java-api-examples/src/websocketsrv/AsrWebsocketServer.java
class AsrWebsocketServer (line 33) | public class AsrWebsocketServer extends WebSocketServer {
method AsrWebsocketServer (line 47) | public AsrWebsocketServer(int port, int numThread) throws UnknownHostE...
method AsrWebsocketServer (line 52) | public AsrWebsocketServer(InetSocketAddress address) {
method AsrWebsocketServer (line 56) | public AsrWebsocketServer(int port, Draft_6455 draft) {
method onOpen (line 60) | @Override
method onClose (line 63) | @Override
method onMessage (line 72) | @Override
method creatOrGetConnectionData (line 90) | private ConnectionData creatOrGetConnectionData(WebSocket conn) {
method onMessage (line 115) | @Override
method streamQueueFind (line 143) | public boolean streamQueueFind(WebSocket conn) {
method initModelWithCfg (line 147) | public void initModelWithCfg(Map<String, String> cfgMap, String cfgPat...
method readProperties (line 184) | public static Map<String, String> readProperties(String CfgPath) {
method main (line 210) | public static void main(String[] args) throws InterruptedException, IO...
method onError (line 233) | @Override
method onStart (line 241) | @Override
FILE: java-api-examples/src/websocketsrv/ConnectionData.java
class ConnectionData (line 15) | public class ConnectionData {
method ConnectionData (line 28) | public ConnectionData(WebSocket webSocket, OnlineStream stream) {
method addSamplesToData (line 34) | public void addSamplesToData(float[] samples) {
method getLastHandleTime (line 38) | public LocalDateTime getLastHandleTime() {
method setLastHandleTime (line 42) | public void setLastHandleTime(LocalDateTime now) {
method getEof (line 46) | public boolean getEof() {
method setEof (line 50) | public void setEof(boolean eof) {
method getWebSocket (line 54) | public WebSocket getWebSocket() {
method getQueueSamples (line 58) | public Queue<float[]> getQueueSamples() {
method getStream (line 62) | public OnlineStream getStream() {
FILE: java-api-examples/src/websocketsrv/DecoderThreadHandler.java
class DecoderThreadHandler (line 22) | public class DecoderThreadHandler extends Thread {
method DecoderThreadHandler (line 38) | public DecoderThreadHandler(
method run (line 53) | public void run() {
FILE: java-api-examples/src/websocketsrv/StreamThreadHandler.java
class StreamThreadHandler (line 15) | public class StreamThreadHandler extends Thread {
method StreamThreadHandler (line 23) | public StreamThreadHandler(
method run (line 32) | public void run() {
FILE: mfc-examples/NonStreamingSpeechRecognition/NonStreamingSpeechRecognition.cpp
function BOOL (line 36) | BOOL CNonStreamingSpeechRecognitionApp::InitInstance() {
FILE: mfc-examples/NonStreamingSpeechRecognition/NonStreamingSpeechRecognition.h
function class (line 18) | class CNonStreamingSpeechRecognitionApp : public CWinApp {
FILE: mfc-examples/NonStreamingSpeechRecognition/NonStreamingSpeechRecognitionDlg.cpp
function Utf8ToUtf16 (line 40) | static std::wstring Utf8ToUtf16(const std::string &utf8) {
function Cat (line 91) | static std::string Cat(const std::vector<std::string> &results) {
function BOOL (line 133) | BOOL CNonStreamingSpeechRecognitionDlg::OnInitDialog() {
function HCURSOR (line 176) | HCURSOR CNonStreamingSpeechRecognitionDlg::OnQueryDragIcon() {
function RecordCallback (line 180) | static int32_t RecordCallback(const void *input_buffer,
FILE: mfc-examples/NonStreamingSpeechRecognition/NonStreamingSpeechRecognitionDlg.h
function class (line 13) | class Microphone {
function class (line 20) | class CNonStreamingSpeechRecognitionDlg : public CDialogEx {
FILE: mfc-examples/NonStreamingTextToSpeech/NonStreamingTextToSpeech.cpp
function BOOL (line 38) | BOOL CNonStreamingTextToSpeechApp::InitInstance()
FILE: mfc-examples/NonStreamingTextToSpeech/NonStreamingTextToSpeech.h
function class (line 18) | class CNonStreamingTextToSpeechApp : public CWinApp
FILE: mfc-examples/NonStreamingTextToSpeech/NonStreamingTextToSpeechDlg.cpp
type Samples (line 44) | struct Samples {
type Buffer (line 49) | struct Buffer {
function AudioGeneratedCallback (line 60) | static int32_t AudioGeneratedCallback(const float *s, int32_t n) {
function PlayCallback (line 75) | static int PlayCallback(const void * /*in*/, void *out,
function PlayCallbackFinished (line 138) | static void PlayCallbackFinished(void *userData) { g_cv.notify_all(); }
function StartPlayback (line 140) | static void StartPlayback(int32_t sample_rate) {
class CAboutDlg (line 197) | class CAboutDlg : public CDialogEx
function Utf8ToUtf16 (line 232) | static std::wstring Utf8ToUtf16(const std::string &utf8) {
function HCURSOR (line 285) | HCURSOR CNonStreamingTextToSpeechDlg::OnQueryDragIcon()
function AppendTextToEditCtrl (line 291) | void AppendTextToEditCtrl(CEdit& e, const std::string &s) {
function AppendLineToMultilineEditCtrl (line 304) | void AppendLineToMultilineEditCtrl(CEdit& e, const std::string &s) {
function BOOL (line 337) | BOOL CNonStreamingTextToSpeechDlg::OnInitDialog()
function Exists (line 414) | bool Exists(const std::string &filename) {
function ToString (line 612) | static std::string ToString(const CString &s) {
FILE: mfc-examples/NonStreamingTextToSpeech/NonStreamingTextToSpeechDlg.h
function class (line 14) | class Microphone {
function class (line 21) | class CNonStreamingTextToSpeechDlg : public CDialogEx
FILE: mfc-examples/StreamingSpeechRecognition/StreamingSpeechRecognition.cpp
function BOOL (line 38) | BOOL CStreamingSpeechRecognitionApp::InitInstance() {
FILE: mfc-examples/StreamingSpeechRecognition/StreamingSpeechRecognition.h
function class (line 18) | class CStreamingSpeechRecognitionApp : public CWinApp {
FILE: mfc-examples/StreamingSpeechRecognition/StreamingSpeechRecognitionDlg.cpp
function BOOL (line 68) | BOOL CStreamingSpeechRecognitionDlg::OnInitDialog() {
function HCURSOR (line 112) | HCURSOR CStreamingSpeechRecognitionDlg::OnQueryDragIcon() {
function RecordCallback (line 116) | static int32_t RecordCallback(const void *input_buffer,
function Utf8ToUtf16 (line 430) | static std::wstring Utf8ToUtf16(const std::string &utf8) {
function Cat (line 500) | static std::string Cat(const std::vector<std::string> &results,
FILE: mfc-examples/StreamingSpeechRecognition/StreamingSpeechRecognitionDlg.h
function class (line 12) | class Microphone {
function class (line 21) | class CStreamingSpeechRecognitionDlg : public CDialogEx {
function class (line 74) | class RecognizerThread : public CWinThread {
FILE: nodejs-addon-examples/test_asr_non_streaming_fire_red_asr_ctc_async.js
function createRecognizerAsync (line 9) | async function createRecognizerAsync(numThreads = 2, debug = 1) {
function createStreamFromFile (line 35) | function createStreamFromFile(recognizer, file) {
function main (line 42) | async function main() {
FILE: nodejs-addon-examples/test_asr_non_streaming_funasr_nano_async.js
function createRecognizerAsync (line 9) | async function createRecognizerAsync(modelDir, numThreads = 2, debug = 1) {
function createStreamFromFile (line 36) | function createStreamFromFile(recognizer, file) {
function main (line 43) | async function main() {
FILE: nodejs-addon-examples/test_asr_streaming_ctc_hlg_microphone.js
function createOnlineRecognizer (line 8) | function createOnlineRecognizer() {
FILE: nodejs-addon-examples/test_asr_streaming_ctc_microphone.js
function createOnlineRecognizer (line 8) | function createOnlineRecognizer() {
FILE: nodejs-addon-examples/test_asr_streaming_paraformer_microphone.js
function createOnlineRecognizer (line 8) | function createOnlineRecognizer() {
FILE: nodejs-addon-examples/test_asr_streaming_transducer_microphone.js
function createOnlineRecognizer (line 8) | function createOnlineRecognizer() {
FILE: nodejs-addon-examples/test_asr_streaming_transducer_microphone_itn.js
function createOnlineRecognizer (line 8) | function createOnlineRecognizer() {
FILE: nodejs-addon-examples/test_audio_tagging_ced.js
function createAudioTagging (line 6) | function createAudioTagging() {
FILE: nodejs-addon-examples/test_audio_tagging_zipformer.js
function createAudioTagging (line 6) | function createAudioTagging() {
FILE: nodejs-addon-examples/test_keyword_spotter_transducer_microphone.js
function createKeywordSpotter (line 8) | function createKeywordSpotter() {
FILE: nodejs-addon-examples/test_offline_punctuation.js
function createPunctuation (line 7) | function createPunctuation() {
FILE: nodejs-addon-examples/test_offline_speech_enhancement_dpdfnet.js
function createOfflineSpeechDenoiser (line 5) | function createOfflineSpeechDenoiser() {
FILE: nodejs-addon-examples/test_offline_speech_enhancement_gtcrn.js
function createOfflineSpeechDenoiser (line 5) | function createOfflineSpeechDenoiser() {
FILE: nodejs-addon-examples/test_online_punctuation.js
function createPunctuation (line 7) | function createPunctuation() {
FILE: nodejs-addon-examples/test_online_speech_enhancement_dpdfnet.js
function createOnlineSpeechDenoiser (line 5) | function createOnlineSpeechDenoiser() {
FILE: nodejs-addon-examples/test_online_speech_enhancement_gtcrn.js
function createOnlineSpeechDenoiser (line 5) | function createOnlineSpeechDenoiser() {
FILE: nodejs-addon-examples/test_speaker_identification.js
function createSpeakerEmbeddingExtractor (line 7) | function createSpeakerEmbeddingExtractor() {
function computeEmbedding (line 16) | function computeEmbedding(extractor, filename) {
FILE: nodejs-addon-examples/test_spoken_language_identification.js
function createSpokenLanguageID (line 7) | function createSpokenLanguageID() {
FILE: nodejs-addon-examples/test_tts_non_streaming_kitten_en.js
function createOfflineTtsAsync (line 11) | async function createOfflineTtsAsync() {
function main (line 31) | async function main() {
FILE: nodejs-addon-examples/test_tts_non_streaming_kokoro_en.js
function createOfflineTts (line 7) | function createOfflineTts() {
FILE: nodejs-addon-examples/test_tts_non_streaming_kokoro_zh_en.js
function createOfflineTts (line 7) | function createOfflineTts() {
FILE: nodejs-addon-examples/test_tts_non_streaming_matcha_icefall_en.js
function createOfflineTts (line 7) | function createOfflineTts() {
FILE: nodejs-addon-examples/test_tts_non_streaming_matcha_icefall_zh.js
function createOfflineTts (line 7) | function createOfflineTts() {
FILE: nodejs-addon-examples/test_tts_non_streaming_pocket_en.js
function createOfflineTts (line 7) | function createOfflineTts() {
FILE: nodejs-addon-examples/test_tts_non_streaming_pocket_en_async.js
function createOfflineTts (line 4) | async function createOfflineTts() {
function generateAudioAsync (line 34) | async function generateAudioAsync(tts, text) {
function main (line 71) | async function main() {
FILE: nodejs-addon-examples/test_tts_non_streaming_pocket_en_play_async.js
function createOfflineTts (line 8) | async function createOfflineTts() {
function createSpeaker (line 33) | function createSpeaker(sampleRate) {
function float32ToInt16Buffer (line 42) | function float32ToInt16Buffer(samples) {
function waitForEvent (line 54) | function waitForEvent(emitter, eventName) {
function generateAudioAsync (line 65) | async function generateAudioAsync(tts, text) {
function main (line 109) | async function main() {
FILE: nodejs-addon-examples/test_tts_non_streaming_supertonic_en.js
function createOfflineTts (line 7) | function createOfflineTts() {
FILE: nodejs-addon-examples/test_tts_non_streaming_supertonic_en_async.js
function createOfflineTts (line 4) | async function createOfflineTts() {
function generateAudioAsync (line 36) | async function generateAudioAsync(tts, text) {
function main (line 68) | async function main() {
FILE: nodejs-addon-examples/test_tts_non_streaming_supertonic_en_play_async.js
function createOfflineTts (line 8) | async function createOfflineTts() {
function createSpeaker (line 35) | function createSpeaker(sampleRate) {
function float32ToInt16Buffer (line 44) | function float32ToInt16Buffer(samples) {
function waitForEvent (line 56) | function waitForEvent(emitter, eventName) {
function generateAudioAsync (line 67) | async function generateAudioAsync(tts, text) {
function main (line 106) | async function main() {
FILE: nodejs-addon-examples/test_tts_non_streaming_vits_coqui_de.js
function createOfflineTts (line 6) | function createOfflineTts() {
FILE: nodejs-addon-examples/test_tts_non_streaming_vits_piper_en.js
function createOfflineTts (line 6) | function createOfflineTts() {
FILE: nodejs-addon-examples/test_tts_non_streaming_vits_zh_aishell3.js
function createOfflineTts (line 6) | function createOfflineTts() {
FILE: nodejs-addon-examples/test_tts_non_streaming_vits_zh_ll.js
function createOfflineTts (line 6) | function createOfflineTts() {
FILE: nodejs-addon-examples/test_tts_non_streaming_zipvoice_zh_en.js
function createOfflineTts (line 7) | function createOfflineTts() {
FILE: nodejs-addon-examples/test_tts_non_streaming_zipvoice_zh_en_async.js
function createOfflineTts (line 4) | async function createOfflineTts() {
function generateAudioAsync (line 32) | async function generateAudioAsync(tts, text) {
function main (line 66) | async function main() {
FILE: nodejs-addon-examples/test_tts_non_streaming_zipvoice_zh_en_play_async.js
function createOfflineTts (line 8) | async function createOfflineTts() {
function createSpeaker (line 32) | function createSpeaker(sampleRate) {
function float32ToInt16Buffer (line 41) | function float32ToInt16Buffer(samples) {
function waitForEvent (line 53) | function waitForEvent(emitter, eventName) {
function generateAudioAsync (line 64) | async function generateAudioAsync(tts, text) {
function main (line 111) | async function main() {
FILE: nodejs-addon-examples/test_vad_asr_non_streaming_moonshine_microphone.js
function createRecognizer (line 8) | function createRecognizer() {
function createVad (line 35) | function createVad() {
FILE: nodejs-addon-examples/test_vad_asr_non_streaming_nemo_ctc_microphone.js
function createRecognizer (line 8) | function createRecognizer() {
function createVad (line 32) | function createVad() {
FILE: nodejs-addon-examples/test_vad_asr_non_streaming_paraformer_microphone.js
function createRecognizer (line 8) | function createRecognizer() {
function createVad (line 30) | function createVad() {
FILE: nodejs-addon-examples/test_vad_asr_non_streaming_sense_voice_microphone.js
function createRecognizer (line 8) | function createRecognizer() {
function createVad (line 33) | function createVad() {
FILE: nodejs-addon-examples/test_vad_asr_non_streaming_transducer_microphone.js
function createRecognizer (line 8) | function createRecognizer() {
function createVad (line 35) | function createVad() {
FILE: nodejs-addon-examples/test_vad_asr_non_streaming_whisper_microphone.js
function createRecognizer (line 8) | function createRecognizer() {
function createVad (line 31) | function createVad() {
FILE: nodejs-addon-examples/test_vad_asr_non_streaming_zipformer_ctc_microphone.js
function createRecognizer (line 8) | function createRecognizer() {
function createVad (line 31) | function createVad() {
FILE: nodejs-addon-examples/test_vad_microphone.js
function createVad (line 8) | function createVad() {
FILE: nodejs-addon-examples/test_vad_spoken_language_identification_microphone.js
function createVad (line 8) | function createVad() {
function createSpokenLanguageID (line 31) | function createSpokenLanguageID() {
FILE: nodejs-addon-examples/test_vad_with_non_streaming_asr_moonshine.js
function createRecognizer (line 5) | function createRecognizer() {
function createVad (line 32) | function createVad() {
FILE: nodejs-addon-examples/test_vad_with_non_streaming_asr_whisper.js
function createRecognizer (line 5) | function createRecognizer() {
function createVad (line 28) | function createVad() {
FILE: nodejs-examples/test-keyword-spotter-transducer.js
function createKeywordSpotter (line 4) | function createKeywordSpotter() {
FILE: nodejs-examples/test-offline-dolphin-ctc.js
function createOfflineRecognizer (line 9) | function createOfflineRecognizer() {
FILE: nodejs-examples/test-offline-fire-red-asr-ctc.js
function createOfflineRecognizer (line 8) | function createOfflineRecognizer() {
FILE: nodejs-examples/test-offline-fire-red-asr.js
function createOfflineRecognizer (line 5) | function createOfflineRecognizer() {
FILE: nodejs-examples/test-offline-funasr-nano.js
function createOfflineRecognizer (line 9) | function createOfflineRecognizer() {
FILE: nodejs-examples/test-offline-medasr-ctc.js
function createOfflineRecognizer (line 8) | function createOfflineRecognizer() {
FILE: nodejs-examples/test-offline-moonshine-v2.js
function createOfflineRecognizer (line 5) | function createOfflineRecognizer() {
FILE: nodejs-examples/test-offline-moonshine.js
function createOfflineRecognizer (line 5) | function createOfflineRecognizer() {
FILE: nodejs-examples/test-offline-nemo-canary.js
function createOfflineRecognizer (line 9) | function createOfflineRecognizer() {
FILE: nodejs-examples/test-offline-nemo-ctc.js
function createOfflineRecognizer (line 9) | function createOfflineRecognizer() {
FILE: nodejs-examples/test-offline-omnilingual-asr-ctc.js
function createOfflineRecognizer (line 9) | function createOfflineRecognizer() {
FILE: nodejs-examples/test-offline-paraformer-itn.js
function createOfflineRecognizer (line 9) | function createOfflineRecognizer() {
FILE: nodejs-examples/test-offline-paraformer.js
function createOfflineRecognizer (line 5) | function createOfflineRecognizer() {
FILE: nodejs-examples/test-offline-sense-voice-with-hr.js
function createOfflineRecognizer (line 5) | function createOfflineRecognizer() {
FILE: nodejs-examples/test-offline-sense-voice.js
function createOfflineRecognizer (line 5) | function createOfflineRecognizer() {
FILE: nodejs-examples/test-offline-speech-enhancement-dpdfnet.js
function createOfflineSpeechDenoiser (line 14) | function createOfflineSpeechDenoiser() {
FILE: nodejs-examples/test-offline-speech-enhancement-gtcrn.js
function createOfflineSpeechDenoiser (line 10) | function createOfflineSpeechDenoiser() {
FILE: nodejs-examples/test-offline-transducer.js
function createOfflineRecognizer (line 5) | function createOfflineRecognizer() {
FILE: nodejs-examples/test-offline-tts-kitten-en.js
function createOfflineTts (line 5) | function createOfflineTts() {
FILE: nodejs-examples/test-offline-tts-kokoro-en.js
function createOfflineTts (line 5) | function createOfflineTts() {
FILE: nodejs-examples/test-offline-tts-kokoro-zh-en.js
function createOfflineTts (line 5) | function createOfflineTts() {
FILE: nodejs-examples/test-offline-tts-matcha-en.js
function createOfflineTts (line 7) | function createOfflineTts() {
FILE: nodejs-examples/test-offline-tts-matcha-zh.js
function createOfflineTts (line 7) | function createOfflineTts() {
FILE: nodejs-examples/test-offline-tts-pocket-en.js
function createOfflineTts (line 5) | function createOfflineTts() {
FILE: nodejs-examples/test-offline-tts-vits-en.js
function createOfflineTts (line 5) | function createOfflineTts() {
FILE: nodejs-examples/test-offline-tts-vits-zh.js
function createOfflineTts (line 5) | function createOfflineTts() {
FILE: nodejs-examples/test-offline-tts-zipvoice-zh-en.js
function createOfflineTts (line 5) | function createOfflineTts() {
FILE: nodejs-examples/test-offline-wenet-ctc.js
function createOfflineRecognizer (line 9) | function createOfflineRecognizer() {
FILE: nodejs-examples/test-offline-whisper.js
function createOfflineRecognizer (line 8) | function createOfflineRecognizer() {
FILE: nodejs-examples/test-offline-zipformer-ctc.js
function createOfflineRecognizer (line 9) | function createOfflineRecognizer() {
FILE: nodejs-examples/test-online-paraformer-microphone-mic.js
function createOnlineRecognizer (line 7) | function createOnlineRecognizer() {
class SpeechSession (line 45) | class SpeechSession {
method constructor (line 46) | constructor() {
method addOrUpdateText (line 53) | addOrUpdateText(text) {
method finalizeSentence (line 58) | finalizeSentence() {
method shouldStartNewSession (line 68) | shouldStartNewSession() {
function formatOutput (line 73) | function formatOutput() {
function clearConsole (line 101) | function clearConsole() {
function exitHandler (line 106) | function exitHandler(options, exitCode) {
function startMic (line 130) | function startMic() {
function main (line 198) | async function main() {
FILE: nodejs-examples/test-online-paraformer-microphone.js
function createOnlineRecognizer (line 8) | function createOnlineRecognizer() {
FILE: nodejs-examples/test-online-paraformer.js
function createOnlineRecognizer (line 9) | function createOnlineRecognizer() {
function decode (line 38) | function decode(samples) {
FILE: nodejs-examples/test-online-speech-enhancement-dpdfnet.js
function createOnlineSpeechDenoiser (line 11) | function createOnlineSpeechDenoiser() {
FILE: nodejs-examples/test-online-speech-enhancement-gtcrn.js
function createOnlineSpeechDenoiser (line 11) | function createOnlineSpeechDenoiser() {
FILE: nodejs-examples/test-online-t-one-ctc.js
function createOnlineRecognizer (line 9) | function createOnlineRecognizer() {
FILE: nodejs-examples/test-online-transducer-itn.js
function createOnlineRecognizer (line 9) | function createOnlineRecognizer() {
function decode (line 59) | function decode(samples) {
FILE: nodejs-examples/test-online-transducer-microphone.js
function createOnlineRecognizer (line 8) | function createOnlineRecognizer() {
FILE: nodejs-examples/test-online-transducer.js
function createOnlineRecognizer (line 9) | function createOnlineRecognizer() {
function decode (line 41) | function decode(samples) {
FILE: nodejs-examples/test-online-zipformer2-ctc-hlg.js
function createOnlineRecognizer (line 9) | function createOnlineRecognizer() {
function decode (line 56) | function decode(samples) {
FILE: nodejs-examples/test-online-zipformer2-ctc.js
function createOnlineRecognizer (line 9) | function createOnlineRecognizer() {
function decode (line 52) | function decode(samples) {
FILE: nodejs-examples/test-vad-with-non-streaming-asr-moonshine.js
function createRecognizer (line 5) | function createRecognizer() {
function createVad (line 26) | function createVad() {
FILE: nodejs-examples/test-vad-with-non-streaming-asr-whisper.js
function createRecognizer (line 5) | function createRecognizer() {
function createVad (line 23) | function createVad() {
FILE: python-api-examples/add-punctuation-online.py
function main (line 21) | def main():
FILE: python-api-examples/add-punctuation.py
function main (line 21) | def main():
FILE: python-api-examples/audio-tagging-from-a-file-ced.py
function read_test_wave (line 18) | def read_test_wave():
function create_audio_tagger (line 43) | def create_audio_tagger():
function main (line 81) | def main():
FILE: python-api-examples/audio-tagging-from-a-file.py
function read_test_wave (line 18) | def read_test_wave():
function create_audio_tagger (line 43) | def create_audio_tagger():
function main (line 83) | def main():
FILE: python-api-examples/generate-subtitles.py
function get_args (line 136) | def get_args():
function assert_file_exists (line 344) | def assert_file_exists(filename: str):
function create_recognizer (line 352) | def create_recognizer(args) -> sherpa_onnx.OfflineRecognizer:
class Segment (line 510) | class Segment:
method end (line 516) | def end(self):
method __str__ (line 519) | def __str__(self):
function main (line 529) | def main():
FILE: python-api-examples/http_server.py
function read_file (line 47) | def read_file(root: str, name: str) -> str:
class HttpServer (line 56) | class HttpServer:
method __init__ (line 61) | def __init__(self, doc_root: str):
method process_request (line 67) | def process_request(self, f: str) -> Tuple[str, str, str]:
FILE: python-api-examples/inverse-text-normalization-offline-asr.py
function create_recognizer (line 38) | def create_recognizer():
function main (line 61) | def main():
FILE: python-api-examples/inverse-text-normalization-online-asr.py
function create_recognizer (line 36) | def create_recognizer():
function main (line 65) | def main():
FILE: python-api-examples/keyword-spotter-from-microphone.py
function assert_file_exists (line 28) | def assert_file_exists(filename: str):
function get_args (line 36) | def get_args():
function main (line 133) | def main():
FILE: python-api-examples/keyword-spotter.py
function read_wave (line 21) | def read_wave(wave_filename: str) -> Tuple[np.ndarray, int]:
function create_keyword_spotter (line 46) | def create_keyword_spotter():
function main (line 60) | def main():
FILE: python-api-examples/non_streaming_server.py
function setup_logger (line 168) | def setup_logger(
function add_transducer_model_args (line 214) | def add_transducer_model_args(parser: argparse.ArgumentParser):
function add_paraformer_model_args (line 237) | def add_paraformer_model_args(parser: argparse.ArgumentParser):
function add_sense_voice_model_args (line 246) | def add_sense_voice_model_args(parser: argparse.ArgumentParser):
function add_nemo_ctc_model_args (line 255) | def add_nemo_ctc_model_args(parser: argparse.ArgumentParser):
function add_telespeech_ctc_model_args (line 264) | def add_telespeech_ctc_model_args(parser: argparse.ArgumentParser):
function add_wenet_ctc_model_args (line 273) | def add_wenet_ctc_model_args(parser: argparse.ArgumentParser):
function add_tdnn_ctc_model_args (line 282) | def add_tdnn_ctc_model_args(parser: argparse.ArgumentParser):
function add_moonshine_model_args (line 291) | def add_moonshine_model_args(parser: argparse.ArgumentParser):
function add_whisper_model_args (line 321) | def add_whisper_model_args(parser: argparse.ArgumentParser):
function add_model_args (line 370) | def add_model_args(parser: argparse.ArgumentParser):
function add_feature_config_args (line 402) | def add_feature_config_args(parser: argparse.ArgumentParser):
function add_decoding_args (line 418) | def add_decoding_args(parser: argparse.ArgumentParser):
function add_modified_beam_search_args (line 432) | def add_modified_beam_search_args(parser: argparse.ArgumentParser):
function add_hotwords_args (line 443) | def add_hotwords_args(parser: argparse.ArgumentParser):
function add_blank_penalty_args (line 468) | def add_blank_penalty_args(parser: argparse.ArgumentParser):
function check_args (line 482) | def check_args(args):
function get_args (line 503) | def get_args():
class NonStreamingServer (line 598) | class NonStreamingServer:
method __init__ (line 599) | def __init__(
method process_request (line 660) | async def process_request(
method run (line 716) | async def run(self, port: int):
method recv_audio_samples (line 755) | async def recv_audio_samples(
method stream_consumer_task (line 822) | async def stream_consumer_task(self):
method compute_and_decode (line 854) | async def compute_and_decode(
method handle_connection (line 870) | async def handle_connection(
method handle_connection_impl (line 894) | async def handle_connection_impl(
function assert_file_exists (line 932) | def assert_file_exists(filename: str):
function create_recognizer (line 940) | def create_recognizer(args) -> sherpa_onnx.OfflineRecognizer:
function main (line 1153) | def main():
FILE: python-api-examples/offline-decode-files.py
function get_args (line 116) | def get_args():
function assert_file_exists (line 361) | def assert_file_exists(filename: str):
function read_wave (line 369) | def read_wave(wave_filename: str) -> Tuple[np.ndarray, int]:
function main (line 394) | def main():
FILE: python-api-examples/offline-dolphin-ctc-decode-files.py
function create_recognizer (line 18) | def create_recognizer():
function main (line 41) | def main():
FILE: python-api-examples/offline-fire-red-asr-ctc-decode-files.py
function create_recognizer (line 26) | def create_recognizer():
function load_audio (line 75) | def load_audio(filename):
function decode_single_file (line 82) | def decode_single_file(recognizer, filename):
function decode_multiple_files (line 105) | def decode_multiple_files(recognizer, filenames):
function main (line 139) | def main():
FILE: python-api-examples/offline-fire-red-asr-decode-files.py
function create_recognizer (line 24) | def create_recognizer():
function main (line 58) | def main():
FILE: python-api-examples/offline-funasr-nano-decode-files.py
function get_args (line 34) | def get_args():
function create_recognizer (line 171) | def create_recognizer(args) -> sherpa_onnx.OfflineRecognizer:
function decode_file (line 192) | def decode_file(
function main (line 207) | def main():
FILE: python-api-examples/offline-medasr-ctc-decode-files.py
function create_recognizer (line 26) | def create_recognizer():
function load_audio (line 69) | def load_audio(filename):
function decode_single_file (line 76) | def decode_single_file(recognizer, filename):
function decode_multiple_files (line 99) | def decode_multiple_files(recognizer, filenames):
function main (line 133) | def main():
FILE: python-api-examples/offline-moonshine-decode-files-v2.py
function create_recognizer (line 25) | def create_recognizer():
function main (line 50) | def main():
FILE: python-api-examples/offline-moonshine-decode-files.py
function create_recognizer (line 25) | def create_recognizer():
function main (line 53) | def main():
FILE: python-api-examples/offline-nemo-canary-decode-files.py
function create_recognizer (line 26) | def create_recognizer():
function decode (line 52) | def decode(recognizer, samples, sample_rate, src_lang, tgt_lang):
function main (line 71) | def main():
FILE: python-api-examples/offline-nemo-ctc-decode-files.py
function create_recognizer (line 21) | def create_recognizer():
function main (line 51) | def main():
FILE: python-api-examples/offline-nemo-transducer-decode-files.py
function create_recognizer (line 21) | def create_recognizer():
function main (line 56) | def main():
FILE: python-api-examples/offline-omnilingual-asr-ctc-decode-files.py
function create_recognizer (line 26) | def create_recognizer():
function load_audio (line 56) | def load_audio(filename):
function decode_single_file (line 67) | def decode_single_file(recognizer, filename):
function decode_multiple_files (line 90) | def decode_multiple_files(recognizer, filenames):
function main (line 124) | def main():
FILE: python-api-examples/offline-omnilingual-asr-ctc-v2-decode-files.py
function create_recognizer (line 26) | def create_recognizer():
function load_audio (line 54) | def load_audio(filename):
function decode_single_file (line 65) | def decode_single_file(recognizer, filename):
function decode_multiple_files (line 88) | def decode_multiple_files(recognizer, filenames):
function main (line 122) | def main():
FILE: python-api-examples/offline-sense-voice-ctc-decode-files-with-hr.py
function create_recognizer (line 31) | def create_recognizer():
function main (line 57) | def main():
FILE: python-api-examples/offline-sense-voice-ctc-decode-files.py
function create_recognizer (line 24) | def create_recognizer():
function main (line 50) | def main():
FILE: python-api-examples/offline-source-separation-spleeter.py
function create_offline_source_separation (line 36) | def create_offline_source_separation():
function load_audio (line 65) | def load_audio():
function main (line 86) | def main():
FILE: python-api-examples/offline-source-separation-uvr.py
function create_offline_source_separation (line 36) | def create_offline_source_separation():
function load_audio (line 60) | def load_audio():
function main (line 81) | def main():
FILE: python-api-examples/offline-speaker-diarization.py
function resample_audio (line 45) | def resample_audio(audio, sample_rate, target_sample_rate):
function init_speaker_diarization (line 57) | def init_speaker_diarization(num_speakers: int = -1, cluster_threshold: ...
function progress_callback (line 96) | def progress_callback(num_processed_chunk: int, num_total_chunks: int) -...
function main (line 102) | def main():
FILE: python-api-examples/offline-speech-enhancement-dpdfnet.py
function create_speech_denoiser (line 34) | def create_speech_denoiser():
function load_audio (line 61) | def load_audio(filename: str) -> Tuple[np.ndarray, int]:
function main (line 72) | def main():
FILE: python-api-examples/offline-speech-enhancement-gtcrn.py
function create_speech_denoiser (line 24) | def create_speech_denoiser():
function load_audio (line 48) | def load_audio(filename: str) -> Tuple[np.ndarray, int]:
function main (line 59) | def main():
FILE: python-api-examples/offline-telespeech-ctc-decode-files.py
function create_recognizer (line 20) | def create_recognizer():
function main (line 43) | def main():
FILE: python-api-examples/offline-tts-play.py
function add_vits_args (line 175) | def add_vits_args(parser):
function add_matcha_args (line 206) | def add_matcha_args(parser):
function add_kokoro_args (line 244) | def add_kokoro_args(parser):
function add_kitten_args (line 281) | def add_kitten_args(parser):
function get_args (line 311) | def get_args():
function generated_audio_callback (line 404) | def generated_audio_callback(samples: np.ndarray, progress: float):
function play_audio_callback (line 434) | def play_audio_callback(
function play_audio (line 469) | def play_audio():
function main (line 497) | def main():
FILE: python-api-examples/offline-tts.py
function add_vits_args (line 162) | def add_vits_args(parser):
function add_matcha_args (line 193) | def add_matcha_args(parser):
function add_kokoro_args (line 231) | def add_kokoro_args(parser):
function add_kitten_args (line 268) | def add_kitten_args(parser):
function get_args (line 298) | def get_args():
function main (line 380) | def main():
FILE: python-api-examples/offline-websocket-client-decode-files-paralell.py
function get_args (line 47) | def get_args():
function read_wave (line 80) | def read_wave(wave_filename: str) -> Tuple[np.ndarray, int]:
function run (line 105) | async def run(
function main (line 137) | async def main():
FILE: python-api-examples/offline-websocket-client-decode-files-sequential.py
function get_args (line 47) | def get_args():
function read_wave (line 80) | def read_wave(wave_filename: str) -> Tuple[np.ndarray, int]:
function run (line 105) | async def run(
function main (line 139) | async def main():
FILE: python-api-examples/offline-whisper-decode-files.py
function create_recognizer (line 25) | def create_recognizer():
function main (line 48) | def main():
FILE: python-api-examples/offline-zipformer-ctc-decode-files.py
function create_recognizer (line 18) | def create_recognizer():
function main (line 39) | def main():
FILE: python-api-examples/online-decode-files.py
function get_args (line 97) | def get_args():
function assert_file_exists (line 297) | def assert_file_exists(filename: str):
function read_wave (line 305) | def read_wave(wave_filename: str) -> Tuple[np.ndarray, int]:
function main (line 330) | def main():
FILE: python-api-examples/online-nemo-ctc-decode-files.py
function create_recognizer (line 22) | def create_recognizer():
function main (line 44) | def main():
FILE: python-api-examples/online-speech-enhancement-dpdfnet.py
function create_speech_denoiser (line 17) | def create_speech_denoiser():
function load_audio (line 44) | def load_audio(filename: str):
function main (line 50) | def main():
FILE: python-api-examples/online-speech-enhancement-gtcrn.py
function create_speech_denoiser (line 17) | def create_speech_denoiser():
function load_audio (line 43) | def load_audio(filename: str):
function main (line 49) | def main():
FILE: python-api-examples/online-t-one-ctc-decode-files.py
function create_recognizer (line 28) | def create_recognizer():
function main (line 49) | def main():
FILE: python-api-examples/online-websocket-client-decode-file.py
function read_wave (line 45) | def read_wave(wave_filename: str) -> np.ndarray:
function get_args (line 68) | def get_args():
function receive_results (line 111) | async def receive_results(socket: websockets.WebSocketServerProtocol):
function run (line 122) | async def run(
function main (line 158) | async def main():
FILE: python-api-examples/online-websocket-client-microphone.py
function get_args (line 51) | def get_args():
function inputstream_generator (line 73) | async def inputstream_generator(channels=1):
function receive_results (line 104) | async def receive_results(socket: websockets.WebSocketServerProtocol):
function run (line 117) | async def run(
function main (line 138) | async def main():
FILE: python-api-examples/online-zipformer-ctc-hlg-decode-file.py
function get_args (line 32) | def get_args():
function assert_file_exists (line 92) | def assert_file_exists(filename: str):
function read_wave (line 100) | def read_wave(wave_filename: str) -> Tuple[np.ndarray, int]:
function main (line 125) | def main():
FILE: python-api-examples/pocket-tts-play.py
function create_tts (line 51) | def create_tts():
function generated_audio_callback (line 98) | def generated_audio_callback(samples: np.ndarray, progress: float):
function play_audio_callback (line 128) | def play_audio_callback(
function play_audio (line 163) | def play_audio():
function main (line 191) | def main():
FILE: python-api-examples/pocket-tts.py
function create_tts (line 38) | def create_tts():
function main (line 63) | def main():
FILE: python-api-examples/simulate-streaming-paraformer-microphone.py
function get_args (line 52) | def get_args():
function assert_file_exists (line 101) | def assert_file_exists(filename: str):
function create_recognizer (line 109) | def create_recognizer(args) -> sherpa_onnx.OfflineRecognizer:
function start_recording (line 123) | def start_recording():
function main (line 135) | def main():
FILE: python-api-examples/simulate-streaming-sense-voice-microphone.py
function get_args (line 49) | def get_args():
function assert_file_exists (line 98) | def assert_file_exists(filename: str):
function create_recognizer (line 106) | def create_recognizer(args) -> sherpa_onnx.OfflineRecognizer:
function start_recording (line 121) | def start_recording():
function main (line 133) | def main():
FILE: python-api-examples/speaker-identification-with-vad-dynamic.py
function get_args (line 53) | def get_args():
function load_speaker_embedding_model (line 98) | def load_speaker_embedding_model(args):
function compute_speaker_embedding (line 111) | def compute_speaker_embedding(
function main (line 137) | def main():
FILE: python-api-examples/speaker-identification-with-vad-non-streaming-asr-alsa.py
function register_non_streaming_asr_model_args (line 74) | def register_non_streaming_asr_model_args(parser):
function get_args (line 180) | def get_args():
function assert_file_exists (line 260) | def assert_file_exists(filename: str):
function create_recognizer (line 268) | def create_recognizer(args) ->
Copy disabled (too large)
Download .json
Condensed preview — 4274 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (14,018K chars).
[
{
"path": ".clang-format",
"chars": 3136,
"preview": "---\nBasedOnStyle: Google\n---\nLanguage: Cpp\nCpp11BracedListStyle: true\nStandard: Cpp11\nDeri"
},
{
"path": ".clang-tidy",
"chars": 2488,
"preview": "---\n# NOTE there must be no spaces before the '-', so put the comma last.\n# The check bugprone-unchecked-optional-access"
},
{
"path": ".flake8",
"chars": 94,
"preview": "[flake8]\nshow-source=true\nstatistics=true\nmax-line-length = 120\n\nexclude =\n .git,\n ./cmake,\n"
},
{
"path": ".github/scripts/.gitignore",
"chars": 31,
"preview": "Makefile\n*.jar\nhs_err_pid*.log\n"
},
{
"path": ".github/scripts/as-cmake-sub-project/CMakeLists.txt",
"chars": 605,
"preview": "cmake_minimum_required(VERSION 3.13 FATAL_ERROR)\n\nproject(use-of-sherpa-onnx-as-a-sub-project)\n\nif(NOT EXISTS \"${CMAKE_C"
},
{
"path": ".github/scripts/as-cmake-sub-project/main.cc",
"chars": 282,
"preview": "#include \"sherpa-onnx/csrc/offline-recognizer.h\"\n#include \"sherpa-onnx/csrc/parse-options.h\"\n\nint main(int32_t argc, cha"
},
{
"path": ".github/scripts/export-ascend/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": ".github/scripts/export-ascend/generate_paraformer.py",
"chars": 1002,
"preview": "#!/usr/bin/env python3\n# Copyright 2025 Xiaomi Corp. (authors: Fangjun Kuang)\n\nimport itertools\nimport json\nf"
},
{
"path": ".github/scripts/export-ascend/generate_sense_voice.py",
"chars": 998,
"preview": "#!/usr/bin/env python3\n# Copyright 2025 Xiaomi Corp. (authors: Fangjun Kuang)\n\nimport itertools\nimport json\nf"
},
{
"path": ".github/scripts/export-ascend/generate_whisper.py",
"chars": 1156,
"preview": "#!/usr/bin/env python3\n# Copyright 2026 Xiaomi Corp. (authors: Fangjun Kuang)\n\nimport itertools\nimport json\nf"
},
{
"path": ".github/scripts/export-ascend/generate_zipformer_ctc_20250703.py",
"chars": 2624,
"preview": "#!/usr/bin/env python3\n# Copyright 2025 Xiaomi Corp. (authors: Fangjun Kuang)\n\nimport itertools\nimport json\nf"
},
{
"path": ".github/scripts/export-qnn/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": ".github/scripts/export-qnn/generate_paraformer.py",
"chars": 1079,
"preview": "#!/usr/bin/env python3\n# Copyright 2025 Xiaomi Corp. (authors: Fangjun Kuang)\n\nimport json\n\nfrom device_info "
},
{
"path": ".github/scripts/export-qnn/generate_sense_voice.py",
"chars": 1077,
"preview": "#!/usr/bin/env python3\n# Copyright 2025 Xiaomi Corp. (authors: Fangjun Kuang)\n\nimport json\n\nfrom device_info "
},
{
"path": ".github/scripts/export-qnn/generate_zipformer.py",
"chars": 1283,
"preview": "#!/usr/bin/env python3\n# Copyright 2025 Xiaomi Corp. (authors: Fangjun Kuang)\n\nimport json\n\nfrom device_info "
},
{
"path": ".github/scripts/node-addon/README-optional.md",
"chars": 94,
"preview": "# Introduction\n\nPlease see [sherpa-onnx-node](https://www.npmjs.com/package/sherpa-onnx-node)\n"
},
{
"path": ".github/scripts/node-addon/README.md",
"chars": 343,
"preview": "# Introduction\n\nPlease see\nhttps://github.com/k2-fsa/sherpa-onnx/blob/master/nodejs-addon-examples/README.md\nfor usages."
},
{
"path": ".github/scripts/node-addon/index.js",
"chars": 48,
"preview": "module.exports = require('./sherpa-onnx.node');\n"
},
{
"path": ".github/scripts/node-addon/notes.md",
"chars": 432,
"preview": "# Introduction\n\nSee also\n\n - https://github.com/WonderInventions/node-webrtc/blob/develop/package.json\n - https://stac"
},
{
"path": ".github/scripts/node-addon/package-optional.json",
"chars": 1464,
"preview": "{\n \"name\": \"sherpa-onnx-PLATFORM2-ARCH\",\n \"version\": \"SHERPA_ONNX_VERSION\",\n \"description\": \"Speech-to-text, text-to-"
},
{
"path": ".github/scripts/node-addon/package.json",
"chars": 1755,
"preview": "{\n \"name\": \"sherpa-onnx-node\",\n \"version\": \"SHERPA_ONNX_VERSION\",\n \"description\": \"Speech-to-text, text-to-speech, sp"
},
{
"path": ".github/scripts/test-audio-tagging.sh",
"chars": 956,
"preview": "#!/usr/bin/env bash\n\nset -ex\n\nlog() {\n # This function is from espnet\n local fname=${BASH_SOURCE[1]##*/}\n echo -e \"$("
},
{
"path": ".github/scripts/test-c-api.sh",
"chars": 2435,
"preview": "#!/usr/bin/env bash\n\nset -ex\n\nlog() {\n # This function is from espnet\n local fname=${BASH_SOURCE[1]##*/}\n echo -e \"$("
},
{
"path": ".github/scripts/test-cxx-api.sh",
"chars": 1837,
"preview": "#!/usr/bin/env bash\n\nset -ex\n\nlog() {\n # This function is from espnet\n local fname=${BASH_SOURCE[1]##*/}\n echo -e \"$("
},
{
"path": ".github/scripts/test-dart.sh",
"chars": 4690,
"preview": "#!/usr/bin/env bash\n\nset -ex\n\ncd dart-api-examples\n\npushd speech-enhancement-gtcrn\necho \"speech enhancement with gtcrn m"
},
{
"path": ".github/scripts/test-dot-net.sh",
"chars": 3054,
"preview": "#!/usr/bin/env bash\n\nset -ex\n\ncd dotnet-examples/\n\ncd ./supertonic-tts\n./run.sh\nls -lh\nrm -rf sherpa-onnx-supertonic-*\n\n"
},
{
"path": ".github/scripts/test-kws.sh",
"chars": 2178,
"preview": "#!/usr/bin/env bash\n\nset -e\n\nlog() {\n # This function is from espnet\n local fname=${BASH_SOURCE[1]##*/}\n echo -e \"$(d"
},
{
"path": ".github/scripts/test-nodejs-addon-npm.sh",
"chars": 20528,
"preview": "#!/usr/bin/env bash\n\nset -ex\n\nd=nodejs-addon-examples\necho \"dir: $d\"\ncd $d\n\narch=$(node -p \"require('os').arch()\")\nplatf"
},
{
"path": ".github/scripts/test-nodejs-npm.sh",
"chars": 14228,
"preview": "#!/usr/bin/env bash\n\nset -ex\n\necho \"dir: $d\"\ncd $d\nnpm install\ngit status\nls -lh\nls -lh node_modules\n\necho \"---test moon"
},
{
"path": ".github/scripts/test-offline-ctc.sh",
"chars": 13074,
"preview": "#!/usr/bin/env bash\n\nset -e\n\nlog() {\n # This function is from espnet\n local fname=${BASH_SOURCE[1]##*/}\n echo -e \"$(d"
},
{
"path": ".github/scripts/test-offline-fire-red-asr.sh",
"chars": 957,
"preview": "#!/usr/bin/env bash\n\nset -e\n\nlog() {\n # This function is from espnet\n local fname=${BASH_SOURCE[1]##*/}\n echo -e \"$(d"
},
{
"path": ".github/scripts/test-offline-moonshine.sh",
"chars": 1363,
"preview": "#!/usr/bin/env bash\n\nset -e\n\nlog() {\n # This function is from espnet\n local fname=${BASH_SOURCE[1]##*/}\n echo -e \"$(d"
},
{
"path": ".github/scripts/test-offline-punctuation.sh",
"chars": 1233,
"preview": "#!/usr/bin/env bash\n\nset -ex\n\nlog() {\n # This function is from espnet\n local fname=${BASH_SOURCE[1]##*/}\n echo -e \"$("
},
{
"path": ".github/scripts/test-offline-source-separation.sh",
"chars": 1887,
"preview": "#!/usr/bin/env bash\n\nset -ex\n\nlog() {\n # This function is from espnet\n local fname=${BASH_SOURCE[1]##*/}\n echo -e \"$("
},
{
"path": ".github/scripts/test-offline-speech-denoiser.sh",
"chars": 880,
"preview": "#!/usr/bin/env bash\n\nset -ex\n\nlog() {\n # This function is from espnet\n local fname=${BASH_SOURCE[1]##*/}\n echo -e \"$("
},
{
"path": ".github/scripts/test-offline-transducer.sh",
"chars": 12028,
"preview": "#!/usr/bin/env bash\n\nset -e\n\nlog() {\n # This function is from espnet\n local fname=${BASH_SOURCE[1]##*/}\n echo -e \"$(d"
},
{
"path": ".github/scripts/test-offline-tts.sh",
"chars": 11350,
"preview": "#!/usr/bin/env bash\n\nset -e\n\nlog() {\n # This function is from espnet\n local fname=${BASH_SOURCE[1]##*/}\n echo -e \"$(d"
},
{
"path": ".github/scripts/test-offline-whisper.sh",
"chars": 1534,
"preview": "#!/usr/bin/env bash\n\nset -e\n\nlog() {\n # This function is from espnet\n local fname=${BASH_SOURCE[1]##*/}\n echo -e \"$(d"
},
{
"path": ".github/scripts/test-online-ctc.sh",
"chars": 3499,
"preview": "#!/usr/bin/env bash\n\nset -ex\n\nlog() {\n # This function is from espnet\n local fname=${BASH_SOURCE[1]##*/}\n echo -e \"$("
},
{
"path": ".github/scripts/test-online-paraformer.sh",
"chars": 1407,
"preview": "#!/usr/bin/env bash\n\nset -e\n\nlog() {\n # This function is from espnet\n local fname=${BASH_SOURCE[1]##*/}\n echo -e \"$(d"
},
{
"path": ".github/scripts/test-online-punctuation.sh",
"chars": 1253,
"preview": "#!/usr/bin/env bash\n\nset -ex\n\necho \"TODO(fangjun): Skip this test since the sanitizer test is failed. We need to fix it\""
},
{
"path": ".github/scripts/test-online-transducer.sh",
"chars": 9330,
"preview": "#!/usr/bin/env bash\n\nset -e\n\nlog() {\n # This function is from espnet\n local fname=${BASH_SOURCE[1]##*/}\n echo -e \"$(d"
},
{
"path": ".github/scripts/test-python.sh",
"chars": 30020,
"preview": "#!/usr/bin/env bash\n\nset -ex\n\nlog() {\n # This function is from espnet\n local fname=${BASH_SOURCE[1]##*/}\n echo -e \"$("
},
{
"path": ".github/scripts/test-rust.sh",
"chars": 2103,
"preview": "#!/usr/bin/env bash\n\nset -ex\n\ncd rust-api-examples\n\n./run-audio-tagging-zipformer.sh\nrm -rf sherpa-onnx-zipformer-small-"
},
{
"path": ".github/scripts/test-speaker-diarization.sh",
"chars": 1378,
"preview": "#!/usr/bin/env bash\n\nset -ex\n\nlog() {\n # This function is from espnet\n local fname=${BASH_SOURCE[1]##*/}\n echo -e \"$("
},
{
"path": ".github/scripts/test-speaker-recognition-python.sh",
"chars": 2070,
"preview": "#!/usr/bin/env bash\n\nset -ex\n\nlog() {\n # This function is from espnet\n local fname=${BASH_SOURCE[1]##*/}\n echo -e \"$("
},
{
"path": ".github/scripts/test-spoken-language-identification.sh",
"chars": 2517,
"preview": "#!/usr/bin/env bash\n\nset -e\n\nlog() {\n # This function is from espnet\n local fname=${BASH_SOURCE[1]##*/}\n echo -e \"$(d"
},
{
"path": ".github/scripts/test-swift.sh",
"chars": 2588,
"preview": "#!/usr/bin/env bash\n\nset -ex\n\necho \"pwd: $PWD\"\n\ncd swift-api-examples\nls -lh\n\n./run-test-version.sh\n\n./run-moonshine-v2-"
},
{
"path": ".github/workflows/.gitignore",
"chars": 8,
"preview": "!*.yaml\n"
},
{
"path": ".github/workflows/aarch64-linux-gnu-shared.yaml",
"chars": 8380,
"preview": "# Modified from https://github.com/Tencent/ncnn/blob/master/.github/workflows/linux-arm-cpu-gcc.yml\nname: aarch64-linux-"
},
{
"path": ".github/workflows/aarch64-linux-gnu-static.yaml",
"chars": 6155,
"preview": "# Modified from https://github.com/Tencent/ncnn/blob/master/.github/workflows/linux-arm-cpu-gcc.yml\nname: aarch64-linux-"
},
{
"path": ".github/workflows/add-new-asr-models.yaml",
"chars": 2547,
"preview": "name: add-new-asr-models\n\non:\n # push:\n # branches:\n # - new-asr-models\n workflow_dispatch:\n\nconcurrency:\n gr"
},
{
"path": ".github/workflows/android-rknn.yaml",
"chars": 9038,
"preview": "name: android-rknn\n\non:\n push:\n branches:\n - master\n paths:\n - '.github/workflows/android-rknn.yaml'\n "
},
{
"path": ".github/workflows/android-static.yaml",
"chars": 10002,
"preview": "# static means we link onnxruntime statically\n# but we still have libsherpa-onnx-jni.so\nname: android-static\n\non:\n push"
},
{
"path": ".github/workflows/android.yaml",
"chars": 10503,
"preview": "name: android\n\non:\n push:\n branches:\n - master\n paths:\n - '.github/workflows/android.yaml'\n - 'cma"
},
{
"path": ".github/workflows/apk-asr-2pass.yaml",
"chars": 5164,
"preview": "name: apk-asr-2pass\n\non:\n push:\n branches:\n - apk\n\n workflow_dispatch:\n\nconcurrency:\n group: apk-asr-2pass-${"
},
{
"path": ".github/workflows/apk-asr.yaml",
"chars": 5109,
"preview": "name: apk-asr\n\non:\n push:\n branches:\n - apk\n\n workflow_dispatch:\n\nconcurrency:\n group: apk-asr-${{ github.ref"
},
{
"path": ".github/workflows/apk-audio-tagging-wearos.yaml",
"chars": 5201,
"preview": "name: apk-audio-tagging-wearos\n\non:\n push:\n branches:\n - apk\n\n workflow_dispatch:\n\nconcurrency:\n group: apk-a"
},
{
"path": ".github/workflows/apk-audio-tagging.yaml",
"chars": 5196,
"preview": "name: apk-audio-tagging\n\non:\n push:\n branches:\n - apk\n\n workflow_dispatch:\n\nconcurrency:\n group: apk-audio-ta"
},
{
"path": ".github/workflows/apk-kws.yaml",
"chars": 4927,
"preview": "name: apk-kws\n\non:\n push:\n branches:\n - apk\n\n workflow_dispatch:\n\nconcurrency:\n group: apk-kws-${{ github.ref"
},
{
"path": ".github/workflows/apk-qnn-vad-asr-simulated-streaming.yaml",
"chars": 5507,
"preview": "name: apk-qnn-vad-asr-simulated-streaming\n\non:\n push:\n branches:\n - apk\n - zipformer-ctc-qnn-2\n\n workflow"
},
{
"path": ".github/workflows/apk-speaker-diarization.yaml",
"chars": 5189,
"preview": "name: apk-speaker-diarization\n\non:\n push:\n branches:\n - apk\n\n workflow_dispatch:\n\nconcurrency:\n group: apk-sp"
},
{
"path": ".github/workflows/apk-speaker-identification.yaml",
"chars": 5251,
"preview": "name: apk-speaker-identification\n\non:\n push:\n branches:\n - apk\n\n workflow_dispatch:\n\nconcurrency:\n group: apk"
},
{
"path": ".github/workflows/apk-spoken-language-identification.yaml",
"chars": 5061,
"preview": "name: apk-slid\n\non:\n push:\n branches:\n - apk\n\n workflow_dispatch:\n\nconcurrency:\n group: apk-slid-${{ github.r"
},
{
"path": ".github/workflows/apk-tts-engine.yaml",
"chars": 5451,
"preview": "name: apk-tts-engine\n\non:\n push:\n branches:\n - apk\n\n workflow_dispatch:\n\nconcurrency:\n group: apk-tts-engine-"
},
{
"path": ".github/workflows/apk-tts.yaml",
"chars": 5347,
"preview": "name: apk-tts\n\non:\n push:\n branches:\n - apk\n\n workflow_dispatch:\n\nconcurrency:\n group: apk-tts-${{ github.ref"
},
{
"path": ".github/workflows/apk-vad-asr-simulated-streaming.yaml",
"chars": 5342,
"preview": "name: apk-vad-asr-simulated-streaming\n\non:\n push:\n branches:\n - apk\n\n workflow_dispatch:\n\nconcurrency:\n group"
},
{
"path": ".github/workflows/apk-vad-asr.yaml",
"chars": 5225,
"preview": "name: apk-vad-asr\n\non:\n push:\n branches:\n - apk\n\n workflow_dispatch:\n\nconcurrency:\n group: apk-vad-asr-${{ gi"
},
{
"path": ".github/workflows/apk-vad.yaml",
"chars": 4927,
"preview": "name: apk-vad\n\non:\n push:\n branches:\n - apk\n\n workflow_dispatch:\n\nconcurrency:\n group: apk-vad-${{ github.ref"
},
{
"path": ".github/workflows/arm-linux-gnueabihf.yaml",
"chars": 5918,
"preview": "# Modified from https://github.com/Tencent/ncnn/blob/master/.github/workflows/linux-arm-cpu-gcc.yml\nname: arm-linux-gnue"
},
{
"path": ".github/workflows/as_cmake_sub_project.yaml",
"chars": 1434,
"preview": "name: as_cmake_sub_project\n\non:\n push:\n branches:\n - master\n\n workflow_dispatch:\n\nconcurrency:\n group: as-cma"
},
{
"path": ".github/workflows/ascend.yaml",
"chars": 2173,
"preview": "name: ascend\n\non:\n push:\n branches:\n - master\n\n workflow_dispatch:\n\nconcurrency:\n group: ascend-${{ github.re"
},
{
"path": ".github/workflows/axcl-linux-aarch64.yaml",
"chars": 6750,
"preview": "name: axcl-linux-aarch64\n\non:\n push:\n branches:\n - master\n tags:\n - 'v[0-9]+.[0-9]+.[0-9]+*'\n paths:"
},
{
"path": ".github/workflows/axera-linux-aarch64.yaml",
"chars": 7332,
"preview": "name: axera-linux-aarch64\n\non:\n push:\n branches:\n - master\n tags:\n - 'v[0-9]+.[0-9]+.[0-9]+*'\n paths"
},
{
"path": ".github/workflows/build-wheels-aarch64-cuda.yaml",
"chars": 4346,
"preview": "name: build-wheels-aarch64-cuda\n\non:\n push:\n branches:\n - wheel\n workflow_dispatch:\n\nenv:\n SHERPA_ONNX_IS_IN_"
},
{
"path": ".github/workflows/build-wheels-aarch64-rknn.yaml",
"chars": 5468,
"preview": "name: build-wheels-aarch64-rknn\n\non:\n push:\n branches:\n - wheel\n workflow_dispatch:\n\nconcurrency:\n group: bui"
},
{
"path": ".github/workflows/build-wheels-aarch64.yaml",
"chars": 12483,
"preview": "name: build-wheels-aarch64\n\non:\n push:\n branches:\n - wheel\n workflow_dispatch:\n inputs:\n publish_sherp"
},
{
"path": ".github/workflows/build-wheels-armv7l.yaml",
"chars": 13760,
"preview": "name: build-wheels-armv7l\n\non:\n push:\n branches:\n - wheel\n workflow_dispatch:\n inputs:\n publish_sherpa"
},
{
"path": ".github/workflows/build-wheels-linux-cuda.yaml",
"chars": 4832,
"preview": "name: build-wheels-linux-cuda\n\non:\n push:\n branches:\n - wheel\n workflow_dispatch:\n\nenv:\n SHERPA_ONNX_IS_IN_GI"
},
{
"path": ".github/workflows/build-wheels-linux.yaml",
"chars": 12740,
"preview": "name: build-wheels-linux\n\non:\n push:\n branches:\n - wheel\n workflow_dispatch:\n inputs:\n publish_sherpa_"
},
{
"path": ".github/workflows/build-wheels-macos-arm64.yaml",
"chars": 9372,
"preview": "name: build-wheels-macos-arm64\n\non:\n push:\n branches:\n - wheel\n workflow_dispatch:\n inputs:\n publish_s"
},
{
"path": ".github/workflows/build-wheels-macos-universal2.yaml",
"chars": 9729,
"preview": "name: build-wheels-macos-universal2\n\non:\n push:\n branches:\n - wheel\n workflow_dispatch:\n inputs:\n publ"
},
{
"path": ".github/workflows/build-wheels-macos-x64.yaml",
"chars": 9569,
"preview": "name: build-wheels-macos-x64\n\non:\n push:\n branches:\n - wheel\n workflow_dispatch:\n inputs:\n publish_she"
},
{
"path": ".github/workflows/build-wheels-win32.yaml",
"chars": 9857,
"preview": "name: build-wheels-win32\n\non:\n push:\n branches:\n - wheel\n workflow_dispatch:\n inputs:\n publish_sherpa_"
},
{
"path": ".github/workflows/build-wheels-win64-cuda.yaml",
"chars": 3308,
"preview": "name: build-wheels-win64-cuda\n\non:\n push:\n branches:\n - wheel\n workflow_dispatch:\n\nenv:\n SHERPA_ONNX_IS_IN_GI"
},
{
"path": ".github/workflows/build-wheels-win64.yaml",
"chars": 10148,
"preview": "name: build-wheels-win64\n\non:\n push:\n branches:\n - wheel\n workflow_dispatch:\n inputs:\n publish_sherpa_"
},
{
"path": ".github/workflows/build-xcframework.yaml",
"chars": 4548,
"preview": "name: build-xcframework\n\non:\n push:\n branches:\n - master\n paths:\n - './build-ios.sh'\n - '.github/w"
},
{
"path": ".github/workflows/c-api-from-buffer.yaml",
"chars": 7890,
"preview": "name: c-api-from-memory\n\non:\n push:\n branches:\n - master\n tags:\n - 'v[0-9]+.[0-9]+.[0-9]+*'\n paths:\n"
},
{
"path": ".github/workflows/c-api.yaml",
"chars": 46387,
"preview": "name: c-api\n\non:\n push:\n branches:\n - master\n paths:\n - '.github/workflows/c-api.yaml'\n - 'cmake/*"
},
{
"path": ".github/workflows/checksum.yaml",
"chars": 547,
"preview": "name: Create checksum\n\non:\n schedule:\n - cron: \"0 1 * * *\" # Runs at 1:00 AM UTC daily\n workflow_dispatch:\n\njobs:\n "
},
{
"path": ".github/workflows/clang-tidy.yaml",
"chars": 1112,
"preview": "name: clang-tidy\n\non:\n push:\n branches:\n - master\n - clang-tidy\n paths:\n - 'sherpa-onnx/csrc/**'\n\n"
},
{
"path": ".github/workflows/cxx-api.yaml",
"chars": 40763,
"preview": "name: cxx-api\n\non:\n push:\n branches:\n - master\n - cxx-api-asr-non-streaming\n paths:\n - '.github/wo"
},
{
"path": ".github/workflows/dot-net.yaml",
"chars": 5161,
"preview": "name: release-nuget-package\n\non:\n workflow_dispatch:\n\nconcurrency:\n group: release-nuget-package\n cancel-in-progress:"
},
{
"path": ".github/workflows/export-3dspeaker-to-onnx.yaml",
"chars": 1992,
"preview": "name: export-3dspeaker-to-onnx\n\non:\n workflow_dispatch:\n\nconcurrency:\n group: export-3dspeaker-to-onnx-${{ github.ref "
},
{
"path": ".github/workflows/export-ced-to-onnx.yaml",
"chars": 2172,
"preview": "name: export-ced-to-onnx\n\non:\n workflow_dispatch:\n\nconcurrency:\n group: export-ced-to-onnx-${{ github.ref }}\n cancel-"
},
{
"path": ".github/workflows/export-dophin-ctc-to-onnx.yaml",
"chars": 1527,
"preview": "name: export-dolphin-ctc-to-onnx\n\non:\n workflow_dispatch:\n\nconcurrency:\n group: export-dolphin-ctc-to-onnx-${{ github."
},
{
"path": ".github/workflows/export-fire-red-asr.yaml",
"chars": 3230,
"preview": "name: export-fire-red-asr-to-onnx\n\non:\n push:\n branches:\n - export-fire-red-asr\n\n workflow_dispatch:\n\nconcurre"
},
{
"path": ".github/workflows/export-gtcrn.yaml",
"chars": 2808,
"preview": "name: export-gtcrn-to-onnx\n\non:\n push:\n branches:\n - export-gtcrn\n\n workflow_dispatch:\n\nconcurrency:\n group: "
},
{
"path": ".github/workflows/export-kitten.yaml",
"chars": 4382,
"preview": "name: export-kitten-to-onnx\n\non:\n push:\n branches:\n - kitten-0.2\n\n workflow_dispatch:\n\nconcurrency:\n group: e"
},
{
"path": ".github/workflows/export-kokoro.yaml",
"chars": 18422,
"preview": "name: export-kokoro-to-onnx\n\non:\n push:\n branches:\n - refactor-kokoro-2\n\n workflow_dispatch:\n\nconcurrency:\n g"
},
{
"path": ".github/workflows/export-libriheavy.yaml",
"chars": 3721,
"preview": "name: export-libriheavy-to-onnx\n\non:\n push:\n branches:\n - libriheavy-model\n workflow_dispatch:\n\nconcurrency:\n "
},
{
"path": ".github/workflows/export-matcha-fa-en.yaml",
"chars": 5933,
"preview": "name: export-matcha-fa-en-to-onnx\n\non:\n push:\n branches:\n - tts-matcha-samples\n\n workflow_dispatch:\n\nconcurren"
},
{
"path": ".github/workflows/export-matcha-zh-en.yaml",
"chars": 5253,
"preview": "name: export-matcha-zh-en-to-onnx\n\non:\n push:\n branches:\n - matcha-zh-en\n\n workflow_dispatch:\n\nconcurrency:\n "
},
{
"path": ".github/workflows/export-medasr-ctc-to-onnx.yaml",
"chars": 4411,
"preview": "name: export-medasr-ctc-to-onnx\n\non:\n push:\n branches:\n - cpp-medasr-2\n workflow_dispatch:\n\nconcurrency:\n gro"
},
{
"path": ".github/workflows/export-melo-tts-to-onnx.yaml",
"chars": 5024,
"preview": "name: export-melo-tts-to-onnx\n\non:\n push:\n branches:\n - export-melo-tts-onnx\n workflow_dispatch:\n\nconcurrency:"
},
{
"path": ".github/workflows/export-moonshine-to-onnx.yaml",
"chars": 4745,
"preview": "name: export-moonshine-to-onnx\n\non:\n push:\n branches:\n - jni-moonshine-v2-2\n workflow_dispatch:\n\nconcurrency:\n"
},
{
"path": ".github/workflows/export-nemo-canary-180m-flash.yaml",
"chars": 3221,
"preview": "name: export-nemo-canary-180m-flash\n\non:\n push:\n branches:\n - export-nemo-canary\n workflow_dispatch:\n\nconcurre"
},
{
"path": ".github/workflows/export-nemo-fast-conformer-hybrid-transducer-ctc-non-streaming.yaml",
"chars": 4737,
"preview": "name: export-nemo-fast-conformer-ctc-non-streaming\n\non:\n workflow_dispatch:\n\nconcurrency:\n group: export-nemo-fast-con"
},
{
"path": ".github/workflows/export-nemo-fast-conformer-hybrid-transducer-ctc.yaml",
"chars": 4196,
"preview": "name: export-nemo-fast-conformer-ctc-to-onnx\n\non:\n workflow_dispatch:\n\nconcurrency:\n group: export-nemo-fast-conformer"
},
{
"path": ".github/workflows/export-nemo-fast-conformer-hybrid-transducer-transducer-non-streaming.yaml",
"chars": 4974,
"preview": "name: export-nemo-fast-conformer-transducer-non-streaming\n\non:\n workflow_dispatch:\n\nconcurrency:\n group: export-nemo-f"
},
{
"path": ".github/workflows/export-nemo-fast-conformer-hybrid-transducer-transducer.yaml",
"chars": 4294,
"preview": "name: export-nemo-fast-conformer-transducer-to-onnx\n\non:\n workflow_dispatch:\n\nconcurrency:\n group: export-nemo-fast-co"
},
{
"path": ".github/workflows/export-nemo-giga-am-to-onnx.yaml",
"chars": 13725,
"preview": "name: export-nemo-giga-am-to-onnx\n\non:\n push:\n branches:\n - export-giga-am-v3\n workflow_dispatch:\n\nconcurrency"
},
{
"path": ".github/workflows/export-nemo-parakeet-tdt-0.6b-v2.yaml",
"chars": 4556,
"preview": "name: export-nemo-parakeet-tdt-0.6b\n\non:\n push:\n branches:\n - export-nemo-parakeet-tdt-0.6b-v2\n workflow_dispa"
},
{
"path": ".github/workflows/export-nemo-parakeet-tdt.yaml",
"chars": 2908,
"preview": "name: export-nemo-parakeet-tdt\n\non:\n push:\n branches:\n - refactor-export-nemo\n workflow_dispatch:\n\nconcurrency"
},
{
"path": ".github/workflows/export-nemo-speaker-verification-to-onnx.yaml",
"chars": 2081,
"preview": "name: export-nemo-speaker-verification-to-onnx\n\non:\n workflow_dispatch:\n\nconcurrency:\n group: export-nemo-speaker-veri"
},
{
"path": ".github/workflows/export-nemotron-speech-streaming-en-0.6b.yaml",
"chars": 7345,
"preview": "name: export-nemotron-speech-streaming-en-06b\n\non:\n push:\n branches:\n - export-nemotron-streaming-2\n workflow_"
},
{
"path": ".github/workflows/export-omnilingual-asr-to-onnx.yaml",
"chars": 8455,
"preview": "name: export-omnilingual-asr-to-onnx\n\non:\n push:\n branches:\n - omnilingual-1b\n workflow_dispatch:\n\nconcurrency"
},
{
"path": ".github/workflows/export-paraformer-to-ascend-npu.yaml",
"chars": 13440,
"preview": "name: export-paraformer-to-ascend-npu\n\non:\n push:\n branches:\n - fix-ascend-2\n workflow_dispatch:\n\nconcurrency:"
},
{
"path": ".github/workflows/export-paraformer-to-qnn.yaml",
"chars": 13560,
"preview": "name: export-paraformer-to-qnn\n\non:\n push:\n branches:\n - export-paraformer-qnn-2\n workflow_dispatch:\n\nconcurre"
},
{
"path": ".github/workflows/export-paraformer-to-rknn.yaml",
"chars": 8589,
"preview": "name: export-paraformer-to-rknn\n\non:\n push:\n branches:\n - ci-paraformer-rknn\n workflow_dispatch:\n\nconcurrency:"
},
{
"path": ".github/workflows/export-peng-cheng-starling.yaml",
"chars": 3361,
"preview": "name: export-peng-cheng-starling-to-onnx\n\non:\n push:\n branches:\n - fix-ci-2\n\n workflow_dispatch:\n\nconcurrency:"
},
{
"path": ".github/workflows/export-piper.yaml",
"chars": 7147,
"preview": "name: export-piper\n\non:\n push:\n branches:\n - export-piper\n workflow_dispatch:\n\nconcurrency:\n group: export-pi"
},
{
"path": ".github/workflows/export-pocket-tts.yaml",
"chars": 9184,
"preview": "name: export-pocket-to-onnx\n\non:\n push:\n branches:\n - export-pocket-tts-2\n\n workflow_dispatch:\n\nconcurrency:\n "
},
{
"path": ".github/workflows/export-pyannote-segmentation-to-onnx.yaml",
"chars": 2489,
"preview": "name: export-pyannote-segmentation-to-onnx\n\non:\n workflow_dispatch:\n\nconcurrency:\n group: export-pyannote-segmentation"
},
{
"path": ".github/workflows/export-revai-segmentation-to-onnx.yaml",
"chars": 2487,
"preview": "name: export-revai-segmentation-to-onnx\n\non:\n workflow_dispatch:\n\nconcurrency:\n group: export-revai-segmentation-to-on"
},
{
"path": ".github/workflows/export-russian-onnx-models.yaml",
"chars": 4176,
"preview": "name: export-russian-onnx-models\n\non:\n workflow_dispatch:\n\nconcurrency:\n group: export-russian-onnx-models-${{ github."
},
{
"path": ".github/workflows/export-sense-voice-to-ascend-npu.yaml",
"chars": 11412,
"preview": "name: export-sense-voice-to-ascend-npu\n\non:\n push:\n branches:\n - fix-ascend-2\n workflow_dispatch:\n\nconcurrency"
},
{
"path": ".github/workflows/export-sense-voice-to-onnx.yaml",
"chars": 6394,
"preview": "name: export-sense-voice-to-onnx\n\non:\n workflow_dispatch:\n\nconcurrency:\n group: export-sense-voice-to-onnx-${{ github."
},
{
"path": ".github/workflows/export-sense-voice-to-qnn.yaml",
"chars": 19509,
"preview": "name: export-sense-voice-to-qnn\n\non:\n push:\n branches:\n - qnn-binary-2\n workflow_dispatch:\n\nconcurrency:\n gro"
},
{
"path": ".github/workflows/export-sense-voice-to-rknn.yaml",
"chars": 8269,
"preview": "name: export-sense-voice-to-rknn\n\non:\n push:\n branches:\n - export-sense-voice-rknn-ci-2\n workflow_dispatch:\n\nc"
},
{
"path": ".github/workflows/export-silero-vad-rknn.yaml",
"chars": 3439,
"preview": "name: export-silero-vad-to-rknn\n\non:\n workflow_dispatch:\n\nconcurrency:\n group: export-silero-vad-to-rknn-${{ github.re"
},
{
"path": ".github/workflows/export-spleeter-to-onnx.yaml",
"chars": 3511,
"preview": "name: export-spleeter-to-onnx\n\non:\n push:\n branches:\n - spleeter-cpp-2\n workflow_dispatch:\n\nconcurrency:\n gro"
},
{
"path": ".github/workflows/export-supertonic.yaml",
"chars": 4610,
"preview": "name: export-supertonic-to-int8-onnx\n\non:\n push:\n branches:\n - ci-supertonic\n\n workflow_dispatch:\n\nconcurrency"
},
{
"path": ".github/workflows/export-t-one-to-onnx.yaml",
"chars": 2822,
"preview": "name: export-t-one-to-onnx\n\non:\n workflow_dispatch:\n\nconcurrency:\n group: export-t-one-to-onnx-${{ github.ref }}\n can"
},
{
"path": ".github/workflows/export-telespeech-ctc.yaml",
"chars": 3050,
"preview": "name: export-telespeech-ctc-to-onnx\n\non:\n workflow_dispatch:\n\nconcurrency:\n group: export-telespeech-ctc-to-onnx-${{ g"
},
{
"path": ".github/workflows/export-uvr-to-onnx.yaml",
"chars": 2782,
"preview": "name: export-uvr-to-onnx\n\non:\n push:\n branches:\n - uvr\n workflow_dispatch:\n\nconcurrency:\n group: export-uvr-t"
},
{
"path": ".github/workflows/export-vits-ljspeech-to-onnx.yaml",
"chars": 2781,
"preview": "name: export-vits-ljspeech-to-onnx\n\non:\n push:\n branches:\n - master\n paths:\n - 'scripts/vits/**'\n "
},
{
"path": ".github/workflows/export-vocos.yaml",
"chars": 2949,
"preview": "name: export-vocos-to-onnx\n\non:\n push:\n branches:\n - export-vocos\n\n workflow_dispatch:\n\nconcurrency:\n group: "
},
{
"path": ".github/workflows/export-wenet-to-onnx.yaml",
"chars": 12713,
"preview": "name: export-wenet-to-onnx\n\non:\n workflow_dispatch:\n\nconcurrency:\n group: export-wenet-to-onnx-${{ github.ref }}\n can"
},
{
"path": ".github/workflows/export-wespeaker-to-onnx.yaml",
"chars": 2125,
"preview": "name: export-wespeaker-to-onnx\n\non:\n workflow_dispatch:\n\nconcurrency:\n group: export-wespeaker-to-onnx-${{ github.ref "
},
{
"path": ".github/workflows/export-whisper-to-ascend-npu.yaml",
"chars": 10181,
"preview": "name: export-whisper-to-ascend-npu\n\non:\n push:\n branches:\n - fix-ascend-2\n workflow_dispatch:\n\nconcurrency:\n "
},
{
"path": ".github/workflows/export-whisper-to-onnx.yaml",
"chars": 7216,
"preview": "name: export-whisper-to-onnx\n\non:\n workflow_dispatch:\n\nconcurrency:\n group: release-whisper-${{ github.ref }}\n cancel"
},
{
"path": ".github/workflows/export-zipformer-ctc-to-ascend-20250703.yaml",
"chars": 8426,
"preview": "name: export-zipformer-ctc-to-ascend-npu-20250703\n\non:\n push:\n branches:\n - fix-ascend-2\n workflow_dispatch:\n\n"
},
{
"path": ".github/workflows/export-zipformer-ctc-to-qnn-20250703.yaml",
"chars": 16234,
"preview": "name: export-zipformer-ctc-to-qnn-20250703\n\non:\n push:\n branches:\n - zipformer-qnn-model-2\n workflow_dispatch:"
},
{
"path": ".github/workflows/flutter-android.yaml",
"chars": 13801,
"preview": "name: flutter-android\n\non:\n push:\n branches:\n - flutter\n tags:\n - 'v[0-9]+.[0-9]+.[0-9]+*'\n\n workflow_"
},
{
"path": ".github/workflows/flutter-linux.yaml",
"chars": 7868,
"preview": "name: flutter-linux\n\non:\n push:\n branches:\n - flutter\n tags:\n - 'v[0-9]+.[0-9]+.[0-9]+*'\n\n workflow_di"
},
{
"path": ".github/workflows/flutter-macos.yaml",
"chars": 6584,
"preview": "name: flutter-macos\n\non:\n push:\n branches:\n - flutter\n tags:\n - 'v[0-9]+.[0-9]+.[0-9]+*'\n\n workflow_di"
},
{
"path": ".github/workflows/flutter-windows-x64.yaml",
"chars": 6226,
"preview": "name: flutter-windows-x64\n\non:\n push:\n branches:\n - flutter\n tags:\n - 'v[0-9]+.[0-9]+.[0-9]+*'\n\n workf"
},
{
"path": ".github/workflows/generate-tts-samples.yaml",
"chars": 3568,
"preview": "name: generate-tts-samples\n\non:\n push:\n branches:\n - tts-samples-2\n\n workflow_dispatch:\n\nconcurrency:\n group:"
},
{
"path": ".github/workflows/hap-vad-asr.yaml",
"chars": 5668,
"preview": "name: hap-vad-asr\n\non:\n push:\n branches:\n - hap\n - hap-ci\n\n workflow_dispatch:\n\nconcurrency:\n group: hap"
},
{
"path": ".github/workflows/har.yaml",
"chars": 7083,
"preview": "name: har\n\non:\n push:\n branches:\n - master\n # - ohos-har\n tags:\n - 'v[0-9]+.[0-9]+.[0-9]+*'\n\n wor"
},
{
"path": ".github/workflows/harmony-os.yaml",
"chars": 5191,
"preview": "name: harmony-os\n\non:\n push:\n branches:\n - master\n - ohos\n tags:\n - 'v[0-9]+.[0-9]+.[0-9]+*'\n\n wo"
},
{
"path": ".github/workflows/jar.yaml",
"chars": 9387,
"preview": "name: jar\n\non:\n push:\n branches:\n - refactor-jar\n tags:\n - 'v[0-9]+.[0-9]+.[0-9]+*'\n\n workflow_dispatc"
},
{
"path": ".github/workflows/jni.yaml",
"chars": 1591,
"preview": "name: jni\n\non:\n push:\n branches:\n - master\n paths:\n - '.github/workflows/jni.yaml'\n - 'cmake/**'\n "
},
{
"path": ".github/workflows/lazarus.yaml",
"chars": 10665,
"preview": "name: lazarus\n\non:\n push:\n branches:\n - master\n - lazarus\n paths:\n - '.github/workflows/lazarus.ya"
},
{
"path": ".github/workflows/linux-gpu.yaml",
"chars": 7711,
"preview": "name: linux-gpu\n\non:\n push:\n branches:\n - master\n tags:\n - 'v[0-9]+.[0-9]+.[0-9]+*'\n paths:\n - "
},
{
"path": ".github/workflows/linux-jni-aarch64.yaml",
"chars": 6076,
"preview": "name: linux-jni-aarch64\n\non:\n push:\n branches:\n - jni\n tags:\n - 'v[0-9]+.[0-9]+.[0-9]+*'\n workflow_dis"
},
{
"path": ".github/workflows/linux-jni.yaml",
"chars": 7641,
"preview": "name: linux-jni\n\non:\n push:\n branches:\n - jni\n tags:\n - 'v[0-9]+.[0-9]+.[0-9]+*'\n workflow_dispatch:\n\n"
},
{
"path": ".github/workflows/linux.yaml",
"chars": 14290,
"preview": "name: linux\n\non:\n push:\n branches:\n - master\n tags:\n - 'v[0-9]+.[0-9]+.[0-9]+*'\n paths:\n - '.gi"
},
{
"path": ".github/workflows/macos-jni.yaml",
"chars": 4231,
"preview": "name: macos-jni\n\non:\n push:\n branches:\n - jni\n tags:\n - 'v[0-9]+.[0-9]+.[0-9]+*'\n\n workflow_dispatch:\n"
},
{
"path": ".github/workflows/macos.yaml",
"chars": 10169,
"preview": "name: macos\n\non:\n push:\n branches:\n - master\n tags:\n - 'v[0-9]+.[0-9]+.[0-9]+*'\n paths:\n - '.gi"
},
{
"path": ".github/workflows/mfc.yaml",
"chars": 5136,
"preview": "name: mfc\n\non:\n push:\n branches:\n - master\n tags:\n - 'v[0-9]+.[0-9]+.[0-9]+*'\n paths:\n - '.gith"
},
{
"path": ".github/workflows/mobile-asr-models.yaml",
"chars": 1813,
"preview": "name: mobile-asr-models\n\non:\n push:\n branches:\n - asr-mobile\n\n workflow_dispatch:\n\nconcurrency:\n group: mobil"
},
{
"path": ".github/workflows/mobile-kws-models.yaml",
"chars": 1770,
"preview": "name: mobile-kws-models\n\non:\n push:\n branches:\n - asr-mobile\n\n workflow_dispatch:\n\nconcurrency:\n group: mobil"
},
{
"path": ".github/workflows/nightly-wheel-arm.yaml",
"chars": 2126,
"preview": "name: nightly-wheel-arm\n\non:\n schedule:\n # minute (0-59)\n # hour (0-23)\n # day of the month (1-31)\n # month"
},
{
"path": ".github/workflows/npm-addon-linux-aarch64.yaml",
"chars": 3533,
"preview": "name: npm-addon-linux-aarch64\n\non:\n push:\n branches:\n - node-addon\n workflow_dispatch:\n\nconcurrency:\n group: "
},
{
"path": ".github/workflows/npm-addon-linux-x64.yaml",
"chars": 3139,
"preview": "name: npm-addon-linux-x64\n\non:\n push:\n branches:\n - node-addon\n workflow_dispatch:\n\nconcurrency:\n group: npm-"
},
{
"path": ".github/workflows/npm-addon-macos.yaml",
"chars": 2944,
"preview": "name: npm-addon-macos\n\non:\n push:\n branches:\n - node-addon\n workflow_dispatch:\n\nconcurrency:\n group: npm-addo"
},
{
"path": ".github/workflows/npm-addon-win-x64.yaml",
"chars": 2946,
"preview": "name: npm-addon-win-x64\n\non:\n push:\n branches:\n - node-addon\n workflow_dispatch:\n\nconcurrency:\n group: npm-ad"
},
{
"path": ".github/workflows/npm-addon-win-x86.yaml",
"chars": 4374,
"preview": "name: npm-addon-win-x86\n\non:\n push:\n branches:\n - node-addon\n workflow_dispatch:\n\nconcurrency:\n group: npm-ad"
},
{
"path": ".github/workflows/npm-addon.yaml",
"chars": 2316,
"preview": "name: npm-addon\n\non:\n push:\n branches:\n - node-addon\n workflow_dispatch:\n\nconcurrency:\n group: npm-addon-${{ "
},
{
"path": ".github/workflows/npm.yaml",
"chars": 2567,
"preview": "name: npm\n\non:\n push:\n branches:\n - npm\n workflow_dispatch:\n\nconcurrency:\n group: npm-${{ github.ref }}\n can"
},
{
"path": ".github/workflows/pascal.yaml",
"chars": 10888,
"preview": "name: pascal\n\non:\n push:\n branches:\n - master\n paths:\n - '.github/workflows/pascal.yaml'\n - 'cmake"
},
{
"path": ".github/workflows/pkg-config.yaml",
"chars": 3960,
"preview": "name: pkg-config\n\non:\n push:\n branches:\n - master\n - pkg-config\n tags:\n - 'v[0-9]+.[0-9]+.[0-9]+*'"
},
{
"path": ".github/workflows/release-dart-package.yaml",
"chars": 18982,
"preview": "name: release-dart\n\non:\n push:\n branches:\n - ci-pub-dart\n tags:\n - 'dart-v[0-9]+.[0-9]+.[0-9]+*' # tag-"
},
{
"path": ".github/workflows/release-go.yaml",
"chars": 699,
"preview": "name: release-go\n\non:\n workflow_dispatch:\n\nconcurrency:\n group: release-go-${{ github.ref }}\n cancel-in-progress: tru"
},
{
"path": ".github/workflows/release-rust.yaml",
"chars": 1151,
"preview": "name: Publish Rust Crates\n\non:\n push:\n branches:\n - release-rust\n\n workflow_dispatch:\n\njobs:\n publish:\n ru"
},
{
"path": ".github/workflows/riscv64-linux.yaml",
"chars": 10764,
"preview": "name: riscv64-linux\n\non:\n push:\n branches:\n - master\n paths:\n - '.github/workflows/riscv64-linux.yaml'\n"
},
{
"path": ".github/workflows/riscv64-spacemit-linux.yaml",
"chars": 11618,
"preview": "name: riscv64-spacemit-linux\n\non:\n push:\n branches:\n - master\n paths:\n - '.github/workflows/riscv64-spa"
},
{
"path": ".github/workflows/rknn-linux-aarch64.yaml",
"chars": 8074,
"preview": "name: rknn-linux-aarch64\n\non:\n push:\n branches:\n - master\n - ci-rknn-bins\n tags:\n - 'v[0-9]+.[0-9]"
},
{
"path": ".github/workflows/run-java-test.yaml",
"chars": 10565,
"preview": "name: run-java-test\n\non:\n push:\n branches:\n - master\n paths:\n - '.github/workflows/run-java-test.yaml'\n"
},
{
"path": ".github/workflows/run-python-test-macos.yaml",
"chars": 2671,
"preview": "name: run-python-test-macos\n\non:\n push:\n branches:\n - master\n paths:\n - '.github/workflows/run-python-t"
},
{
"path": ".github/workflows/run-python-test.yaml",
"chars": 5358,
"preview": "name: run-python-test\n\non:\n push:\n branches:\n - master\n paths:\n - '.github/workflows/run-python-test.ya"
},
{
"path": ".github/workflows/sanitizer.yaml",
"chars": 5351,
"preview": "name: sanitizer\n\non:\n workflow_dispatch:\n\n schedule:\n # minute (0-59)\n # hour (0-23)\n # day of the month (1-3"
},
{
"path": ".github/workflows/speaker-diarization.yaml",
"chars": 3233,
"preview": "name: speaker-diarization\n\non:\n push:\n branches:\n - speaker-diarization\n workflow_dispatch:\n\nconcurrency:\n gr"
},
{
"path": ".github/workflows/style_check.yaml",
"chars": 1458,
"preview": "# Copyright (c) 2022 Xiaomi Corporation (authors: Fangjun Kuang)\n#\n# See ../../LICENSE for clarification regarding mul"
},
{
"path": ".github/workflows/swift.yaml",
"chars": 2739,
"preview": "name: swift\n\non:\n push:\n branches:\n - master\n tags:\n - 'v[0-9]+.[0-9]+.[0-9]+*'\n paths:\n - './b"
},
{
"path": ".github/workflows/test-build-wheel.yaml",
"chars": 3821,
"preview": "name: test-build-wheel\n\non:\n push:\n branches:\n - master\n paths:\n - 'setup.py'\n - '.github/workflow"
},
{
"path": ".github/workflows/test-dart-package.yaml",
"chars": 3139,
"preview": "name: test-dart-package\n\non:\n schedule:\n # minute (0-59)\n # hour (0-23)\n # day of the month (1-31)\n # month"
},
{
"path": ".github/workflows/test-dart.yaml",
"chars": 4823,
"preview": "name: test-dart\n\non:\n push:\n branches:\n - master\n - dart\n paths:\n - '.github/workflows/test-dart.y"
},
{
"path": ".github/workflows/test-dot-net-nuget.yaml",
"chars": 2484,
"preview": "name: test-dot-net-nuget\n\non:\n workflow_dispatch:\n\n schedule:\n # minute (0-59)\n # hour (0-23)\n # day of the m"
},
{
"path": ".github/workflows/test-dot-net.yaml",
"chars": 4956,
"preview": "name: test-dot-net\n\non:\n push:\n branches:\n - master\n paths:\n - '.github/workflows/test-dot-net.yaml'\n "
},
{
"path": ".github/workflows/test-go-package.yaml",
"chars": 19183,
"preview": "name: test-go-package\n\non:\n schedule:\n # minute (0-59)\n # hour (0-23)\n # day of the month (1-31)\n # month ("
},
{
"path": ".github/workflows/test-go.yaml",
"chars": 15608,
"preview": "name: test-go\n\non:\n push:\n branches:\n - master\n paths:\n - '.github/workflows/test-go.yaml'\n - 'cma"
},
{
"path": ".github/workflows/test-nodejs-addon-api.yaml",
"chars": 4329,
"preview": "name: test-node-addon-api\n\non:\n push:\n branches:\n - master\n paths:\n - '.github/workflows/test-nodejs-ad"
},
{
"path": ".github/workflows/test-nodejs-addon-npm-aarch64.yaml",
"chars": 2311,
"preview": "name: test-node-addon-npm-aarch64\n\non:\n push:\n branches:\n - master\n paths:\n - '.github/workflows/test-n"
},
{
"path": ".github/workflows/test-nodejs-addon-npm-win-x86.yaml",
"chars": 2149,
"preview": "name: test-node-addon-npm-win-x86\n\non:\n push:\n branches:\n - master\n paths:\n - '.github/workflows/test-n"
},
{
"path": ".github/workflows/test-nodejs-addon-npm.yaml",
"chars": 2140,
"preview": "name: test-node-addon-npm\n\non:\n push:\n branches:\n - master\n paths:\n - '.github/workflows/test-nodejs-ad"
},
{
"path": ".github/workflows/test-nodejs-npm.yaml",
"chars": 1339,
"preview": "name: test-nodejs-npm\n\non:\n workflow_dispatch:\n\n schedule:\n # minute (0-59)\n # hour (0-23)\n # day of the mont"
},
{
"path": ".github/workflows/test-nodejs.yaml",
"chars": 2732,
"preview": "name: test-nodejs\n\non:\n push:\n branches:\n - master\n paths:\n - '.github/workflows/test-nodejs.yaml'\n "
}
]
// ... and 4074 more files (download for full content)
About this extraction
This page contains the full source code of the k2-fsa/sherpa-onnx GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 4274 files (12.5 MB), approximately 3.5M tokens, and a symbol index with 9364 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.