CoolFace
Datasetpublic

Rabe3/egyptian-arabic-tts-diacritized

Egyptian Arabic TTS Corpus (Diacritized) 97,163 utterances / ~334 hours of Egyptian Arabic speech at 24 kHz, with diacritized transcripts — the short vowels that Arabic script does not write. Why diacritics Arabic is an abjad: short vowels are unwritten, so كتب may be kataba, kutiba, or kutub. A TTS model with no Arabic pretraining cannot infer which, and guesses — which native listeners hear as a foreign accent with constant mispronunciation. This is invisible to… See the full description on the dataset page: https://huggingface.co/datasets/Rabe3/egyptian-arabic-tts-diacritized.

sourceHugging Faceotherupdated 1mo agoView on Hugging Face
0likes147downloads
Dataset Card

Egyptian Arabic TTS Corpus (Diacritized)

97,163 utterances / ~334 hours of Egyptian Arabic speech at 24 kHz, with diacritized transcripts — the short vowels that Arabic script does not write.

Why diacritics

Arabic is an abjad: short vowels are unwritten, so كتب may be kataba, kutiba, or kutub. A TTS model with no Arabic pretraining cannot infer which, and guesses — which native listeners hear as a foreign accent with constant mispronunciation.

This is invisible to the usual metrics. Arabic ASR output is undiacritized too, so reference and hypothesis are both vowel-free and CER is mathematically blind to vowel errors. A model trained on undiacritized text here scored CER 0.093 on speech a native speaker described as "not Arabic at all".

Text columns

columndescription
text_rawthe source dataset's own transcript, essentially undiacritized
text_tashkeelCohere-Speech-Tashkeel-2B output — ~0.82 marks per Arabic character
`text_merged`source words with tashkeel's vowels grafted on. Train on this.
cer_vs_sourcetext_tashkeel vs text_raw, both diacritics-stripped
diac_word_coveragefraction of words carrying diacritics in text_merged

Use `text_merged`. text_tashkeel is speech-conditioned so its vowels reflect what was actually said (only 0.4% of word-final marks are tanween — it is not imposing MSA case endings), but it drops content on spontaneous speech: output/source length ratio 0.839 on conversational audio versus 0.981 on clean lecture audio. Training on it teaches a model to skip words.

text_merged aligns the two word sequences on their stripped forms and takes the diacritized spelling wherever they agree. Word content is provably identical to text_raw — verified on all 97,163 rows — so it cannot introduce or drop a word. Median coverage ≈ 0.51 of words; 99.7% of utterances carry some diacritics.

Filtering on cer_vs_source is tempting and biased: it keeps ~65% of the MSA-register source but only ~10% of the colloquial ones, quietly converting an Egyptian corpus into an MSA one.

Sources

sourceuttshoursspeakersnative SRlicense
lahgtna60,355~1801116 kHz → 24see upstream
masri15,653~72224 kHzCC-BY-NC-4.0
mostafa21,155~82116 kHz → 24other

Each row keeps its source tag so any subset can be selected. Respect each upstream licence; the masri rows are non-commercial.

Caveats

  • —Only masri is natively 24 kHz. lahgtna and mostafa are 16 kHz resampled, so they carry no energy above 8 kHz.
  • —mostafa is lectures and interviews — largely formal MSA in an Egyptian accent, not colloquial Egyptian. Filter it out with source != "mostafa" if you want colloquial only.
  • —Clips are 1.5–22 s. Longer source clips were dropped rather than segmented.
  • —Diacritic coverage is partial (~51% of words), not complete.
  • —Speaker diversity is low (14 speakers), and heavily skewed: a few speakers contribute most of the audio.