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-writer.h │ │ ├── sherpa_onnx/ │ │ │ ├── __init__.py │ │ │ ├── cli.py │ │ │ ├── display.py │ │ │ ├── keyword_spotter.py │ │ │ ├── offline_recognizer.py │ │ │ ├── online_recognizer.py │ │ │ └── utils.py │ │ └── tests/ │ │ ├── CMakeLists.txt │ │ ├── test_fast_clustering.py │ │ ├── test_feature_extractor_config.py │ │ ├── test_keyword_spotter.py │ │ ├── test_offline_recognizer.py │ │ ├── test_online_recognizer.py │ │ ├── test_online_transducer_model_config.py │ │ ├── test_speaker_recognition.py │ │ └── test_text2token.py │ └── rust/ │ ├── .gitignore │ ├── .rustfmt.toml │ ├── Cargo.toml │ ├── check.sh │ ├── publish.sh │ ├── sherpa-onnx/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── audio_tagging.rs │ │ ├── display.rs │ │ ├── kws.rs │ │ ├── lib.rs │ │ ├── offline_asr.rs │ │ ├── offline_punctuation.rs │ │ ├── offline_speaker_diarization.rs │ │ ├── offline_speech_denoiser.rs │ │ ├── online_asr.rs │ │ ├── online_punctuation.rs │ │ ├── online_speech_denoiser.rs │ │ ├── speaker_embedding.rs │ │ ├── spoken_language_identification.rs │ │ ├── tts.rs │ │ ├── utils.rs │ │ ├── vad.rs │ │ └── wave.rs │ └── sherpa-onnx-sys/ │ ├── Cargo.toml │ ├── build.rs │ └── src/ │ ├── audio_tagging.rs │ ├── kws.rs │ ├── lib.rs │ ├── offline_asr.rs │ ├── offline_punctuation.rs │ ├── offline_speaker_diarization.rs │ ├── online_asr.rs │ ├── online_punctuation.rs │ ├── speaker_embedding.rs │ ├── speech_denoiser.rs │ ├── spoken_language_identification.rs │ ├── tts.rs │ ├── vad.rs │ └── wave.rs ├── swift-api-examples/ │ ├── .gitignore │ ├── SherpaOnnx-Bridging-Header.h │ ├── SherpaOnnx.swift │ ├── add-punctuation-online.swift │ ├── add-punctuations.swift │ ├── compute-speaker-embeddings.swift │ ├── decode-file-non-streaming.swift │ ├── decode-file-sense-voice-with-hr.swift │ ├── decode-file-t-one-streaming.swift │ ├── decode-file.swift │ ├── dolphin-ctc-asr.swift │ ├── fire-red-asr-ctc.swift │ ├── fire-red-asr.swift │ ├── funasr-nano.swift │ ├── generate-subtitles.swift │ ├── keyword-spotting-from-file.swift │ ├── medasr-ctc.swift │ ├── moonshine-v2-asr.swift │ ├── omnilingual-asr-ctc.swift │ ├── online-speech-enhancement-dpdfnet.swift │ ├── online-speech-enhancement-gtcrn.swift │ ├── run-add-punctuations-online.sh │ ├── run-add-punctuations.sh │ ├── run-compute-speaker-embeddings.sh │ ├── run-decode-file-non-streaming.sh │ ├── run-decode-file-sense-voice-with-hr.sh │ ├── run-decode-file-t-one-streaming.sh │ ├── run-decode-file.sh │ ├── run-dolphin-ctc-asr.sh │ ├── run-fire-red-asr-ctc.sh │ ├── run-fire-red-asr.sh │ ├── run-funasr-nano-asr.sh │ ├── run-generate-subtitles-ten-vad.sh │ ├── run-generate-subtitles.sh │ ├── run-keyword-spotting-from-file.sh │ ├── run-medasr-ctc-asr.sh │ ├── run-moonshine-v2-asr.sh │ ├── run-omnilingual-asr-ctc-asr.sh │ ├── run-online-speech-enhancement-dpdfnet.sh │ ├── run-online-speech-enhancement-gtcrn.sh │ ├── run-speaker-diarization.sh │ ├── run-speech-enhancement-dpdfnet.sh │ ├── run-speech-enhancement-gtcrn.sh │ ├── run-spoken-language-identification.sh │ ├── run-streaming-hlg-decode-file.sh │ ├── run-test-version.sh │ ├── run-tts-kitten-en.sh │ ├── run-tts-kokoro-en.sh │ ├── run-tts-kokoro-zh-en.sh │ ├── run-tts-matcha-en.sh │ ├── run-tts-matcha-zh.sh │ ├── run-tts-pocket-en.sh │ ├── run-tts-supertonic-en.sh │ ├── run-tts-vits.sh │ ├── run-tts-zipvoice.sh │ ├── run-wenet-ctc-asr.sh │ ├── run-zipformer-ctc-asr.sh │ ├── speaker-diarization.swift │ ├── speech-enhancement-dpdfnet.swift │ ├── speech-enhancement-gtcrn.swift │ ├── spoken-language-identification.swift │ ├── streaming-hlg-decode-file.swift │ ├── test-version.swift │ ├── tts-kitten-en.swift │ ├── tts-kokoro-en.swift │ ├── tts-kokoro-zh-en.swift │ ├── tts-matcha-en.swift │ ├── tts-matcha-zh.swift │ ├── tts-pocket-en.swift │ ├── tts-supertonic-en.swift │ ├── tts-vits.swift │ ├── tts-zipvoice.swift │ ├── wenet-ctc-asr.swift │ └── zipformer-ctc-asr.swift ├── toolchains/ │ ├── aarch64-linux-gnu.toolchain.cmake │ ├── arm-linux-gnueabihf.toolchain.cmake │ ├── ios.toolchain.cmake │ ├── riscv64-linux-gnu-spacemit.toolchain.cmake │ └── riscv64-linux-gnu.toolchain.cmake └── wasm/ ├── CMakeLists.txt ├── asr/ │ ├── .gitignore │ ├── CMakeLists.txt │ ├── app-asr.js │ ├── assets/ │ │ ├── .gitignore │ │ └── README.md │ ├── index.html │ ├── sherpa-onnx-asr.js │ └── sherpa-onnx-wasm-main-asr.cc ├── kws/ │ ├── CMakeLists.txt │ ├── app.js │ ├── assets/ │ │ └── README.md │ ├── index.html │ ├── sherpa-onnx-kws.js │ └── sherpa-onnx-wasm-main-kws.cc ├── nodejs/ │ ├── CMakeLists.txt │ ├── sherpa-onnx-wasm-nodejs.cc │ └── sherpa-onnx-wave.js ├── speaker-diarization/ │ ├── CMakeLists.txt │ ├── app-speaker-diarization.js │ ├── assets/ │ │ └── README.md │ ├── index.html │ ├── sherpa-onnx-speaker-diarization.js │ └── sherpa-onnx-wasm-main-speaker-diarization.cc ├── speech-enhancement/ │ ├── CMakeLists.txt │ ├── app-speech-enhancement.js │ ├── assets/ │ │ └── README.md │ ├── index.html │ ├── sherpa-onnx-speech-enhancement.js │ └── sherpa-onnx-wasm-main-speech-enhancement.cc ├── tts/ │ ├── CMakeLists.txt │ ├── app-tts.js │ ├── assets/ │ │ ├── .gitignore │ │ └── README.md │ ├── index.html │ ├── sherpa-onnx-tts.js │ ├── sherpa-onnx-tts.worker.js │ └── sherpa-onnx-wasm-main-tts.cc ├── vad/ │ ├── CMakeLists.txt │ ├── app-vad.js │ ├── assets/ │ │ └── README.md │ ├── index.html │ ├── sherpa-onnx-vad.js │ └── sherpa-onnx-wasm-main-vad.cc └── vad-asr/ ├── CMakeLists.txt ├── app-vad-asr.js ├── assets/ │ └── README.md ├── index.html └── sherpa-onnx-wasm-main-vad-asr.cc