Skip to content
ModelListedExternal
Download

Sofelia TTS 82M

A Palestinian Arabic text-to-speech model — Kokoro-82M fine-tuned for the Levantine/Palestinian dialect. Ships a single natural female voice, Eliaa.

KindOtherVersionRevision e1b729a

Model source

Kind
Other
File size
512 KB–312 MB
Version
vRevision e1b729a
Updated
Sep 13, 2026
Downloads
78
Source
Hugging Face

Source description

Sofelia TTS 82M

A Palestinian Arabic text-to-speech model — Kokoro-82M fine-tuned for the Levantine/Palestinian dialect. Ships a single natural female voice, Eliaa.

  • Architecture: Kokoro-82M (StyleTTS2 backbone, ISTFTNet vocoder), 82M params
  • Sample rate: 24 kHz
  • Speaker: Eliaa (voices/eliaa.pt)
  • Runs on CPU in real time (RTF ≈ 0.15–0.34 on 4 threads)

Why a custom frontend

espeak-ng's Arabic G2P assumes Modern Standard Arabic and mis-handles dialect text. sofelia_frontend.py fixes the systematic problems before phonemization:

  • Arabic punctuation (،؛؟) → Latin so the model receives pause/question cues
  • word-final ة wrongly read as /t/ for out-of-lexicon words → bare fatha (a)
  • a Palestinian pronunciation lexicon (ar_lexicon.json) for words espeak mis-reads or strips vowels from (هيك, وين, تنين, قلت, معلش, ...)
  • post-G2P remap of phonemes outside Kokoro's 178-token vocab (ħ→h, ʕ→ʁ, ʕ→ə)

Usage

pip install kokoro misaki espeakng-loader phonemizer-fork soundfile torch
python inference.py "بدي أروح ع السوق أشتري خضرة وفواكه للبيت."

Arabic has no Kokoro lang_code, so phonemize with misaki espeak-ng ar (+ the Sofelia frontend) and call KModel directly — see inference.py.

Files

FilePurpose
kokoro_sofelia_82M.pthmodel weights (Kokoro KModel format)
config.jsonKokoro config (178-token vocab)
voices/eliaa.ptEliaa speaker voicepack [510, 1, 256]
sofelia_frontend.pyPalestinian Arabic text frontend
ar_lexicon.jsondialect pronunciation lexicon (extensible)
inference.pyminimal end-to-end example

Limitations

  • Numbers/dates/times are read via espeak's MSA expansion; a dialect number normalizer is planned. Spell numbers out for best results.
  • Single voice (Eliaa). The lexicon is small and community-extensible — add surface_word: diacritized_form entries to fix new words.

Credits

Fine-tuned from hexgrad/Kokoro-82M with a patched StyleTTS2 recipe. Dialect voice data: Sofelia Palestinian TTS.

Sources

1 source
Hugging FacePrimaryVersion e1b729a4641311df2d78a22d81c42c10bfda64db
huggingface.co/hamdallah/Sofelia-TTS-82M/tree/e1b729a4641311df2d78a22d81c42c10bfda64db

Verified Sep 13

Model artifacts

2 artifacts

kokoro_sofelia_82M.pth

pth · 312 MB · SHA-256 4f42a38e0e24…9b97 · Hugging Face

Download

voices/eliaa.pt

pt · 512 KB · SHA-256 6c37b9d77b5b…4546 · Hugging Face

Download

Source excerpts

2 excerpts

--- license: apache-2.0 language: - ar pipeline_tag: text-to-speech tags: - text-to-speech - tts - arabic - palestinian-arabic - kokoro - styletts2 library_name: kokoro --- # Sofelia TTS 82M A **Palestinian Arabic** text-to-speech model — Kokoro-82M fine-tuned for the Levantine/Palestinian dialect. Ships a single natural female voice, **Eliaa**. - **Architecture:** Kokoro-82M (StyleTTS2 backbone, ISTFTNet vocoder), 82M params - **Sample rate:** 24 kHz - **Speaker:** `Eliaa` (`voices/eliaa.pt`) - **Runs on CPU** in real time (RTF ≈ 0.15–0.34 on 4 threads) ## Why a custom frontend espeak-ng's Arabic G2P assumes Modern Standard Arabic and mis-handles dialect text. `sofelia_frontend.py` fixes the systematic problems before phonemization: - Arabic punctuation (`،؛؟`) → Latin so the model receives pause/question cues - word-final `ة` wrongly read as `/t/` for out-of-lexicon words → bare fatha (`a`) - a Palestinian pronunciation lexicon (`ar_lexicon.json`) for words espeak mis-reads or strips vowels from (`هيك`, `وين`, `تنين`, `قلت`, `معلش`, …) - post-G2P remap of phonemes outside Kokoro's 178-token vocab (`ħ→ʰ`, `ʕ→ʁ`, `ˤ→ᵊ`) ## Usage ```bash pip install kokoro misaki espeakng-loader phonemizer-fork soundfile torch python inference.py "بدي أروح ع السوق أشتري خضرة وفواكه للبيت." ``` Arabic has no Kokoro `lang_code`, so phonemize with misaki espeak-ng `ar` (+ the Sofelia frontend) and call `KModel` directly — see `inference.py`. ## Files | File | Purpose | |---|---| | `kokoro_sofelia_82M.pth` | model weights (Kokoro KModel format) | | `config.json` | Kokoro config (178-token vocab) | | `voices/eliaa.pt` | Eliaa speaker voicepack `[510, 1, 256]` | | `sofelia_frontend.py` | Palestinian Arabic text frontend | | `ar_lexicon.json` | dialect pronunciation lexicon (extensible) | | `inference.py` | minimal end-to-end example | ## Limitations - Numbers/dates/times are read via espeak's MSA expansion; a dialect number normalizer is planned. Spell numbers out for best results. - Single voice (Eliaa). The lexicon is small and community-extensible — add `surface_word: diacritized_form` entries to fix new words. ## Credits Fine-tuned from [hexgrad/Kokoro-82M](https://huggingface.co/hexgrad/Kokoro-82M) with a patched StyleTTS2 recipe. Dialect voice data: Sofelia Palestinian TTS.

Source context: 78 downloads · 3 likes · Pipeline text-to-speech · Library kokoro · Repo hamdallah/Sofelia-TTS-82M