ETL pipeline to build a Tunisian Arabic TTS dataset from Almouhakek series
# 🎙️ Almouhakek TTS Pipeline
> **Educational project** — An end-to-end ETL pipeline that extracts, cleans, and segments vocal audio from the Tunisian TV series *Almouhakek* to build a training dataset for a Tunisian Arabic (Derja) TTS model.
---
## đź”— Links
| Resource | URL |
|---|---|
| đź’» **GitHub repository** |
github.com |
| 🤗 **Dataset (Hugging Face)** |
AnanOmri/hamza-belloumi-tun… |
| 👤 **Author profile (Hugging Face)** |
huggingface.co |
| 🏫 **Institution** | ISIMM — Institut Supérieur d'Informatique et de Mathématiques de Monastir |
---
## 🎯 Project Goal
Build a high-quality `(text, audio)` dataset from Tunisian series content that can be used to fine-tune modern TTS models (VITS, StyleTTS2, XTTS-v2) to clone Almouhakek's voice for Tunisian Arabic (Derja) synthesis.
**Output format:** LJSpeech-style dataset
```
dataset/
├── wavs/
│ ├── chunk_000001.wav (22050 Hz, mono, 16-bit PCM, 2-11s)
│ ├── chunk_000002.wav
│ └── ...
└── metadata.csv # id|text|speaker_id
```
---
## 🤗 The Final Dataset on Hugging Face
The cleaned dataset produced by this pipeline is **publicly available** on the Hugging Face Hub:
đź”— **
huggingface.co
| | |
|---|---|
| **Identifier** | `AnanOmri/hamza-belloumi-tunisian-tts` |
| **Samples** | 1,784 audio clips |
| **Total size** | 416 MB |
| **Format** | Parquet (auto-converted by HF) |
| **Modality** | Audio |
| **Language** | Arabic (Tunisian / Derja) |
| **Task** | Text-to-Speech (TTS) |
| **Tags** | `tunisian-arabic`, `tts`, `audio` |
### Quick start — load the dataset in 3 lines
```python
# Install
pip install datasets
# Load
from datasets import load_dataset
ds = load_dataset("AnanOmri/hamza-belloumi-tunisian-tts")
# Inspect
print(ds)
print(ds["train"][0]) # first sample (audio + duration)
```
### Use it for TTS fine-tuning
```python
from d …