CoolFace
Modelpublic

mobarmg/OmniVoice-Najdi

sourceHugging Facecc-by-nc-4.0updated 5d agoView on Hugging Face
0likes12downloads
Model Card

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

bash
pip install omnivoice
python
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 modelk2-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 idars
Steps5,000 (cosine LR, peak 1e-5, 1% warmup, weight decay 0.01)
Batch4,096 tokens ร— 2 grad-accum, bf16, SDPA attention
Conditioningdrop-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

Built on OmniVoice by the k2-fsa team (paper).