ORATIS est un pipeline complet pour la reconnaissance vocale automatique (ASR). Le projet implémente les étapes clés nécessaires pour convertir des fichiers audio en texte, notamment :
- Prétraitement des fichiers audio.
- Extraction des caractéristiques (MFCCs).
- Entraînement d'un modèle basé sur un LSTM.
- Décodage pour générer des transcriptions.
- Évaluation des résultats avec des métriques WER (Word Error Rate) et CER (Character Error Rate).
OratisAI/
├── config/
│ └── config.yaml # Configuration centralisée
├── data/
│ ├── raw/ # Fichiers audio bruts
│ ├── processed/ # Fichiers audio prétraités
│ ├── transcripts/ # Transcriptions de référence
├── features/ # Caractéristiques audio extraites (MFCCs)
├── models/
│ └── trained_model.pth # Modèle entraîné
├── results/
│ └── decoded_texts/ # Transcriptions générées
├── scripts/
│ ├── __init__.py # Rendre les scripts importables comme un module
│ ├── preprocess.py # Prétraitement des fichiers audio
│ ├── extract_features.py # Extraction des caractéristiques (MFCCs)
│ ├── train_model.py # Entraînement du modèle
│ ├── decode_audio.py # Décodage des fichiers audio
│ └── evaluate.py # Évaluation des performances du modèle
├── tests/
│ ├── __init__.py # Tests unitaires
│ ├── test_preprocess.py # Tests pour le prétraitement
│ └── test_decode.py # Tests pour le décodage
├── main.py # Script principal pour exécuter le pipeline
├── README.md # Documentation
├── requirements.txt # Dépendances du projet
├── LICENSE # License du projet
└── .gitignore # Fichiers à ignorer dans Git
-
Cloner le projet :
git clone https://github.com/KucoDEV/Oratis.git cd Oratis
-
Installer les dépendances : Assurez-vous que Python 3.8 ou plus récent est installé.
pip install -r requirements.txt
Placez vos fichiers audio bruts (.wav
ou .mp3
) dans le dossier data/raw/
.
Lors du lancement de main.py
, vous pouvez choisir si vous souhaitez segmenter les fichiers audio en segments de 30 secondes ou utiliser le fichier complet.
python main.py --segment yes
Options disponibles :
--segment yes
: Segmente les fichiers audio en portions de 30 secondes.--segment no
: Utilise les fichiers audio dans leur intégralité.
Placez vos fichiers audio bruts dans data/raw/
. Ensuite, exécutez le script de prétraitement :
python scripts/preprocess.py --segment yes
Les fichiers seront sauvegardés dans data/processed/
.
Pour extraire les MFCCs des fichiers prétraités :
python scripts/extract_features.py
Les caractéristiques audio seront sauvegardées dans features/
.
Pour entraîner le modèle LSTM :
python scripts/train_model.py
Le modèle entraîné sera sauvegardé dans models/trained_model.pth
.
Pour générer des transcriptions :
python scripts/decode_audio.py
Les transcriptions seront sauvegardées dans results/decoded_texts/
.
Pour évaluer la performance avec WER et CER :
python scripts/evaluate.py
-
Problème : Erreur
RuntimeError: input.size(-1) must be equal to input_size
.- Solution : Vérifiez que les MFCCs extraites ont une dimension correcte (13 coefficients). La transposition dans
decode_audio.py
est cruciale.
- Solution : Vérifiez que les MFCCs extraites ont une dimension correcte (13 coefficients). La transposition dans
-
Problème : WER ou CER élevés.
- Solution :
- Assurez-vous que les transcriptions dans
data/transcripts/
correspondent exactement aux fichiers audio. - Ajoutez plus de données d'entraînement.
- Augmentez le nombre d'époques ou la complexité du modèle.
- Assurez-vous que les transcriptions dans
- Solution :
-
Problème :
FileNotFoundError
lors de l'évaluation.- Solution : Vérifiez que les fichiers de référence existent dans
data/transcripts/
. Le nom du fichier de transcription doit correspondre au fichier audio.
- Solution : Vérifiez que les fichiers de référence existent dans
Ce projet est sous licence MIT. Vous êtes libre de le modifier et de le redistribuer.