CoolFace
Datasetpublic

ai-ssam/darija-tts-8400

Darija TTS 8400 Synthetic Moroccan Darija speech for TTS fine-tuning: 8,400 single-speaker clips (20.73 hours), 24 kHz mono PCM16 WAV. All audio is generated with Gemini 3.1 Flash TTS (gemini-3.1-flash-tts-preview, voice Kore). Clips are unreviewed; there are no human recordings. Write-up of how this data was used: Training a Voice. At a glance Clips / hours 8,400 / 20.73 Unique texts 4,800 Voice Kore (1 speaker) Sample rate 24 kHz mono PCM16… See the full description on the dataset page: https://huggingface.co/datasets/ai-ssam/darija-tts-8400.

sourceHugging Faceotherupdated 8d agoView on Hugging Face
0likes85downloads
Dataset Card

Darija TTS 8400

Synthetic Moroccan Darija speech for TTS fine-tuning: 8,400 single-speaker clips (20.73 hours), 24 kHz mono PCM16 WAV.

All audio is generated with Gemini 3.1 Flash TTS (gemini-3.1-flash-tts-preview, voice Kore). Clips are unreviewed; there are no human recordings.

Write-up of how this data was used: Training a Voice.

At a glance

Clips / hours8,400 / 20.73
Unique texts4,800
VoiceKore (1 speaker)
Sample rate24 kHz mono PCM16
Durationmedian 10.2 s, mean 8.9 s (1.6–18.1 s)
Splitstrain 7,704 · validation 357 · test 339

Composition

Two phases, same speaker and TTS recipe:

PhaseTextsEmotionsClips
Expressive1,200 Gemini-authored4 styles each4,800
Neutral3,600 DODa-derived / gap-fillneutral only3,600

Emotions (requested_emotion): neutral (4,800), reassuring (1,200), excited (1,200), frustrated (1,200).

Same sentence across styles shares family_id / group_id and stays in the same split.

Text sources

SourceTextsNotes
Gemini-authored1,200Everyday Darija for the expressive set
DODa-derived parallel3,016Stratified sample (incl. 205 human DODa lines)
Gemini gap-fill584Extra long lines after coverage gaps

Human DODa lines: Darija Open Dataset. Audio for those lines is still Gemini TTS.

Categories: darija (4,204), darija_french (2,342), pronunciation (1,374), darija_english (480). French/English spans stay in Latin script inside Arabic-script Darija.

How it was generated

  1. 1.Plan texts. Expressive lines: Gemini 3.1 Flash Lite, Arabic-script Darija, ~15–28 words, readable in four emotions. Neutral lines: stratified sample from a DODa-derived parallel corpus (length, code-switch, pronunciation, domain caps), plus a small Gemini gap-fill.
  2. 2.Synthesize. Each clip: Kore voice, Moroccan-accent prompt, style instruction for that emotion, audio wrapped as 24 kHz mono WAV. Mostly Batch API, remainder sync. WAVs are SHA-256 hashed; clips outside 3–25 s are flagged unusual_duration.
  3. 3.Split. Hash of normalized text → ~90/5/5 train/validation/test, so multi-emotion siblings never cross splits.

Files

Path
audio/<id>.wav8,400 clips
manifest.jsonlFull index (same as metadata.jsonl)
train.jsonl / validation.jsonl / test.jsonlSplit slices

audio paths are relative (audio/f000000_neutral.wav).

Fields

Training-critical: id, group_id, family_id, text, audio, voice, requested_emotion, duration_seconds, split.

Also: dataset_phase, category, text_source, tts_model, sha256, flags, and for parallel rows source_id, domain, code_switch, generation_mode, …

License