Downloads · 30 days
126
20% of all-time downloads
bivariant/Griot-ASR-W-0.8-ALL
Griot-ASR-W-0.8-ALL is a automatic speech recognition model from bivariant. Use it when you need speech turned into text. It is set up for transformers. The card lists the license as apache-2.0.
GRIOT-ASR-W-0.8-ALL est le modèle ouvert de reconnaissance automatique de la parole (ASR) multilingue de Bivariant dédié aux langues africaines.
Downloads · 30 days
126
20% of all-time downloads
All-time downloads
626
Public
Parameters
809M
15.1 GB on disk
Likes
5
Public
Click a slice to open those files.
.safetensors14.1 GB · 100%
From the Hugging Face model README
GRIOT-ASR-W-0.8-ALL est le modèle ouvert de reconnaissance automatique de la parole (ASR) multilingue de Bivariant dédié aux langues africaines.
Construit sur une architecture modulaire (base Whisper partagée + adaptateurs par langue), Griot-ASR fournit des transcriptions précises, naturelles et respectueuses des spécificités orthographiques — notamment la gestion complète des diacritiques pour les langues déjà validées, ainsi que la transcription de phrases naturelles (parler courant, pas uniquement de la lecture isolée).
Le projet couvre un total de 18 langues africaines. La mise à disposition des adaptateurs suit un déploiement progressif : plusieurs modèles optimisés sont déjà disponibles, accompagnés de versions Preview régulièrement enrichies, tandis que les langues restantes intègrent le dépôt au fil des validations.
| Code ISO | Langue | Statut du déploiement |
|---|---|---|
bba | Baatonou | Disponible |
ewe | Ewé | Disponible |
fon | Fon | Disponible |
fub | Fulfulde / Peul | Disponible |
lin | Lingala | Disponible |
som | Somali | Disponible |
bci | Baoulé | Preview (améliorations continues) |
dyu | Dioula | Preview (améliorations continues) |
mos | Mooré / Mossi | Preview (améliorations continues) |
sag | Sango | Preview (améliorations continues) |
swh | Swahili | Preview (améliorations continues) |
ewo | Ewondo | Arrivée progressive |
hau | Hausa | Arrivée progressive |
lug | Luganda | Arrivée progressive |
mwm | Sar | Arrivée progressive |
orm | Oromo | Arrivée progressive |
sna | Shona | Arrivée progressive |
wol | Wolof | Arrivée progressive |
💡 Note : Les modèles marqués en Preview sont pleinement fonctionnels pour l'inférence et reçoivent des mises à jour itératives pour affiner leurs performances. Les adaptateurs restants seront poussés au fur et à mesure pour compléter l'écosystème des 18 langues.
Les métriques ci-dessous concernent les langues Disponibles, mesurées sur des jeux de test dédiés par langue.
| Code | Langue | Échantillons (test) | CER | WER |
|---|---|---|---|---|
lin +wh | Lingala | 2 906 | 11.67% | 32.36% |
bba | Baatonou | — | 9.09% | 22.16% |
fub | Peul / Fulfulde | 3 022 | 12.40% | 28.24% |
fon | Fon | 3 081 | 11.16% | 18.62% |
som +wh | Somali | 3 081 | 11.16% | 37.52% |
ewe | Ewé — Waxal v2 | 1 884 | 12.44% | 38.44% |
ewe | Ewé — Nelver28 | 2 931 | 2.97% | 10.52% |
+wh : langue déjà supportée nativement par Whisper en zero-shot.
Les métriques des langues en Preview et de celles en arrivée progressive ne sont pas encore communiquées publiquement ; elles seront publiées au moment de leur passage au statut Disponible.
pip install transformers==5.12.1 peft==0.20.0 torchao==0.18.0
from transformers import (
AutoModelForSpeechSeq2Seq,
WhisperProcessor,
WhisperTokenizer,
WhisperFeatureExtractor,
)
import librosa
REPO = "bivariant/Griot-ASR-W-0.8-ALL"
AUDIO_PATH = "path/to/your/audio.wav"
feature_extractor = WhisperFeatureExtractor.from_pretrained(REPO)
# --- Whisper de base, sans adaptateur de langue ---
model_base = AutoModelForSpeechSeq2Seq.from_pretrained(REPO, trust_remote_code=True)
tokenizer_base = WhisperTokenizer.from_pretrained(REPO)
processor_base = WhisperProcessor(feature_extractor=feature_extractor, tokenizer=tokenizer_base)
# --- Adaptateur "fon" ---
model_fon = AutoModelForSpeechSeq2Seq.from_pretrained(REPO, trust_remote_code=True, language="fon")
tokenizer_fon = WhisperTokenizer.from_pretrained(REPO, subfolder="fon")
processor_fon = WhisperProcessor(feature_extractor=feature_extractor, tokenizer=tokenizer_fon)
audio, sr = librosa.load(AUDIO_PATH, sr=16000)
inputs = processor_fon(audio, sampling_rate=16000, return_tensors="pt")
generated_ids = model_fon.generate(inputs["input_features"],num_beams=4, repetition_penalty=1.0, no_repeat_ngram_size=14,
max_new_tokens=440, length_penalty=1.2,return_dict_in_generate=True, output_scores=True)
print("FON:", processor_fon.batch_decode(generated_ids.sequences[0], skip_special_tokens=True)[0])
# --- Changer de langue : nouvel appel from_pretrained, pas de méthode "load_language" ---
model_baatonu = AutoModelForSpeechSeq2Seq.from_pretrained(REPO, trust_remote_code=True, language="baatonu")
tokenizer_baatonu = WhisperTokenizer.from_pretrained(REPO, subfolder="baatonu")
processor_baatonu = WhisperProcessor(feature_extractor=feature_extractor, tokenizer=tokenizer_baatonu)
generated_ids = model_baatonu.generate(inputs["input_features"],num_beams=4, repetition_penalty=1.0, no_repeat_ngram_size=14,
max_new_tokens=440, length_penalty=1.2,return_dict_in_generate=True, output_scores=True)
print("BAATONU:", processor_baatonu.batch_decode(generated_ids.sequences[0], skip_special_tokens=True)[0])
Pour changer de langue, il faut recharger le modèle avec
from_pretrained(..., language="<lang>")et le tokenizer correspondant viasubfolder="<lang>"— il n'existe pas de méthode permettant de changer la langue d'un modèle déjà chargé.
Les adaptateurs pour Ewondo, Hausa, Luganda, Sar, Oromo, Shona et Wolof seront publiés au fur et à mesure de leur validation, à mesure que la collecte de données progresse. Les langues déjà en Preview (Baoulé, Dioula, Mossi, Sango, Swahili) continueront d'être affinées jusqu'à obtention d'un statut Disponible.
bivariant/Griot-ASR-W-0.8-ALLGriot — Open Multilingual Intelligence for African Languages.