Ce projet explore les capacités du modèle Whisper d'OpenAI pour la reconnaissance vocale automatique en français. L'objectif est d'évaluer les performances du modèle face à différents types d'audios : propre, bruité et accentué, en utilisant la métrique WER (Word Error Rate).
- Évaluer les performances du modèle Whisper sur différents types d'audios
- Analyser l'impact du bruit et des accents sur la qualité de transcription
- Développer un pipeline complet de traitement audio
- Fournir des métriques quantitatives d'évaluation
projet_machine_learning2/
├── 📁 notebooks/ # Notebooks Jupyter du pipeline
│ ├── 01_data_prep.ipynb # Préparation et exploration des données
│ ├── 02_transcription.ipynb # Transcription automatique avec Whisper
│ └── 03_evaluation.ipynb # Évaluation des performances
├── 📁 data/ # Données audio
│ ├── raw/ # Fichiers audio bruts
│ └── processed/ # Fichiers audio traités
├── 📁 reports/ # Rapports et visualisations
│ ├── Rapport_Final_ML2_Whisper.pdf
│ ├── wer_by_category.png
│ ├── processing_time.png
│ └── file_distribution.png
├── 📄 requirements.txt # Dépendances Python
├── 📄 generate_report.py # Script de génération du rapport
├── 📄 .gitignore # Fichiers à ignorer par Git
└── 📄 README.md # Documentation du projet
- Python 3.8 ou supérieur
- pip ou conda pour la gestion des packages
- Git pour le contrôle de version
-
Cloner le repository :
git clone <url-du-repository> cd projet_machine_learning2
-
Installer les dépendances :
pip install -r requirements.txt
-
Installer Whisper (si nécessaire) :
pip install openai-whisper
openai-whisper: Modèle de reconnaissance vocalepandas: Manipulation et analyse de donnéesmatplotlib: Visualisation des donnéesnumpy: Calculs numériquesreportlab: Génération de rapports PDFjupyter: Environnement de développement interactif
- Chargement des fichiers audio bruts
- Écoute et validation de la qualité audio
- Visualisation des caractéristiques temporelles et fréquentielles
- Nettoyage et normalisation des fichiers
- Création du manifest pour le pipeline
- Configuration du modèle Whisper
- Chargement des fichiers préparés
- Transcription automatique de chaque fichier
- Sauvegarde des résultats au format CSV
- Visualisation d'exemples de transcriptions
- Chargement des transcriptions générées
- Calcul du WER pour chaque fichier
- Analyse par catégorie (propre, bruité, accentué)
- Visualisation des résultats
- Discussion des limites et améliorations
| Catégorie | WER (%) | Nb Fichiers | Temps Moyen (s) |
|---|---|---|---|
| Propre | 12% | 15 | 2.3 |
| Bruit Faible | 25% | 12 | 2.8 |
| Bruit Fort | 40% | 10 | 3.2 |
| Accent | 55% | 8 | 3.5 |
- ✅ Meilleures performances sur les audios propres (12% WER)
⚠️ Dégradation progressive avec l'augmentation du bruit- 🔴 Défi majeur avec les accents régionaux (55% WER)
- ⏱️ Temps de traitement proportionnel à la complexité
-
Lancer Jupyter :
jupyter notebook
-
Exécuter dans l'ordre :
01_data_prep.ipynb02_transcription.ipynb03_evaluation.ipynb
python generate_report.pyLe rapport complet sera généré dans le dossier reports/ avec :
- Analyse détaillée des résultats
- Graphiques et visualisations
- Recommandations et pistes d'amélioration
Placez vos fichiers audio dans le dossier data/raw/ organisés par catégorie :
data/raw/
├── propre/
├── bruit_faible/
├── bruit_fort/
└── accent/
Le modèle Whisper peut être configuré dans 02_transcription.ipynb :
- Taille du modèle :
tiny,base,small,medium,large - Langue :
fr(français) - Format de sortie : CSV avec métadonnées
Formule : WER = (S + D + I) / N
- S : Substitutions (mots incorrects)
- D : Délétions (mots manqués)
- I : Insertions (mots ajoutés)
- N : Nombre total de mots de référence
- Temps de traitement par fichier
- Taux de réussite par catégorie
- Analyse qualitative des erreurs
- Taille du dataset limitée par catégorie
- Variété des accents restreinte
- Conditions d'enregistrement variables
- Métriques limitées au WER
- 🔧 Fine-tuning sur corpus français étendu
- 🎵 Préprocessing avancé de réduction de bruit
- 📝 Post-processing avec règles linguistiques
- 📊 Métriques supplémentaires (BLEU, ROUGE)
- 📈 Extension du dataset avec plus de variétés
Cédric BOIMIN
Aspirant Data Analyst
Ce projet personnel est développé à des fins d'apprentissage et de démonstration.
© 2025 - Projet personnel
Les contributions et suggestions sont les bienvenues !
N'hésitez pas à ouvrir une issue ou proposer des améliorations.
Dernière mise à jour : Octobre 2025