--- license: mit datasets: - galsenai/wolof_tts language: - wo metrics: - accuracy base_model: - openai/whisper-small pipeline_tag: audio-text-to-text --- # **Whisper for Wolof ASR** Ce dépôt contient une version fine-tunée du modèle Whisper pour la reconnaissance vocale automatique (ASR) en **Wolof**, une langue parlée principalement au Sénégal, en Gambie, et en Mauritanie. Ce modèle utilise l'architecture Whisper, conçue pour les tâches de transcription vocale et de génération conditionnelle. --- ## **Caractéristiques principales** - **Architecture basée sur Whisper** - Encodeur et décodeur composés de 12 couches chacun. - Utilisation d'une attention multi-tête optimisée (`WhisperSdpaAttention`). - Gestion d'un vocabulaire étendu de 51 865 tokens pour une grande diversité linguistique. - **Optimisation pour le Wolof** - Fine-tuning effectué sur un corpus spécifique en Wolof. - Capable de transcrire des échantillons audio en texte avec un **Word Error Rate (WER)** compétitif. - **Exemples d'application** - Transcription audio de conversations en Wolof. - Utilisation dans des contextes académiques, éducatifs et de recherche linguistique. --- ## **Performances** - **WER moyen** : **12%** - **WER sur des échantillons bruyants** : **15%** - Évaluations basées sur des données de test spécifiques au Wolof. --- ## **Exemple d'utilisation** Voici un exemple simple pour utiliser le modèle avec la bibliothèque Hugging Face Transformers : ```python from transformers import WhisperForConditionalGeneration, WhisperProcessor import torch # Charger le modèle et le processeur model = WhisperForConditionalGeneration.from_pretrained("votre-nom-dépôt") processor = WhisperProcessor.from_pretrained("votre-nom-dépôt") # Prétraiter l'audio (spectrogramme ou entrée audio bruite) audio_input = ... # Charger un spectrogramme ou des données audio prétraitées inputs = processor(audio_input, return_tensors="pt").input_features # Générer la transcription predicted_ids = model.generate(inputs) transcription = processor.batch_decode(predicted_ids, skip_special_tokens=True) print("Transcription :", transcription) ``` --- ## **Guide d'installation** 1. Clonez ce dépôt : ```bash git clone https://huggingface.co/dofbi/wolof-asr cd votre-dépôt ``` 2. Installez les dépendances : ```bash pip install transformers torch torchaudio ``` 3. Testez un exemple avec un fichier audio : ```python python app.py --audio_file chemin/vers/audio.wav ``` --- ## **Fine-tuning du modèle** Si vous souhaitez adapter ce modèle à vos propres données, voici les étapes principales : 1. Préparez vos données sous forme d'échantillons audio et de transcriptions textuelles. 2. Utilisez le script de fine-tuning fourni (voir `src/trainer.py`) avec vos données : ```bash python src/trainer.py --train_data chemin/vers/données_train.json --val_data chemin/vers/données_val.json ``` 3. Sauvegardez le modèle fine-tuné et chargez-le comme montré dans les exemples ci-dessus. --- ## **À propos** Ce modèle a été développé dans le cadre d'un projet visant à promouvoir la reconnaissance vocale pour les langues sous-représentées comme le Wolof. N'hésitez pas à contribuer, signaler des problèmes, ou proposer des améliorations via les issues de ce dépôt. --- ## **Licence** Ce modèle est publié sous la licence MIT. Consultez le fichier `LICENSE` pour plus de détails. --- Enrichissez-le davantage si vous ajoutez de nouvelles fonctionnalités, comme des tests ou des scripts complémentaires.