Fine-tuned version of
OmniVoice on 1,000 hours of high-quality Vietnamese speech data, optimized for Vietnamese voice cloning and text-to-speech.
ACut is a privacy-first video editor for browser and desktop —
local processing, captions, speech tools, and clean exports (no watermarks on the free tier).
1import torch
2import torchaudio
3from omnivoice import OmniVoice
4
5# Load the Vietnamese fine-tuned model
6model = OmniVoice.from_pretrained(
7 "vongocanhthi/omnivoice-vietnamese",
8 device_map="cuda:0",
9 dtype=torch.float16,
10)
11
12# Zero-shot voice cloning
13audio = model.generate(
14 text="Xin chào, đây là mô hình tổng hợp giọng nói tiếng Việt.",
15 language="vietnamese",
16 ref_audio="reference.wav",
17 ref_text="Transcript of the reference audio.",
18)
19
20torchaudio.save("output.wav", audio[0], 24000)
1# Create voice prompt once (caches the encoded reference audio)
2voice_prompt = model.create_voice_clone_prompt(
3 ref_audio="reference.wav",
4 ref_text="Transcript of the reference audio.",
5)
6
7# Reuse for multiple generations — no re-encoding cost
8audio = model.generate(
9 text="Em chào anh, em gọi từ tổng đài ngân hàng.",
10 language="vietnamese",
11 voice_clone_prompt=voice_prompt,
12)
1from omnivoice import OmniVoiceGenerationConfig
2
3# Apply torch.compile for faster inference
4torch.set_float32_matmul_precision("high")
5model.llm = torch.compile(model.llm, mode="reduce-overhead", dynamic=True)
6
7# Warmup (triggers compilation)
8config = OmniVoiceGenerationConfig(num_step=8, guidance_scale=2.0)
9for _ in range(3):
10 model.generate(
11 text="Xin chào.",
12 language="vietnamese",
13 voice_clone_prompt=voice_prompt,
14 generation_config=config,
15 )
16
17# Production inference at num_step=8 for speed
18audio = model.generate(
19 text="Dạ chào anh, anh có cần hỗ trợ gì không ạ?",
20 language="vietnamese",
21 voice_clone_prompt=voice_prompt,
22 generation_config=config,
23)
OmniVoice is a massively multilingual zero-shot TTS model supporting 600+ languages, built on a diffusion language model architecture with Qwen3-0.6B as the backbone.
1@article{zhu2026omnivoice,
2 title={OmniVoice: Towards Omnilingual Zero-Shot Text-to-Speech with Diffusion Language Models},
3 author={Zhu, Han and Ye, Lingxuan and Kang, Wei and Yao, Zengwei and Guo, Liyong and Kuang, Fangjun and Han, Zhifeng and Zhuang, Weiji and Lin, Long and Povey, Daniel},
4 journal={arXiv preprint arXiv:2604.00688},
5 year={2026}
6}
7
8@dataset{dolly_audio_2025,
9 title={Dolly-Audio: Vietnamese Multi-Speaker High-Quality Speech Corpus},
10 author={Nguyen, Vinh Huy and Nguyen, Dinh Thuan},
11 year={2025},
12 publisher={Dolly AI Team},
13 howpublished={\url{https://huggingface.co/datasets/dolly-vn/dolly-audio-1000h-vietnamese}},
14 note={Released under CC-BY-NC-SA-4.0. Research use only.}
15}