OmniVoice Najdi 🐪
A Najdi (Saudi) Arabic text-to-speech model: a full fine-tune of k2-fsa/OmniVoice on ~85 hours of Najdi-dialect podcast speech.
Try it: 🤗 Space — OmniVoice Najdi
Usage
pip install omnivoice
import soundfile as sf
import torch
from omnivoice import OmniVoice, OmniVoiceGenerationConfig
model = OmniVoice.from_pretrained(
"mobarmg/OmniVoice-Najdi",
device_map="cuda", # or "mps" / "cpu" (use torch.float32 on CPU)
dtype=torch.float16,
)
cfg = OmniVoiceGenerationConfig(num_step=12, guidance_scale=0.5)
# Auto voice
audio = model.generate(text="وش رايك نروح نتقهوى بعد المغرب؟",
language="ars", generation_config=cfg)
sf.write("out.wav", audio[0], 24000)
# Voice clone from a 3–10 s reference clip
prompt = model.create_voice_clone_prompt(ref_audio="ref.wav", ref_text="نص المقطع المرجعي")
audio = model.generate(text="السلام عليكم ورحمة الله وبركاته",
language="ars", voice_clone_prompt=prompt, generation_config=cfg)
Always pass language="ars" (Najdi Arabic), the language id the model was
fine-tuned with. Recommended settings are num_step=12, guidance_scale=0.5.
Training
| Base model | k2-fsa/OmniVoice (Qwen3-0.6B backbone, 8-codebook audio tokens) |
| Data | ~85.6 h, 72,656 clips, single speaker, Najdi Arabic podcast, 24 kHz |
| Language id | ars |
| Steps | 5,000 (cosine LR, peak 1e-5, 1% warmup, weight decay 0.01) |
| Batch | 4,096 tokens × 2 grad-accum, bf16, SDPA attention |
| Conditioning | drop-cond 0.1, prompt ratio 0–0.3, language ratio 0.8 |
Transcripts come from WhisperX large-v3 with Arabic text normalization and quality filtering (SNR, silence, chars-per-second).
Limitations
- The model is tuned to Najdi dialect. MSA and other dialects work less well than on the base model.
- It was trained on one speaker, so auto-voice output and cloned voices drift toward that speaker's timbre and delivery.
- Transcripts are ASR-generated, so rare words and names can be mispronounced.
- Numbers and Latin script are not normalized by the model; spell numbers out in Arabic for best results.
License and responsible use
Released under CC BY-NC 4.0, the same as the base OmniVoice weights, and
restricted by their training-data terms. The audio tokenizer in
audio_tokenizer/ is redistributed unchanged from the base model and
remains under the Boson Higgs Audio 2 Community License (see
audio_tokenizer/LICENSE).
Don't use this model to impersonate real people, to clone a voice without the speaker's consent, or for fraud or disinformation.
Acknowledgements
- Downloads last month
- 12