VieNeu-TTS-0.3B
[](https://github.com/pnnbao97/VieNeu-TTS) [-yellow)](https://huggingface.co/pnnbao-ump/VieNeu-TTS-0.3B) [](https://huggingface.co/pnnbao-ump/VieNeu-TTS-0.3B-q8-gguf) [](https://huggingface.co/pnnbao-ump/VieNeu-TTS-0.3B-q4-gguf) [](https://discord.gg/yJt8kzjzWZ) **VieNeu-TTS-0.3B** is an ultra-fast, on-device Vietnamese Text-to-Speech (TTS) model with **instant voice cloning**. Unlike the original 0.5B version, this 0.3B model is **trained from scratch** on the [VieNeu-TTS-1000h](https://huggingface.co/datasets/pnnbao-ump/VieNeu-TTS-1000h) dataset. It is optimized for extreme efficiency, delivering **2x faster inference** while maintaining high speech quality. > [!TIP] > **Voice Cloning:** All model variants (including GGUF) support instant voice cloning with just **3-5 seconds** of reference audio. Tác giả: **Phạm Nguyễn Ngọc Bảo** Training high-quality TTS models requires significant GPU resources. If you find this model useful, please consider supporting the development: [](https://buymeacoffee.com/pnnbao) **Reference Voice (Speaker Example):** **Input Text:** > Trên bầu trời xanh thẳm, những đám mây trắng lửng lờ trôi như những chiếc thuyền nhỏ đang lướt nhẹ theo dòng gió. Dưới mặt đất, cánh đồng lúa vàng rực trải dài tới tận chân trời, những bông lúa nghiêng mình theo từng làn gió. **Generated Output (Cloned Voice):** git clone https://github.com/pnnbao97/VieNeu-TTS.git cd VieNeu-TTS uv sync uv run vieneu-web Install the SDK to integrate VieNeu-TTS-0.3B into your research or applications: pip install vieneu --extra-index-url https://pnnbao97.github.io/llama-cpp-python-v0.3.16/cpu/ pip install vieneu from vieneu import Vieneu import os tts = Vieneu() # Default: 0.3B-Q4 GGUF for CPU os.makedirs("outputs", exist_ok=True) available_voices = tts.list_preset_voices() for desc, name in available_voices: print(f" - {desc} (ID: {name})") 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") 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") 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") tts.close() For maximum speed, deploy a Docker server first, then connect remotely: **Step 1: Deploy Docker Server** docker run --gpus all -p 23333:23333 pnnbao/vieneu-tts:serve --model pnnbao-ump/VieNeu-TTS-0.3B --tunnel **Step 2: Connect from Client** from vieneu import Vieneu import os REMOTE_API_BASE = 'http://your-server-ip:23333/v1' # Or bore.pub:XXXX REMOTE_MODEL_ID = "pnnbao-ump/VieNeu-TTS-0.3B" tts = Vieneu(mode='remote', api_base=REMOTE_API_BASE, model_name=REMOTE_MODEL_ID) os.makedirs("outputs", exist_ok=True) available_voices = tts.list_preset_voices() for desc, name in available_voices: print(f" - {desc} (ID: {name})") if available_voices: _, my_voice_id = available_voices[1] 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/remote_{my_voice_id}.wav") print(f"💾 Saved synthesis to: outputs/remote_{my_voice_id}.wav") text_input = "Chế độ remote giúp tích hợp VieNeu vào ứng dụng Web hoặc App cực nhanh mà không cần GPU tại máy khách." audio = tts.infer(text=text_input) tts.save(audio, "outputs/remote_output.wav") print("💾 Saved remote synthesis to: outputs/remote_output.wav") if os.path.exists("examples/audio_ref/example_ngoc_huyen.wav"): cloned_audio = tts.infer( text="Đây là giọng nói được clone và xử lý thông qua VieNeu Server.", 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/remote_cloned_output.wav") print("💾 Saved remote cloned voice to: outputs/remote_cloned_output.wav") @misc{vieneutts03b2026, title = {VieNeu-TTS-0.3B: Ultra-Fast Vietnamese Text-to-Speech trained from scratch}, author = {Pham Nguyen Ngoc Bao}, year = {2026}, publisher = {Hugging Face}, howpublished = {\url{https://huggingface.co/pnnbao-ump/VieNeu-TTS-0.3B}} } **Made with ❤️ for the Vietnamese TTS community**
Open VieNeu-TTS-0.3B in AIniverse
Compare versions, read real ratings, save to your stack.
Open in App