Downloads · 30 days
0
dogenthq/KorvaTTS
KorvaTTS is a text-to-speech model from dogenthq. Use it when you need text read aloud. It is set up for onnx. The card lists the license as apache-2.0.
[](https://github.com/dogenthq/KorvaTTS) [](https://heykorva.com/) [](https://discord.gg/cX5rmsRcsg)
Downloads · 30 days
0
Access
Public
Updated Sep 2, 2026
Repo size
450 MB
Likes
8
Public
Click a slice to open those files.
.onnx397 MB · 95%
From the Hugging Face model README
KorvaTTS is an open-source text-to-speech model focused on Vietnamese with natural code-switching (Vietnamese sentences containing English words, brand names and tech terms). It runs entirely on-device through ONNX Runtime — no GPU, no API calls — and outputs 44.1 kHz audio.
The model is a from-scratch re-implementation of the 99M-parameter Supertonic 3 architecture (flow-matching TTS) with a vocoder based on BlueCodec, trained on Vietnamese speech. No Supertonic checkpoint was used.
🌐 Try it in your browser: heykorva.com
10 bundled voices (5 female, 5 male). Ref = original recording the voice style was built from. Sample = synthesized by KorvaTTS, a different Vietnamese sentence per voice with natural English code-switching.
| Voice | Name | Gender | Ref | Sample |
|---|---|---|---|---|
bao_kim | Bảo Kim | female | <audio controls preload="none" src="https://huggingface.co/dogenthq/KorvaTTS/resolve/main/raw_voices/bao_kim.wav"></audio> | <audio controls preload="none" src="https://huggingface.co/dogenthq/KorvaTTS/resolve/main/samples/bao_kim.wav"></audio> |
khanh_vy | Khánh Vy | female | <audio controls preload="none" src="https://huggingface.co/dogenthq/KorvaTTS/resolve/main/raw_voices/khanh_vy.wav"></audio> | <audio controls preload="none" src="https://huggingface.co/dogenthq/KorvaTTS/resolve/main/samples/khanh_vy.wav"></audio> |
ngoc_huyen | Ngọc Huyền | female | <audio controls preload="none" src="https://huggingface.co/dogenthq/KorvaTTS/resolve/main/raw_voices/ngoc_huyen.wav"></audio> | <audio controls preload="none" src="https://huggingface.co/dogenthq/KorvaTTS/resolve/main/samples/ngoc_huyen.wav"></audio> |
phuong_linh | Phương Linh | female | <audio controls preload="none" src="https://huggingface.co/dogenthq/KorvaTTS/resolve/main/raw_voices/phuong_linh.wav"></audio> | <audio controls preload="none" src="https://huggingface.co/dogenthq/KorvaTTS/resolve/main/samples/phuong_linh.wav"></audio> |
quynh_nhu | Quỳnh Như | female | <audio controls preload="none" src="https://huggingface.co/dogenthq/KorvaTTS/resolve/main/raw_voices/quynh_nhu.wav"></audio> | <audio controls preload="none" src="https://huggingface.co/dogenthq/KorvaTTS/resolve/main/samples/quynh_nhu.wav"></audio> |
gia_bao | Gia Bảo | male | <audio controls preload="none" src="https://huggingface.co/dogenthq/KorvaTTS/resolve/main/raw_voices/gia_bao.wav"></audio> | <audio controls preload="none" src="https://huggingface.co/dogenthq/KorvaTTS/resolve/main/samples/gia_bao.wav"></audio> |
hoang_nam | Hoàng Nam | male | <audio controls preload="none" src="https://huggingface.co/dogenthq/KorvaTTS/resolve/main/raw_voices/hoang_nam.wav"></audio> | <audio controls preload="none" src="https://huggingface.co/dogenthq/KorvaTTS/resolve/main/samples/hoang_nam.wav"></audio> |
huu_dat | Hữu Đạt | male | <audio controls preload="none" src="https://huggingface.co/dogenthq/KorvaTTS/resolve/main/raw_voices/huu_dat.wav"></audio> | <audio controls preload="none" src="https://huggingface.co/dogenthq/KorvaTTS/resolve/main/samples/huu_dat.wav"></audio> |
quang_huy | Quang Huy | male | <audio controls preload="none" src="https://huggingface.co/dogenthq/KorvaTTS/resolve/main/raw_voices/quang_huy.wav"></audio> | <audio controls preload="none" src="https://huggingface.co/dogenthq/KorvaTTS/resolve/main/samples/quang_huy.wav"></audio> |
thanh_phong | Thanh Phong | male | <audio controls preload="none" src="https://huggingface.co/dogenthq/KorvaTTS/resolve/main/raw_voices/thanh_phong.wav"></audio> | <audio controls preload="none" src="https://huggingface.co/dogenthq/KorvaTTS/resolve/main/samples/thanh_phong.wav"></audio> |
bao_kim): "Chào mừng bạn đến với podcast Công nghệ mỗi ngày. Hôm nay chúng ta sẽ nói về cách AI đang thay đổi ngành marketing và những skill mà người làm content cần có."khanh_vy): "Dạ, đơn hàng của anh đã được xác nhận và sẽ ship trong vòng hai ngày. Anh có thể track đơn hàng qua app hoặc website của bên em bất cứ lúc nào ạ."ngoc_huyen): "Trong bài học hôm nay, các em sẽ học cách dùng hàm filter và map trong JavaScript để xử lý dữ liệu. Mở file bài tập lên và chúng ta bắt đầu nhé."phuong_linh): "Bản tin buổi sáng: thị trường chứng khoán mở cửa trong sắc xanh, nhóm cổ phiếu công nghệ và các startup fintech tiếp tục dẫn dắt dòng tiền. Quý vị có thể theo dõi update trực tiếp trên app của chúng tôi."quynh_nhu): "Bạn có mười phút không? Mình muốn demo tính năng voice cloning mới, feedback của bạn rất quan trọng với team trước khi release."gia_bao): "Chào cả nhà, hôm nay mình review chiếc laptop mới: màn hình OLED, pin trâu, và hiệu năng thì khỏi bàn. Bấm subscribe để không bỏ lỡ video tiếp theo nhé."hoang_nam): "Thưa quý khách, chuyến bay VN một hai ba đi Đà Nẵng sẽ bắt đầu boarding tại cửa số bảy trong vài phút nữa. Xin vui lòng chuẩn bị sẵn thẻ lên máy bay."huu_dat): "Sprint này team cần hoàn thành phần login bằng OAuth, còn phần dashboard sẽ dời sang sprint sau. Ai có blocker thì báo trong daily standup nhé."quang_huy): "Nhớ backup dữ liệu trước khi update hệ điều hành, nếu không lỡ mất file thì khó khôi phục lắm đấy. Tốt nhất là sync lên cloud rồi hãy bấm cài đặt."thanh_phong): "Trận đấu tối nay giữa Việt Nam và Thái Lan sẽ được livestream lúc bảy giờ rưỡi trên kênh chính thức. Anh em nhớ đặt lịch để không bỏ lỡ highlight nhé."pip install korvatts
from korvatts import TTS
tts = TTS() # downloads this repo on first run
wav, duration = tts.synthesize(
"Hôm nay team mình sẽ demo tính năng text-to-speech mới.",
voice="khanh_vy",
lang="vi",
total_steps=32, # default, best quality; 8-16 for faster synthesis
)
tts.save_audio(wav, "output.wav")
korvatts synth "Xin chào, đây là KorvaTTS." -v khanh_vy -o hello.wav
Full documentation, CLI reference and roadmap: github.com/dogenthq/KorvaTTS.
vi) — primary target, including embedded English words.en) — part of the training data; works, but English quality is not guaranteed to match the original Supertonic 3 English voices.The ONNX graph signatures and the voice-style JSON format are identical to Supertonic 3, so onnx/ and voice_styles/ can be dropped into any Supertonic 3 runtime (Python, Node.js, WebGPU, Rust, C++, Swift, Flutter, …). This holds for roadmap phases 1–2; phase 3 will change the architecture and break compatibility. Compatible checkpoints are tagged as such.
| Path | Description |
|---|---|
onnx/duration_predictor.onnx | Predicts utterance length from text + duration style |
onnx/text_encoder.onnx | Character-level text encoder conditioned on voice style |
onnx/vector_estimator.onnx | Flow-matching latent denoiser (256 MB fp32) |
onnx/vocoder.onnx | BlueCodec-based latent → 44.1 kHz waveform decoder |
onnx/tts.json, onnx/unicode_indexer.json | Architecture hyper-parameters and character table |
voice_styles/<voice>.json | Precomputed style tokens (style_ttl 1×50×256, style_dp 1×8×16) |
samples/<voice>.wav | Synthesized demo clips, one distinct sentence per voice (table above) |
raw_voices/<voice>.wav | Reference recordings (44.1 kHz mono, 8–12 s) the styles were built from |
Questions, voice requests, show-and-tell: Discord · bugs: GitHub Issues.
Weights, voice styles and audio in this repository: Apache-2.0 (see MODEL_LICENSE.md). Trained from scratch; not derived from Supertonic weights. Inference code: Apache-2.0, with portions adapted from Supertonic (MIT) — see NOTICE.
Responsible use: only clone or imitate voices you own or have permission to use; do not use generated speech to deceive, harass or impersonate.
@misc{korvatts2026,
title = {KorvaTTS: Vietnamese-first on-device text-to-speech},
author = {dogenthq},
year = {2026},
howpublished = {\url{https://github.com/dogenthq/KorvaTTS}}
}
Please also cite SupertonicTTS, BlueTTS and PhoAudiobook — BibTeX entries in the GitHub README.