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.1.1.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.1.1-py3-none-any.whl (1.2 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: vieneu-3.1.1.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.1.1.tar.gz
Algorithm Hash digest
SHA256 3532a71962c4bb90a73ed8ffa62d8567a87268c66ae39203fc9676e136177f69
MD5 a2cb3f01ea906d294ac076fade2466bf
BLAKE2b-256 d257030fc0f31df5fc3598046fd4e55a45add41595dcd4dcd28f9ce8cfcb7f15

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vieneu-3.1.1-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.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d4915cdd8959794337872d6e02e3e8e72cfb9743b4410b6a496f456b66e00b01
MD5 63a225eefd34fe4bec9e10ecae04f0ce
BLAKE2b-256 baabe6cf189da9e7949992d5593394a2a4b5a0518ce6e661be9d5118558793a8

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

3.2.0

2 files

3.1.4

2 files

3.1.3

2 files

3.1.2

2 files

This release

3.1.1 This release

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