🦜 VieNeu-TTS
VieNeu-TTS is an advanced on-device Vietnamese Text-to-Speech (TTS) with instant voice cloning and English–Vietnamese bilingual support. The SDK defaults to VieNeu-TTS v3 Turbo (48 kHz) and the minimal install is torch-free — on CPU it runs entirely on ONNX Runtime.
✨ Key Features
- v3 Turbo, 48 kHz — high-fidelity, natural Vietnamese speech (default).
- Torch-free on CPU — minimal install runs on ONNX Runtime; PyTorch is never imported.
- Built-in default voices — call them by name, no reference clip needed.
- Instant voice cloning — clone any voice from 3–5s of audio.
- Emotion cues (experimental) — drop
[cười],[thở dài],[hắng giọng]into the text. - Bilingual (En–Vi) code-switching, fully offline.
📦 Install
# Minimal, TORCH-FREE — runs v3 Turbo on CPU via ONNX Runtime
pip install vieneu
# Optional: GPU + older backends (v1/v2 PyTorch & GGUF, v3 Turbo on GPU)
pip install "vieneu[gpu]"
🚀 Quick Start (Python SDK)
from vieneu import Vieneu
# Default = v3 Turbo. CPU → ONNX (torch-free); GPU → PyTorch (auto-detected).
tts = Vieneu()
# 1. Default voice (Ngọc Lan) — 48 kHz, no reference needed
audio = tts.infer("Xin chào, đây là VieNeu-TTS phiên bản ba Turbo.")
tts.save(audio, "output.wav")
# 2. Built-in voices by name
for label, voice_id in tts.list_preset_voices():
print(label, voice_id)
audio = tts.infer("Mình là Xuân Vĩnh nè!", voice="Xuân Vĩnh")
# 3. Emotion / non-verbal cues — EXPERIMENTAL: [cười] [thở dài] [hắng giọng]
audio = tts.infer("Nghe hay quá đi [cười]. Để mình nói tiếp [hắng giọng].", voice="Ngọc Linh")
🦜 Zero-shot Voice Cloning
from vieneu import Vieneu
tts = Vieneu()
# Clone straight from a 3–5s clip — no reference transcript needed.
audio = tts.infer(text="Chào bạn, đây là giọng của tôi.", ref_audio="path/to/voice.wav")
tts.save(audio, "cloned.wav")
Older models (v1 / v2 — requires pip install "vieneu[gpu]")
tts = Vieneu(mode="standard") # v2 GGUF, bilingual, podcast
tts = Vieneu(mode="turbo") # v2 Turbo, fastest
🔬 Model Overview
| Model | Engine | Device | Sample Rate | Features |
|---|---|---|---|---|
| VieNeu-TTS v3 Turbo (default) | ONNX (CPU) / PyTorch (GPU) | CPU/GPU | 48 kHz | Default voices, cloning, emotion cues |
| VieNeu-TTS v2 | PyTorch / GGUF | GPU/CPU | 24 kHz | Bilingual, podcast ([gpu]) |
| VieNeu-TTS v1 | PyTorch | GPU/CPU | 24 kHz | Stable, Vietnamese ([gpu]) |
🤝 Support & Links
- GitHub: pnnbao97/VieNeu-TTS
- Discord: Join our community
Made with ❤️ for the Vietnamese TTS community
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
vieneu-3.0.11.tar.gz
(1.1 MB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vieneu-3.0.11.tar.gz.
File metadata
- Download URL: vieneu-3.0.11.tar.gz
- Upload date:
- Size: 1.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
98f85b987be73b2819dd341aba7e3d3324a912dd41d1a1fc85120cc517392ff4
|
|
| MD5 |
e0d03d1ac0aaeeb5a33ba8e3451faf4c
|
|
| BLAKE2b-256 |
04ce648c5c79b1237a236634bb0f513b91f6333dd41f79cab618f3a1754a8350
|
File details
Details for the file vieneu-3.0.11-py3-none-any.whl.
File metadata
- Download URL: vieneu-3.0.11-py3-none-any.whl
- Upload date:
- Size: 1.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3d02e8a4075daefdc0ef52ffd25d3573f864939bed002ea6c696773815343664
|
|
| MD5 |
4c248789a19d545aafe1ef39e4437c8a
|
|
| BLAKE2b-256 |
e5beea92c606b10301c6519764f4736fe7cb93ce64f91e7fdaf62e2c21ec1b09
|