Commit Graph
66 Commits
Author SHA1 Message Date
Fangjun Kuang 0b3647632f Remove espeak-ng and piper-phonemize from sherpa-onnx (#4055)
Fixes #3731

espeak-ng and piper-phonemize are no longer built into sherpa-onnx.

Text frontends are now:

- **lexicon** — built in, no extra dependency
- **phonemize** — phonemize outside sherpa-onnx (e.g. [piper-phonemize](https://github.com/csukuangfj/piper-phonemize)) and pass the result in. That library is GPL, so it stays optional: sherpa-onnx is GPL-free after this PR.

## API

- `SherpaOnnxGenerationConfig` gains `phoneme_codepoints` and `tokens` (mutually exclusive alternatives to `text`)
- `data_dir` on the TTS model configs is deprecated and ignored; the ABI slot is kept
- all bindings updated: C/C++, Python, Java, Kotlin, Go, Rust, C#, Swift, Pascal, Dart/Flutter, node-addon, WASM, HarmonyOS
2026-10-20 11:09:04 +08:00
Fangjun Kuang 6f5327bad8 Add robust download retry logic to all test scripts (#3941) 2026-09-09 17:56:46 +08:00
Fangjun Kuang 75e1fc31e7 Build Python wheels for Windows arm64 (#3812) 2026-07-28 17:05:19 +08:00
Fangjun Kuang ccdaef8bba Add API to get onnxruntime version. (#3810) 2026-07-28 14:02:43 +08:00
matiaslin a2b7ab97e7 Add offline CATT diacritization (encoder only) (#3647) 2026-06-10 14:16:57 +08:00
Fangjun Kuang a703cf6560 Improve C/C++ API documentation, examples, and CI (#3626) 2026-05-20 12:10:05 +08:00
Wasser1462 e2557bbfe1 Support Supertonic 3 TTS (#3605) 2026-05-13 09:21:45 +08:00
Fangjun Kuang 178cee0a56 Update Qwen3 ASR models (#3476) 2026-04-07 18:04:07 +08:00
Fangjun Kuang 6fb6f7d693 Add C++ runtime and Python API for Cohere Transcribe (#3456)
This pull request adds support for the Cohere Transcribe model, implementing the necessary C++ classes, greedy search decoding, and Python bindings.
2026-04-02 16:00:23 +08:00
Fangjun Kuang 74ffda35ee Fix CI tests (#3429) 2026-03-27 10:28:35 +08:00
Fangjun Kuang 81df805650 Update tests for Qwen3 ASR (#3410) 2026-03-25 19:26:56 +08:00
Fangjun Kuang 8a45871027 Add Python API examples for ZipVoice TTS (#3335)
This pull request enhances the Python API examples for Text-to-Speech by introducing dedicated scripts for ZipVoice TTS. It provides users with clear, runnable demonstrations of both standard zero-shot synthesis and real-time audio playback during generation. The changes also streamline the example structure by removing an older, more generic script and deprecating an outdated API function, promoting the use of a more modern GenerationConfig approach.
2026-03-17 18:00:33 +08:00
Fangjun Kuang 45fb4f5f0b Add online speech denoiser for GTCRN and examples (#3324)
This PR adds online (streaming) speech denoising support for GTCRN alongside existing DPDFNet support, and updates multi-language bindings/examples to expose and validate the new capability.
2026-03-17 11:56:56 +08:00
Fangjun Kuang 33554f742c Add Python API examples for Supertonic TTS (#3264) 2026-03-06 15:26:02 +08:00
Fangjun Kuang 3ff34bb8d6 Update Python APIs for Moonshine v2 models (#3235) 2026-02-27 17:00:37 +08:00
Fangjun Kuang cbe547a49c Support FireRedASR CTC models (#3221)
This PR adds support for FireRedASR CTC models to the sherpa-onnx offline speech recognition system. The implementation includes new model configuration classes, integration into the existing CTC recognition pipeline, and comprehensive testing infrastructure.
2026-02-26 15:38:23 +08:00
Fangjun Kuang db0d94a500 Add CI for PocketTTS. (#3090) 2026-01-27 12:10:05 +08:00
Fangjun Kuang 1f5f9633cc Add C++ runtime and Python API for Google MedASR models (#2935)
This pull request significantly enhances sherpa-onnx by integrating comprehensive support for Google MedASR CTC models. The changes encompass the foundational C++ model implementation, a streamlined Python API for ease of use, and specialized audio feature processing and text post-processing logic to ensure accurate medical speech recognition. This integration also includes updates to the build system and continuous integration tests, alongside a practical Python example, making MedASR models readily available and verifiable within the framework.
2025-12-25 17:25:56 +08:00
Fangjun Kuang 36ef8d1fbc Add C++ and Python API for Omnilingual ASR models. (#2772)
This PR adds C++ and Python API support for Omnilingual ASR models with CTC decoding, enabling speech recognition across 1600+ languages using models from Facebook Research's omnilingual-asr project.

Key changes:

- Implements OfflineOmnilingualAsrCtcModel class with feature normalization and model inference
- Adds Python bindings through from_omnilingual_asr_ctc() method on OfflineRecognizer
- Integrates omnilingual models into existing CTC recognition pipeline with special handling for input shapes and frame shifts
2025-11-13 12:25:30 +08:00
Fangjun Kuang 8568fc4e5d Remove cppjieba (#2664)
This PR removes the cppjieba dependency from the sherpa-onnx project by replacing its usage with character-based text processing. The main purpose is to simplify the codebase by eliminating the need for external jieba dictionary files and the cppjieba library.

- Replaces jieba-based word segmentation with UTF-8 character-level tokenization
- Removes all references to dict_dir and dictDir parameters across APIs
- Adds a new CharacterLexicon class to replace JiebaLexicon
2025-10-10 10:54:32 +08:00
Fangjun Kuang 858b5052a2 Add C++ and Python support for T-one streaming Russian ASR models (#2575)
This PR adds support for T-one streaming Russian ASR models in both C++ and Python APIs. The T-one model is a CTC-based Russian speech recognition model with specific characteristics including float16 state handling, 300ms frame lengths, and 8kHz sampling rate.

- Added new OnlineToneCtcModel implementation with specialized processing for T-one models
- Integrated T-one support into the existing CTC model pipeline and Python bindings
- Added Python example and test scripts for the new functionality
2025-09-09 12:07:34 +08:00
Fangjun Kuang 9122c9d272 Add Python API for KittenTTS. (#2466) 2025-08-08 15:01:43 +08:00
Askars Salimbajevs f0960342ad Add LODR support to online and offline recognizers (#2026)
This PR integrates LODR (Level-Ordered Deterministic Rescoring) support from Icefall into both online and offline recognizers, enabling LODR for LM shallow fusion and LM rescore.

- Extended OnlineLMConfig and OfflineLMConfig to include lodr_fst, lodr_scale, and lodr_backoff_id.
- Implemented LodrFst and LodrStateCost classes and wired them into RNN LM scoring in both online and offline code paths.
- Updated Python bindings, CLI entry points, examples, and CI test scripts to accept and exercise the new LODR options.
2025-07-09 16:23:46 +08:00
Fangjun Kuang 0e738c356c Add C++ runtime and Python API for NeMo Canary models (#2352) 2025-07-07 17:03:49 +08:00
Fangjun Kuang d57e4f84de Add Python API for source separation (#2283) 2025-06-05 20:44:26 +08:00
Fangjun Kuang f64c58342b Support replacing homonphonic phrases (#2153) 2025-04-27 15:31:11 +08:00
Fangjun Kuang 0de7e1b9f0 Add C++ and Python API for Dolphin CTC models (#2085) 2025-04-02 19:09:00 +08:00
Fangjun Kuang 0aacf02dd8 Add C++ runtime for vocos (#2014) 2025-03-17 17:05:15 +08:00
Fangjun Kuang 5d2d792b1d Add Python API for speech enhancement GTCRN models (#1978) 2025-03-10 19:02:17 +08:00
Fangjun Kuang c84a833863 Add C++ and Python API for Kokoro 1.0 multilingual TTS model (#1795) 2025-02-06 22:57:13 +08:00
Fangjun Kuang 8b989a851c Fix keyword spotting. (#1689)
Reset the stream right after detecting a keyword
2025-01-20 16:41:10 +08:00
Fangjun Kuang ffc6b480a0 Add C++ and Python API for Kokoro TTS models. (#1715) 2025-01-16 14:24:51 +08:00
Fangjun Kuang f457baea42 Support Matcha-TTS models using espeak-ng (#1672) 2025-01-02 13:46:43 +08:00
Fangjun Kuang 2c2926af7d Add C++ runtime for Matcha-TTS (#1627) 2024-12-31 12:44:14 +08:00
Fangjun Kuang 08d771337b Add a byte-level BPE Chinese+English non-streaming zipformer model (#1645) 2024-12-24 16:56:49 +08:00
Fangjun Kuang 669f5ef441 Add C++ runtime and Python APIs for Moonshine models (#1473) 2024-10-26 14:34:07 +08:00
Fangjun Kuang 8535b1d3bb Python API for speaker diarization. (#1400) 2024-10-09 14:13:26 +08:00
Fangjun Kuang b965f14cf0 Add Python API for clustering (#1385) 2024-09-30 11:33:15 +08:00
Lim Yao Chong 3bffc24d64 Add Python binding for online punctuation models (#1312) 2024-09-09 10:26:53 +08:00
Fangjun Kuang d279c8d20e Add more Python examples for SenseVoice (#1179) 2024-07-28 21:54:38 +08:00
Fangjun Kuang 25f0a10468 Add C++ runtime for SenseVoice models (#1148) 2024-07-18 22:54:18 +08:00
Fangjun Kuang 1c104ea847 Update onnxruntime from v1.18.0 to v1.18.1 (#1107) 2024-07-11 09:35:28 +08:00
Fangjun Kuang 08c758520f Add keyword spotting for C# (#1105) 2024-07-10 21:18:46 +08:00
Fangjun Kuang dd0ff2ca06 Support onnxruntime 1.18.0 (#906) 2024-07-10 17:05:26 +08:00
Fangjun Kuang 349d957da2 Add inverse text normalization for online ASR (#1020) 2024-06-17 18:39:23 +08:00
Fangjun Kuang b0f7ed3ee3 Add inverse text normalization for non-streaming ASR (#1017) 2024-06-17 14:28:53 +08:00
Fangjun Kuang fd5a0d1e00 Add C++ runtime for Tele-AI/TeleSpeech-ASR (#970) 2024-06-05 00:26:40 +08:00
Fangjun Kuang 4f21aabd3c Fix CI for JavaScript and Python APIs. (#901) 2024-05-22 13:57:00 +08:00
Fangjun Kuang b445956675 Fix CI tests. (#898) 2024-05-21 20:37:29 +08:00
Wei Kang b012b78ceb Encode hotwords in C++ side (#828)
* Encode hotwords in C++ side
2024-05-20 19:41:36 +08:00