File size: 3,709 Bytes
f806c40 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 |
---
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. |