{"data":{"slug":"pnnbao97-vieneu-tts","name":"VieNeu-TTS","tagline":"Vietnamese TTS with instant voice cloning, on-device and real-time CPU inference","github_url":"https://github.com/pnnbao97/VieNeu-TTS","owner":"pnnbao97","repo":"VieNeu-TTS","owner_avatar_url":"https://avatars.githubusercontent.com/u/179232022?v=4","primary_language":"Python","stars":2632,"forks":796,"topics":["deep-learning","on-device-ml","real-time","speech-synthesis","text-to-speech","tts","vietnamese","vietnamese-language"],"archived":false,"github_pushed_at":"2026-09-18T01:37:03+00:00","maintenance_label":"Very active","stars_delta_30d":374,"url":"https://www.graphcanon.com/tools/pnnbao97-vieneu-tts","markdown_url":"https://www.graphcanon.com/tools/pnnbao97-vieneu-tts.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/pnnbao97-vieneu-tts","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=pnnbao97-vieneu-tts","description":"Vietnamese TTS with instant voice cloning • On-device • Real-time CPU inference • 48kHz audio quality • Chuyển văn bản thành giọng nói tiếng Việt • Text to speech tiếng Việt • TTS tiếng Việt ","homepage_url":"https://www.vieneu.io","license":"Apache-2.0","open_issues":12,"watchers":41,"ai_summary":"A text-to-speech tool for the Vietnamese language that supports instant voice cloning.","readme_excerpt":"## 🦜 1. Installation & Web UI <a name=\"installation\"></a>\n> [!TIP]\n> **On Windows?** The fastest way to get started is the standalone installer at **[vieneu.io/#/download](https://www.vieneu.io/#/download)** — no need to install `uv` or clone the repo manually.\n> **macOS**: a similar installer is coming in an upcoming release; for now, please use the `uv sync` steps below.\n> **Docker?** Skip the steps below: `--profile api-gpu` / `api-cpu` (OpenAI-compatible streaming API) — see [§3 API Server & Docker](#docker-remote).\n\n---\n\n### Quick Start\n\n**CPU (default)** — torch-free, runs v3 Turbo via ONNX Runtime. Most users want this — **RTF ≈ 0.5** on a 12th-gen Core i5 (numbers in [§4 Benchmarks](#benchmarks)):\n> ⚡**On CPU the backbone runs `fp32` by default** (maximum fidelity). Need more speed? Pass `Vieneu(precision=\"int8\")` — ~1.6× faster (RTF ≈ 0.35) and ~4× smaller, but it requires a CPU with VNNI (AVX-512 VNNI / AVX-VNNI); on older CPUs int8 can produce garbled audio. `precision` only affects the CPU/ONNX path; on GPU it's ignored (PyTorch).\n>\n> 🪶 **Still too slow, or deploying on a phone / ARM board?** Try **[VieNeu-TTS v3 Nano (preview)](#v3-nano)** — `Vieneu(mode=\"v3nano\")`, ~3× faster than Turbo fp32 on CPU (RTF 0.11–0.22 on a desktop CPU), but **noticeably lower quality** (especially English / bilingual), 24 kHz, 11 preset voices + voice cloning. Details and caveats in the [v3 Nano section](#v3-nano) below.\n\n```bash\npip install vieneu\n```\n\n**GPU (CUDA)** — only if you have an NVIDIA GPU; **~25× faster than the CPU path** (RTF ≈ 0.02 batched, 16 real-time streams — [§4 Benchmarks](#benchmarks)). On Linux `pip install \"vieneu[cuda]\"` is enough (PyPI torch ships CUDA there); on Windows install the CUDA torch **first** as below.\n> ⚡ Every audio frame on GPU is **one CUDA graph** (acoustic decoder + sampling +\n> repetition penalty + backbone step in a single replay — no `torch.compile`, no\n> C++ toolchain needed). The first call for each batch size pays ~0.5 s to capture\n> the graph (kept afterwards; servers can call `warm_fused()` at start-up).\n> `VIENEU_FUSED_FRAME=0` restores the plain loop.\n\n```bash\npip install torch==2.8.0 torchaudio==2.8.0 --index-url https://download.pytorch.org/whl/cu128\npip install \"transformers==4.57.6\"   # pinned — most stable transformers for the GPU SDK\npip install vieneu\n```\n\n```python\nimport time\nfrom vieneu import Vieneu\n\n---\n\n## 🐳 3. API Server & Docker <a name=\"docker-remote\"></a>\n\n---\n\n### Web UI in Docker\n\n```bash\ndocker compose -f docker/docker-compose.yml --profile gpu up   # or --profile cpu → http://localhost:7860\n```\n\nSee [docs/Deploy.md](docs/Deploy.md) for production builds and images.\n\n---\n\n### 1. Run with Docker\n\n**Requirement**: [NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html) is required for GPU support.\n\n**Start the Server with a Public Tunnel (No port forwarding needed):**\n```bash\ndocker run --gpus all -p 23333:23333 -v huggingface_cache:/root/.cache/huggingface pnnbao/vieneu-tts:latest --tunnel\n```\n\n*   **Default**: The server loads the `VieNeu-TTS-v2` model for maximum quality.\n*   **Tunneling**: The Docker image includes a built-in `bore` tunnel. Check the container logs to find your public address (e.g., `bore.pub:31631`).","github_created_at":"2025-10-28T14:07:23+00:00","created_at":"2026-07-11T12:09:21.164805+00:00","updated_at":"2026-09-20T07:09:36.809649+00:00","categories":[{"slug":"speech-audio","name":"Speech & Audio","url":"https://www.graphcanon.com/categories/speech-audio","markdown_url":"https://www.graphcanon.com/categories/speech-audio.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/speech-audio"}],"tags":[{"slug":"deep-learning","name":"deep-learning"},{"slug":"on-device-ml","name":"on-device-ml"},{"slug":"real-time","name":"real-time"},{"slug":"speech-synthesis","name":"speech-synthesis"},{"slug":"text-to-speech","name":"text-to-speech"},{"slug":"tts","name":"tts"},{"slug":"vietnamese-language","name":"vietnamese-language"}],"trust":{"provenance":{"is_fork":false,"github_id":1085043404,"owner_type":"User","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-09-20T07:09:34.566Z","maintenance":{"label":"Very active","score":96,"methodology":"github_public_v1","releases_90d":17,"days_since_push":2,"last_release_at":"2026-09-16T16:35:28Z","stars_delta_30d":374,"open_issues_delta_30d":4},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-11T12:09:24.486Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-09-20T07:09:35.611Z"},"has_cli":{"value":true,"source":"pyproject.toml:[project.scripts]","observed_at":"2026-09-20T07:09:35.611Z"},"languages":{"value":["python"],"source":"github.language+pyproject.toml","observed_at":"2026-09-20T07:09:35.611Z"},"license_spdx":{"value":"Apache-2.0","source":"github.license","observed_at":"2026-09-20T07:09:35.611Z"}},"decision_facts":{"hosting":null,"pricing":null,"requirements":null,"constraints":null,"when_to_use":["You require a text-to-speech solution specifically tailored for the Vietnamese language.","Your project necessitates voice cloning capabilities with immediate activation.","Real-time synthesis is critical, and you want to avoid network dependencies by running everything on-device."],"when_not_to_use":["The application demands TTS services in languages other than Vietnamese.","You seek a solution that performs inference exclusively on GPUs as VieNeu-TTS prioritizes CPU usage even with GPU availability.","Deployment needs are not compatible with on-device processing, and cloud-based TTS solutions are preferred."],"source":"enrich:decision_facts","observed_at":"2026-07-16T19:52:53.291Z"},"constraint_facets":null,"decision_summary":[{"label":"Adopt for","value":"VieNeu-TTS offers on-device Vietnamese text-to-speech services in real-time with CPU inference, ideal for environments needing local processing."}]}}