---
title: VieNeu-TTS-0.3B-q4-gguf
canonical_url: "https://www.modelscope.cn/models/AI-ModelScope/VieNeu-TTS-0.3B-q4-gguf"
md_url: "https://www.modelscope.cn/models/AI-ModelScope/VieNeu-TTS-0.3B-q4-gguf.md"
repository: AI-ModelScope/VieNeu-TTS-0.3B-q4-gguf
last_updated: 2026-03-14
license: cc-by-nc-4.0
pipeline_tag: text-to-speech
tasks:
  - text-to-speech
base_model:
  - pnnbao-ump/VieNeu-TTS-0.3B
base_model_relation: quantized
library_name:
  - gguf
  - pytorch
frameworks:
  - pytorch
language:
  - vi
downloads: 91
stars: 0
tags:
  - realtime
  - tts
  - cpu
  - vietnamese
  - gguf
---

# VieNeu-TTS-0.3B-q4-gguf

> VieNeu-TTS-0.3B-q4-gguf - AI-ModelScope 在 ModelScope 开源的模型。🦜 VieNeu-TTS-0.3B-Q4-0-GGUF (CPU Optimized)

AI-ModelScope/VieNeu-TTS-0.3B-q4-gguf 是 ModelScope 魔搭社区上的text-to-speech模型，采用 cc-by-nc-4.0 许可，基于 pnnbao-ump/VieNeu-TTS-0.3B 构建。

- **Repository**: AI-ModelScope/VieNeu-TTS-0.3B-q4-gguf
- **License**: cc-by-nc-4.0
- **Tasks**: text-to-speech
- **Base model**: pnnbao-ump/VieNeu-TTS-0.3B
- **Tags**: realtime, tts, cpu, vietnamese, gguf
- **Downloads**: 91
- **Stars**: 0
- **Last updated**: 2026-03-14

Source: https://www.modelscope.cn/models/AI-ModelScope/VieNeu-TTS-0.3B-q4-gguf

---

# 🦜 VieNeu-TTS-0.3B-Q4-0-GGUF (CPU Optimized)

[![GitHub](https://img.shields.io/badge/GitHub-Repository-blue)](https://github.com/pnnbao97/VieNeu-TTS)
[![Base Model](https://img.shields.io/badge/Hugging%20Face-Base%20Model-yellow)](https://huggingface.co/pnnbao-ump/VieNeu-TTS-0.3B)
[![Discord](https://img.shields.io/badge/Discord-Join%20Us-5865F2?logo=discord&logoColor=white)](https://discord.gg/yJt8kzjzWZ)

**VieNeu-TTS-0.3B-Q4-0-GGUF** is a **Q4_0** quantized version of [VieNeu-TTS-0.3B](https://huggingface.co/pnnbao-ump/VieNeu-TTS-0.3B). This model is specifically optimized to run directly on the **CPU**, providing extremely fast speech synthesis without the need for a dedicated GPU.

Author: **Phạm Nguyễn Ngọc Bảo**

## ☕ Support This Project

Training high-quality TTS models requires significant GPU resources. If you find this model useful, please consider supporting the development:

[![Buy Me a Coffee](https://img.shields.io/badge/Buy%20Me%20a%20Coffee-Support-orange?logo=buy-me-a-coffee)](https://buymeacoffee.com/pnnbao)

---

## 🛠️ Requirements (eSpeak NG)
eSpeak NG is **mandatory** for phonemization.
- **Windows:** Download `.msi` from [eSpeak NG Releases](https://github.com/espeak-ng/espeak-ng/releases).
- **macOS:** `brew install espeak`
- **Linux:** `sudo apt install espeak-ng`

## 🚀 How to Use

Use the source code from GitHub for the best experience with full text preprocessing support:

```bash
# 1. Clone repository
git clone https://github.com/pnnbao97/VieNeu-TTS.git
cd VieNeu-TTS

# 2. Sync environment (requires uv)
uv sync

# 3. Launch Web UI
uv run gradio_app.py
```
In the UI, select **Backbone**: `VieNeu-TTS-0.3B-q4-gguf` and **Device**: `CPU`.

---

## 📦 Using Python SDK (vieneu)

Install the SDK to integrate VieNeu-TTS-0.3B into your research or applications:

```bash
# Windows (Avoid llama-cpp build errors)
pip install vieneu --extra-index-url https://pnnbao97.github.io/llama-cpp-python-v0.3.16/cpu/

# Linux / MacOS
pip install vieneu
```

### Full Features Guide
```python
from vieneu import Vieneu
import os

# Initialization
tts = Vieneu()  # Default: 0.3B-Q4 GGUF for CPU
os.makedirs("outputs", exist_ok=True)

# 1. List preset voices
available_voices = tts.list_preset_voices()
for desc, name in available_voices:
    print(f"   - {desc} (ID: {name})")

# 2. Use specific voice (dynamically select second voice)
if available_voices:
    _, my_voice_id = available_voices[1] if len(available_voices) > 1 else available_voices[0]
    voice_data = tts.get_preset_voice(my_voice_id)
    audio_spec = tts.infer(text="Chào bạn, tôi đang nói bằng giọng của bác sĩ Tuyên.", voice=voice_data)
    tts.save(audio_spec, f"outputs/standard_{my_voice_id}.wav")
    print(f"💾 Saved synthesis to: outputs/standard_{my_voice_id}.wav")

# 3. Standard synthesis (uses default voice)
text = "Xin chào, tôi là VieNeu. Tôi có thể giúp bạn đọc sách, làm chatbot thời gian thực, hoặc thậm chí clone giọng nói của bạn."
audio = tts.infer(text=text)
tts.save(audio, "outputs/standard_output.wav")
print("💾 Saved synthesis to: outputs/standard_output.wav")

# 4. Zero-shot voice cloning
if os.path.exists("examples/audio_ref/example_ngoc_huyen.wav"):
    cloned_audio = tts.infer(
        text="Đây là giọng nói đã được clone thành công từ file mẫu.",
        ref_audio="examples/audio_ref/example_ngoc_huyen.wav",
        ref_text="Tác phẩm dự thi bảo đảm tính khoa học, tính đảng, tính chiến đấu, tính định hướng."
    )
    tts.save(cloned_audio, "outputs/standard_cloned_output.wav")
    print("💾 Saved cloned voice to: outputs/standard_cloned_output.wav")

# 5. Cleanup
tts.close()
```

## 📊 Technical Specifications
- **Format**: GGUF (Q4_0)
- **Size**: ~200 MB
- **Standard Devices**: Office laptops, Mini PCs, and computers without GPUs.
- **Performance**: Achieves real-time speed even on standard consumer CPUs.

## ⚠️ Licensing & Copyright
This model is released under the **CC BY-NC 4.0** license.
- ✅ **Free:** For students, researchers, and non-profit purposes.
- ⚠️ **Commercial/Enterprise:** Use for businesses or commercial products is strictly prohibited without prior authorization.
- **Commercial Licensing:** Please contact the author (**Phạm Nguyễn Ngọc Bảo**) for licensing terms (Estimated: **5,000 USD/year** - negotiable).

## 📑 Citation
```bibtex
@misc{vieneutts03bgguf2026,
  title        = {VieNeu-TTS-0.3B-GGUF: CPU-Optimized Vietnamese Text-to-Speech},
  author       = {Pham Nguyen Ngoc Bao},
  year         = {2026},
  publisher    = {Hugging Face},
  howpublished = {\url{https://huggingface.co/pnnbao-ump/VieNeu-TTS-0.3B-q4-gguf}}
}
```

---
**Made with ❤️ for the Vietnamese TTS community**
