Skip to main content

🦜 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.

Hugging Face v3 Turbo License

✨ 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 (48 kHz). GPU → PyTorch (auto-detected).
tts = Vieneu()

# 1. Built-in voice by name — no reference needed
print("🔊 Generating speech...")
audio = tts.infer("Xin chào, đây là VieNeu-TTS.", voice="Trúc Ly")
tts.save(audio, "output.wav")
print("✅ Saved to output.wav")

# List the built-in voices
voices = tts.list_preset_voices()
print(f"\n🎙️  {len(voices)} built-in voices available:")
for label, voice_id in voices:
    print(f"  - {label} ({voice_id})")

# 2. Reading style: "tu_nhien" (natural) | "tin_tuc" (news) | "doc_truyen" (storytelling)
audio = tts.infer("Bản tin sáng nay.", voice="Phạm Tuyên", style="tin_tuc")

# 3. Emotion / non-verbal cues — EXPERIMENTAL: [cười] [thở dài] [hắng giọng]
audio = tts.infer("Nghe hay quá đi [cười].", voice="Trúc Ly")

🦜 Zero-shot Voice Cloning

Clone from a short clip; the reference is auto-denoised and trimmed to ≤ 8s.

from vieneu import Vieneu
tts = Vieneu()

# Clone straight from a 3–8s clip
audio = tts.infer("Chào bạn, đây là giọng của tôi.", ref_audio="path/to/voice.wav", denoise=True)
tts.save(audio, "cloned.wav")

# Save a cloned voice and reuse it by name
tts.add_voice("Giọng của tôi", "path/to/voice.wav")
audio = tts.infer("Câu này dùng giọng đã lưu.", voice="Giọng của tôi")

# Just clean up a clip (no synthesis)
wav, sr = tts.denoise("noisy.wav", out_path="clean.wav")

denoise, add_voice, and cloning require the PyTorch (GPU) engine; built-in voices work everywhere.

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

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.2.0.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vieneu-3.2.0-py3-none-any.whl (1.2 MB view details)

Uploaded Python 3

File details

Details for the file vieneu-3.2.0.tar.gz.

File metadata

  • Download URL: vieneu-3.2.0.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for vieneu-3.2.0.tar.gz
Algorithm Hash digest
SHA256 fa3c4a16554f7b62964c04ff8edd3e9ab56f098b8cf6b741b2dba2b644befbf6
MD5 8e14466b8a4d2877e2e9d22f89fdf755
BLAKE2b-256 efcb077c3e664a984874c544f0f1b6030642d38dbc5eeadc49249d5a5fa74bd4

See more details on using hashes here.

File details

Details for the file vieneu-3.2.0-py3-none-any.whl.

File metadata

  • Download URL: vieneu-3.2.0-py3-none-any.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for vieneu-3.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e0e31fa5eb0abd241de90aa1897b6080eca837f82d86a174c2806338c47bbbce
MD5 fa01700e30103e39652c1c6e6683d844
BLAKE2b-256 c97718b6bd679a655b4ebf9ff525f908bb39efb52548864ef7997c9e0270ee14

See more details on using hashes here.

Release history Release notifications | RSS feed

3.3.0

2 files

3.2.12

2 files

3.2.11

2 files

3.2.10

2 files

3.2.9

2 files

3.2.8

2 files

3.2.7

2 files

3.2.6

2 files

3.2.5

2 files

3.2.4

2 files

3.2.3

2 files

3.2.2

2 files

3.2.1

2 files

This release

3.2.0 This release

2 files

3.1.4

2 files

3.1.3

2 files

3.1.2

2 files

3.1.1

2 files

3.1.0

2 files

3.0.13

2 files

3.0.12

2 files

3.0.11

2 files

3.0.10

2 files

3.0.9

2 files

3.0.7

2 files

3.0.6

2 files

3.0.5

2 files

3.0.4

2 files

3.0.3

2 files

3.0.2

2 files

3.0.1

2 files

3.0.0

2 files

2.7.0

2 files

2.6.1

2 files

2.6.0

2 files

2.5.0

2 files

2.4.3

2 files

2.4.2

2 files

2.4.1

2 files

2.4.0

2 files

2.3.0

2 files

2.2.0

2 files

2.1.3

2 files

2.1.2

2 files

2.1.1

2 files

2.1.0

2 files

2.0.2

2 files

2.0.1

2 files

2.0.0

2 files

1.3.0

2 files

1.2.9

2 files

1.2.8

2 files

1.2.7

2 files

1.2.6

2 files

1.2.5

2 files

1.2.4

2 files

1.2.3

2 files

1.2.2

2 files

1.2.1

2 files

1.2.0

2 files

1.1.9

2 files

1.1.8

2 files

1.1.7

2 files

1.1.6

2 files

1.1.5

2 files

1.1.4

2 files

1.1.3

2 files

1.1.2

2 files

1.1.1

2 files

1.1.0

2 files

1.0.7

2 files

1.0.6

2 files

1.0.4

2 files

1.0.3

2 files

1.0.2

2 files

1.0.1

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page