Codes used for training ASR for Kriol
# ASR_Experiments
Cette branche contient plusieurs expériences liées à la **reconnaissance automatique de la parole (ASR)**.
---
# Pipeline de Prétraitement et d'Entraînement Auto-Supervisé avec Wav2Vec2
## `vad_pyannote.py` — Détection d'Activité Vocale (VAD) avec PyAnnote
Ce script applique la **détection d’activité vocale (VAD)** en utilisant le modèle pré-entraîné pyannote-audio.
### Objectif
Ce traitement est lancé **avant `pre-process.py`** pour filtrer les zones non parlées dans les fichiers `.wav`. Il permet de :
- Supprimer les parties silencieuses
- Conserver uniquement les segments contenant de la parole
- Générer des fichiers `.rttm` avec les timestamps détectés
- Sauvegarder des `.wav` nettoyés pour l'étape suivante
---
## `pre-process.py` — Préparation des Données Audio
Ce script prépare les fichiers audio pour l'entraînement auto-supervisé Wav2Vec2.
### Étapes du pipeline
- Parcourt récursivement un répertoire contenant des fichiers `.wav`
- Ignore les fichiers contenant certains noms (`Emilie_K`, `Fabiano`, etc.)
- Rééchantillonne tous les fichiers à **16 kHz mono**
- Découpe les longs fichiers en segments de **10 à 20 secondes**, avec **2 secondes de recouvrement**
- Sauvegarde les segments dans un répertoire de sortie structuré
Ce traitement garantit la conformité du corpus audio avec les exigences de format du modèle Wav2Vec2.
---
## `train_wav2vec.py` — Entraînement Auto-Supervisé avec Transformers
Ce script lance l'entraînement auto-supervisé du modèle `Wav2Vec2ForPreTraining` via HuggingFace.
### Fonctions principales
- Définit une **configuration sur mesure** du modèle (couches, têtes, masquage, etc.)
- Charge un corpus audio prétraité (`load_from_disk`)
- Configure les **paramètres d'entraînement** (batch size, logs, fp16, etc.)
- Lance l’entraînement avec la classe `Trainer`
- Apprend directement à partir du **signal audio brut**, sans besoin de transcriptions
Ce pipeline permet d’adapter un modèle Wav2Vec2 à une langue ou …