Install KorvaTTS with Conda
Introduction
KorvaTTS is an open-source text-to-speech system focused on Vietnamese with natural code-switching (Vietnamese sentences that contain English words, brand names, tech terms). It runs entirely on-device through ONNX Runtime: no GPU required, no API calls, 44.1 kHz output.
GitHub: https://github.com/dogenthq/KorvaTTS
Hugging Face: https://hf.co/collections/dogenthq/KorvaTTS
Demo Page: https://hf.co/spaces/hugging-apps/korvatts-demo
Try it online: https://heykorva.com
The model is our own re-implementation of the 99M-parameter Supertonic 3 architecture (flow-matching TTS), trained from scratch on Vietnamese data, with a vocoder based on BlueCodec. Upstream Supertonic is being archived by its authors; KorvaTTS continues the line with a Vietnamese focus and an open roadmap toward voice cloning and training.
🌐 Try it in your browser — no install: heykorva.com
Highlights
- 🇻🇳 Vietnamese-first — trained on Vietnamese audiobook speech plus a private code-switching set
- 🔀 Code-switching — English words inside Vietnamese sentences are read naturally
- ⚡ Fast on CPU — real-time factor well below 1 on a laptop CPU; GPU optional
- 🔊 44.1 kHz WAV output, no external upsampler
- 🧩 Drop-in compatible with Supertonic 3 runtimes (see Compatibility)
- 🪪 Apache-2.0 for both code and weights
Prerequisites
System requirements:
- Operating System: Windows 10/11 (64-bit), macOS, or Linux (Debian/Ubuntu).
- Python: version >= 3.10 required
- Disk Space: 5GB+ recommended (for dependencies and model cache). At least 400 MB for Miniconda; 3 GB+ for full Anaconda.
- The GPU is optional but HIGHLY Recommended for Performance.
- Internet: For downloading dependencies and models from Hugging Face Hub.
ONNX Runtime doesn’t publish a separate build per cuXXX tag the way PyTorch does. There are only three CUDA builds, so your list collapses into three groups:
| Your CUDA | Build to install |
|---|---|
| cu118 | CUDA 11.8 build (onnxruntime-gpu 1.20.x) |
| cu121, cu124, cu126, cu128, cu129 | CUDA 12.x build (onnxruntime-gpu<1.27) |
| cu130, cu132, cu134 | CUDA 13.x build (onnxruntime-gpu>=1.27) |
Video tutorial
Coming soon!
Step 1. Install Miniconda Package
Download Miniconda: https://www.anaconda.com/download/success?reg=skipped
Direct link: https://anaconda.com/api/installers/Miniconda3-latest-Windows-x86_64.exe
Direct link: https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-arm64.exe
How to Install Miniconda on Windows
Step 2. Create Conda Environment
Create an environment.yml file
name: korvatts
channels:
- conda-forge
- defaults
dependencies:
# Python version (requires >= 3.10)
- python=3.10
- pip
- pip:
# Install KorvaTTS directly from PyPI
- korvattsActivate conda environment:
conda env create -f environment.yml
conda activate korvattsDownload weights
korvatts voicesStep 3. Run the Inference
Command Line Interface
Now, run the basic example command to synthesize speech:
korvatts synth "Xin chào, đây là KorvaTTS." -v khanh_vy -o hello.wavThe result will be the audio file output.wav
Python Script
Create a file named korva_test.py:
from korvatts import TTS
tts = TTS() # first run downloads weights + voices from Hugging Face
print(tts.list_voices())
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. Lower (8-16) for faster synthesis
speed=1.05, # default; 0.5 (slow) .. 2.0 (fast)
)
tts.save_audio(wav, "output.wav")Run the script to convert text to speech:
python korva_test.pyThe result will be the audio file output.wav
Error and Warning
| Order | Type | Message (shortened) | Impact | Fix |
|---|---|---|---|---|
| 1 | UserWarning (huggingface_hub) |
cache-system uses symlinks by default ... your machine does not support them |
Uses extra disk space only | Enable Developer Mode, or silence it with setx HF_HUB_DISABLE_SYMLINKS_WARNING 1 |
| 2 | Warning (huggingface_hub) |
You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN |
Slower downloads, rate limits | Create a Read token, then setx HF_TOKEN hf_xxx or hf auth login |
Notes
- Correction to my earlier advice: the newer Hugging Face login command is
hf auth login, nothuggingface-cli login.