Lahgtna Omnivoice Egyptian v3
Multi-voice Egyptian-Arabic (arz) TTS. v3 continues from v2 on raw, non-diacritized text to fix pronunciation problems caused by MSA diacritics on Egyptian colloquial. It speaks two trained voices (Eqkawkab +...
Model source
- Kind
- Text model
- File size
- 2.28 GB
- Base model
- oddadmix/lahgtna-omnivoice-v2
- Version
- vmodel
- Updated
- Sep 21, 2026
- Downloads
- 79
- Tasks
- Audio
- Source
- Hugging Face
Source description
Lahgtna-OmniVoice Egyptian — v3 (multi-voice, non-diacritized)
Multi-voice Egyptian-Arabic (arz) TTS. v3 continues from v2 on raw, non-diacritized
text to fix pronunciation problems caused by MSA diacritics on Egyptian colloquial. It speaks
two trained voices (Eqkawkab + Noselleel) and clones any reference voice zero-shot.
Recommended model for a multi-voice product — best multi-voice intelligibility, best on
numbers, and lowest latency (no diacritizer at inference).
👪 Model family
| repo | voices | text | notes | |
|---|---|---|---|---|
| base | lahgtna-omnivoice-v2 | — | diacritized | upstream |
| v1 | egyptian | 1 | diacritized | best CER, single voice |
| v2 | egyptian-v2 | 2 | diacritized | multi-voice |
| v3 ← you are here | egyptian-v3 | 2 | raw | recommended |
| 🎛️ Compare GUI | Space | — | — | 4-model A/B |
| 📚 Data | eqkawkab · noselleel | — | — | ~34h |
Usage — feed RAW Egyptian text (no diacritics)
import torch, soundfile as sf
from omnivoice.models.omnivoice import OmniVoice
m = OmniVoice.from_pretrained("ehabnegm/lahgtna-omnivoice-egyptian-v3", device_map="cuda", dtype=torch.float16)
audio = m.generate(text="أهلاً بحضرتك، معاك خدمة العملاء، ممكن أساعدك إزاي؟", language="arz",
ref_audio="voice.wav", ref_text="نص الكليب المرجعي")
sf.write("out.wav", audio[0], 24000)
Verbalize numbers (e.g. ٢٥ → خمسة وعشرين) and strip/transliterate English words before
synthesis (v3 attempts untrained English otherwise).
▶️ Run on Colab
Free GPU, step-by-step: COLAB.md · runnable notebook: lahgtna_colab.ipynb (open it in Colab → Runtime → T4 GPU). Log in with a HF read token (repo is private).
Training
Combined ~34 h, 10,828 clips (Eqkawkab ~8h + Noselleel ~26h), raw + orthography-normalized
text. Continued from v2 checkpoint-8000, 5,000 steps, SDPA, bf16, 1× L4.
Benchmark (ASR round-trip CER, 13 pure-Arabic sentences — lower = clearer)
| model | CER ↓ | |
|---|---|---|
| v1 | 0.056 | single-voice |
| v3 | 0.063 | best multi-voice |
| v2 | 0.102 | multi-voice, diac |
| base | 0.109 | |
| v3 beats v2 by ~38% on pure-Arabic — removing the wrong diacritics worked. Full benchmark + | ||
audio: v2 repo /benchmark. |
321-word long-form stress test
A full Egyptian-Arabic article (~321 words, ~2:50) synthesized by each model, then transcribed back with Whisper large-v3 (ASR round-trip CER — lower = stays on-text).
| model | audio | RTF | CER ↓ |
|---|---|---|---|
| v3 | 173 s | 0.25 | 0.21 — stays coherent ✅ |
| base | 170 s | 0.35 | 0.69 — drifts ⚠️ |
| v1 | 170 s | 0.35 | 0.71 — drifts ⚠️ |
| v2 | 170 s | 0.43 | 0.71 — drifts ⚠️ |
Finding: on paragraph-length input the diacritized models (base/v1/v2) lose coherence and
babble; v3 (non-diacritized) is the only version that stays on-text — decisive for long-form
and agent replies. Listen: base.wav, v1.wav, v2.wav, v3.wav.
Audio: long300/.
Limitations & responsible use
Code-switched English is not trained (strip/transliterate it). Audio derived from public YouTube channels (@Eqkawkab, @noselleel) — credit the creators, get permission before commercial use, and don't use the voices to impersonate or mislead.
Latency — time-to-first-chunk (streaming, raw text)
Dropping the diacritizer makes v3 ~250 ms faster than v2 at every setting:
| num_step | TTFC |
|---|---|
| 32 | 1.82 s |
| 16 | 0.96 s |
| 8 (recommended) | 0.54 s |
| 4 (fastest) | 0.32 s |
Sources
1 source
Sources
1 sourceVerified Sep 21
Model artifacts
1 artifact
Model artifacts
1 artifactSource excerpts
2 excerpts
Source excerpts
2 excerpts--- license: apache-2.0 language: - ar pipeline_tag: text-to-speech library_name: omnivoice base_model: oddadmix/lahgtna-omnivoice-v2 tags: - text-to-speech - tts - arabic - egyptian-arabic - arz - omnivoice - voice-cloning - multi-speaker --- # Lahgtna-OmniVoice Egyptian — **v3** (multi-voice, non-diacritized) Multi-voice **Egyptian-Arabic (`arz`)** TTS. v3 continues from v2 on **raw, non-diacritized text** to fix pronunciation problems caused by MSA diacritics on Egyptian colloquial. It speaks two trained voices (Eqkawkab + Noselleel) and clones any reference voice zero-shot. **Recommended model for a multi-voice product** — best multi-voice intelligibility, best on numbers, and lowest latency (no diacritizer at inference). ## 👪 Model family | | repo | voices | text | notes | |---|---|---|---|---| | base | [lahgtna-omnivoice-v2](https://huggingface.co/oddadmix/lahgtna-omnivoice-v2) | — | diacritized | upstream | | v1 | [egyptian](https://huggingface.co/ehabnegm/lahgtna-omnivoice-egyptian) | 1 | diacritized | best CER, single voice | | v2 | [egyptian-v2](https://huggingface.co/ehabnegm/lahgtna-omnivoice-egyptian-v2) | 2 | diacritized | multi-voice | | **v3** ← you are here | [egyptian-v3](https://huggingface.co/ehabnegm/lahgtna-omnivoice-egyptian-v3) | 2 | **raw** | **recommended** | | 🎛️ Compare GUI | [Space](https://huggingface.co/spaces/ehabnegm/lahgtna-egyptian-tts-compare) | — | — | 4-model A/B | | 📚 Data | [eqkawkab](https://huggingface.co/datasets/ehabnegm/eqkawkab-egyptian-tts) · [noselleel](https://huggingface.co/datasets/ehabnegm/noselleel-egyptian-tts) | — | — | ~34h | ## Usage — feed RAW Egyptian text (no diacritics) ```python import torch, soundfile as sf from omnivoice.models.omnivoice import OmniVoice m = OmniVoice.from_pretrained("ehabnegm/lahgtna-omnivoice-egyptian-v3", device_map="cuda", dtype=torch.float16) audio = m.generate(text="أهلاً بحضرتك، معاك خدمة العملاء، ممكن أساعدك إزاي؟", language="arz", ref_audio="voice.wav", ref_text="نص الكليب المرجعي") sf.write("out.wav", audio[0], 24000) ``` Verbalize numbers (e.g. `٢٥ → خمسة وعشرين`) and **strip/transliterate English words** before synthesis (v3 attempts untrained English otherwise). ## ▶️ Run on Colab Free GPU, step-by-step: **[COLAB.md](./COLAB.md)** · runnable notebook: **[lahgtna_colab.ipynb](./lahgtna_colab.ipynb)** (open it in Colab → Runtime → T4 GPU). Log in with a HF...
Source context: 79 downloads · 0 likes · Pipeline text-to-speech · Library omnivoice · Repo ehabnegm/lahgtna-omnivoice-egyptian-v3
