Logo Lanfrica

hadjuse/darija_project

Domaine:

natural language processing

Type de record:

softwareproject
Créateur:
had
Hôte:
# Moroccan Darija Speech Synthesis with DiffWave This repository contains the work done for the **GenAI** project on speech synthesis for **Moroccan Darija** using the **DiffWave** diffusion model and the **DODa** dataset. The project covers a complete pipeline: 1. Audio data preprocessing 2. Training a DiffWave model **from scratch** 3. Fine-tuning a DiffWave model pre-trained on LJSpeech 4. Audio generation 5. Evaluation and comparison of the two approaches Originally developed on **Google Colab** for GPU access, the project has been refactored into **standalone Python scripts** that run fully locally. --- ## Repository Structure ``` . ├── configs/ │ ├── default.yaml # all hyperparameters (single source of truth) │ ├── train_scratch.yaml # overrides for from-scratch training │ └── train_finetune.yaml # overrides for fine-tuning │ ├── src/ │ ├── config.py # YAML + argparse config loader │ ├── dataset.py # DiffWaveDODaDataset + DataLoader factories │ ├── diffusion.py # DiffusionSchedule (add_noise / p_sample / generate) │ ├── losses.py # multi-resolution STFT loss │ ├── trainer.py # training loop, validation, checkpointing │ └── plotting.py # loss curves, waveform & mel comparisons │ ├── scripts/ │ ├── preprocess.py # download DODa, preprocess, save wavs + mels + CSVs │ ├── train.py # train from scratch or fine-tune │ ├── generate.py # generate audio from a saved checkpoint │ └── evaluate.py # compare multiple runs │ ├── notebooks/ # original Colab notebooks (kept as reference) │ ├── 01_preprocessing_doda.ipynb │ ├── 02_diffwave_from_scratch_training_generation.ipynb │ ├── 03_diffwave_training_fine_tuned_10k.ipynb │ └── 04_evaluation_resultas.ipynb │ ├── D …