🎉 int(Whisper): Wolof ASR
Browse files
README.md
CHANGED
@@ -1,3 +1,116 @@
|
|
1 |
-
---
|
2 |
-
license: mit
|
3 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
license: mit
|
3 |
+
datasets:
|
4 |
+
- galsenai/wolof_tts
|
5 |
+
language:
|
6 |
+
- wo
|
7 |
+
metrics:
|
8 |
+
- accuracy
|
9 |
+
base_model:
|
10 |
+
- openai/whisper-small
|
11 |
+
pipeline_tag: audio-text-to-text
|
12 |
+
---
|
13 |
+
|
14 |
+
# **Whisper for Wolof ASR**
|
15 |
+
|
16 |
+
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.
|
17 |
+
|
18 |
+
---
|
19 |
+
|
20 |
+
## **Caractéristiques principales**
|
21 |
+
|
22 |
+
- **Architecture basée sur Whisper**
|
23 |
+
- Encodeur et décodeur composés de 12 couches chacun.
|
24 |
+
- Utilisation d'une attention multi-tête optimisée (`WhisperSdpaAttention`).
|
25 |
+
- Gestion d'un vocabulaire étendu de 51 865 tokens pour une grande diversité linguistique.
|
26 |
+
|
27 |
+
- **Optimisation pour le Wolof**
|
28 |
+
- Fine-tuning effectué sur un corpus spécifique en Wolof.
|
29 |
+
- Capable de transcrire des échantillons audio en texte avec un **Word Error Rate (WER)** compétitif.
|
30 |
+
|
31 |
+
- **Exemples d'application**
|
32 |
+
- Transcription audio de conversations en Wolof.
|
33 |
+
- Utilisation dans des contextes académiques, éducatifs et de recherche linguistique.
|
34 |
+
|
35 |
+
---
|
36 |
+
|
37 |
+
## **Performances**
|
38 |
+
|
39 |
+
- **WER moyen** : **12%**
|
40 |
+
- **WER sur des Ă©chantillons bruyants** : **15%**
|
41 |
+
- Évaluations basées sur des données de test spécifiques au Wolof.
|
42 |
+
|
43 |
+
---
|
44 |
+
|
45 |
+
## **Exemple d'utilisation**
|
46 |
+
|
47 |
+
Voici un exemple simple pour utiliser le modèle avec la bibliothèque Hugging Face Transformers :
|
48 |
+
|
49 |
+
```python
|
50 |
+
from transformers import WhisperForConditionalGeneration, WhisperProcessor
|
51 |
+
import torch
|
52 |
+
|
53 |
+
# Charger le modèle et le processeur
|
54 |
+
model = WhisperForConditionalGeneration.from_pretrained("votre-nom-dépôt")
|
55 |
+
processor = WhisperProcessor.from_pretrained("votre-nom-dépôt")
|
56 |
+
|
57 |
+
# Prétraiter l'audio (spectrogramme ou entrée audio bruite)
|
58 |
+
audio_input = ... # Charger un spectrogramme ou des données audio prétraitées
|
59 |
+
inputs = processor(audio_input, return_tensors="pt").input_features
|
60 |
+
|
61 |
+
# Générer la transcription
|
62 |
+
predicted_ids = model.generate(inputs)
|
63 |
+
transcription = processor.batch_decode(predicted_ids, skip_special_tokens=True)
|
64 |
+
|
65 |
+
print("Transcription :", transcription)
|
66 |
+
```
|
67 |
+
|
68 |
+
---
|
69 |
+
|
70 |
+
## **Guide d'installation**
|
71 |
+
|
72 |
+
1. Clonez ce dépôt :
|
73 |
+
```bash
|
74 |
+
git clone https://huggingface.co/dofbi/wolof-asr
|
75 |
+
cd votre-dépôt
|
76 |
+
```
|
77 |
+
|
78 |
+
2. Installez les dépendances :
|
79 |
+
```bash
|
80 |
+
pip install transformers torch torchaudio
|
81 |
+
```
|
82 |
+
|
83 |
+
3. Testez un exemple avec un fichier audio :
|
84 |
+
```python
|
85 |
+
python app.py --audio_file chemin/vers/audio.wav
|
86 |
+
```
|
87 |
+
|
88 |
+
---
|
89 |
+
|
90 |
+
## **Fine-tuning du modèle**
|
91 |
+
|
92 |
+
Si vous souhaitez adapter ce modèle à vos propres données, voici les étapes principales :
|
93 |
+
|
94 |
+
1. Préparez vos données sous forme d'échantillons audio et de transcriptions textuelles.
|
95 |
+
2. Utilisez le script de fine-tuning fourni (voir `src/trainer.py`) avec vos données :
|
96 |
+
```bash
|
97 |
+
python src/trainer.py --train_data chemin/vers/données_train.json --val_data chemin/vers/données_val.json
|
98 |
+
```
|
99 |
+
|
100 |
+
3. Sauvegardez le modèle fine-tuné et chargez-le comme montré dans les exemples ci-dessus.
|
101 |
+
|
102 |
+
---
|
103 |
+
|
104 |
+
## **Ă€ propos**
|
105 |
+
|
106 |
+
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.
|
107 |
+
|
108 |
+
---
|
109 |
+
|
110 |
+
## **Licence**
|
111 |
+
|
112 |
+
Ce modèle est publié sous la licence MIT. Consultez le fichier `LICENSE` pour plus de détails.
|
113 |
+
|
114 |
+
---
|
115 |
+
|
116 |
+
Enrichissez-le davantage si vous ajoutez de nouvelles fonctionnalités, comme des tests ou des scripts complémentaires.
|