Système de reconnaissance vocale multilingue open source de Meta, prenant en charge plus de 1600 langues

NOASSERTIONPythonomnilingual-asrfacebookresearch 1.6k Last Updated: November 13, 2025

ASR Omnilingual – Système open source de reconnaissance vocale multilingue de Meta

Présentation du projet

L’ASR Omnilingual est un système révolutionnaire de reconnaissance vocale open source développé par l’équipe Fundamental AI Research (FAIR) de Meta. Ce système prend en charge la reconnaissance vocale dans plus de 1 600 langues, y compris des centaines de langues jamais couvertes auparavant par aucune technologie de reconnaissance vocale automatique (ASR). Ce qui distingue particulièrement ce projet, c’est qu’il ne se limite pas aux 1 600 langues explicitement entraînées : grâce à l’apprentissage contextuel sans exemple (zero-shot), il peut s’étendre à plus de 5 400 langues — couvrant ainsi presque toutes les langues parlées dotées d’un système d’écriture connu.

Fonctionnalités principales

1. Couverture linguistique inédite

  • Plus de 1 600 langues officiellement prises en charge : langues entièrement entraînées
  • Plus de 5 400 langues potentiellement prises en charge : extension possible via apprentissage zero-shot
  • Prise en charge des langues à faibles ressources : 78 % des langues supportées affichent un taux d’erreur de caractères (CER) inférieur à 10 %
  • Inclut le japonais : code de langue jpn_Jpan

2. Licence open source

Le projet est entièrement open source sous licence Apache 2.0, contrairement à la licence restrictive Llama précédemment utilisée par Meta. Cela signifie que chercheurs et développeurs peuvent l’utiliser immédiatement et gratuitement, même dans des projets commerciaux ou d’entreprise, sans aucune restriction.

3. Capacité d’apprentissage zero-shot

Grâce à la fonctionnalité d’apprentissage contextuel sans exemple, les utilisateurs peuvent fournir quelques paires audio-texte dans une nouvelle langue au moment de l’inférence, permettant ainsi au modèle de transcrire d’autres énoncés dans cette langue sans aucun réentraînement. Cette approche confère au système une extensibilité sans précédent.

Architecture technique

Famille de modèles

Le projet comprend plusieurs variantes de modèles :

  1. Série d’encodeurs W2V (Wav2Vec 2.0)

    • Tailles : 300M, 1B, 3B, 7B paramètres
    • Utilisés pour extraire des représentations vocales multilingues
  2. Série de décodeurs CTC

    • Basés sur le cadre Connectionist Temporal Classification (CTC)
    • Tailles : 300M, 1B, 3B, 7B paramètres
  3. Série de décodeurs LLM

    • Basés sur l’architecture Transformer
    • Tailles : 300M, 1B, 3B, 7B paramètres
    • Inclut une variante zero-shot (7B_ZS)

Innovations techniques clés

Le système étend l’encodeur wav2vec 2.0 à 7 milliards de paramètres, permettant pour la première fois de générer à partir de données vocales brutes non transcrites des représentations sémantiques multilingues riches et à grande échelle.

Jeu de données

Corpus ASR Omnilingual

Meta a collaboré avec des chercheurs et organisations communautaires en Afrique, en Asie et ailleurs pour créer le corpus ASR Omnilingual, un ensemble de données de 3 350 heures couvrant 348 langues à faibles ressources.

Organisations partenaires :

  • African Next Voices (soutenu par la Fondation Gates)
  • Projet Common Voice de la Fondation Mozilla
  • Lanfrica / NaijaVoices

Caractéristiques du jeu de données :

  • Licence ouverte CC-BY-4.0
  • Contient des échantillons vocaux naturels et non scriptés
  • Conçu avec des invites ouvertes culturellement pertinentes

Installation et utilisation

Installation de base

# Avec pip
pip install omnilingual-asr

# Avec uv
uv add omnilingual-asr

Remarque : la prise en charge audio nécessite la bibliothèque libsndfile (Mac : brew install libsndfile).

Exemple d’utilisation basique

from omnilingual_asr.models.inference.pipeline import ASRInferencePipeline

# Initialisation du pipeline
pipeline = ASRInferencePipeline(model_card="omniASR_LLM_7B")

# Préparation des fichiers audio et des codes de langue
audio_files = ["/path/to/eng_audio1.flac", "/path/to/deu_audio2.wav"]
lang = ["eng_Latn", "deu_Latn"]

# Transcription
transcriptions = pipeline.transcribe(audio_files, lang=lang, batch_size=2)

Liste des langues prises en charge

from omnilingual_asr.models.wav2vec2_llama.lang_ids import supported_langs

# Affichage de toutes les langues supportées
print(f"Nombre total de langues prises en charge : {len(supported_langs)}")
print(supported_langs)

# Vérification du support d’une langue spécifique
if "eng_Latn" in supported_langs:
    print("L'anglais (écriture latine) est pris en charge !")

Format des codes de langue : {code_langue}_{système_d_écriture}, par exemple :

  • eng_Latn – anglais (écriture latine)
  • cmn_Hans – mandarin (caractères chinois simplifiés)
  • jpn_Jpan – japonais (écriture japonaise)

Utilisation du jeu de données pour l’évaluation

from datasets import load_dataset
from omnilingual_asr.models.inference.pipeline import ASRInferencePipeline

# Chargement d’un sous-ensemble linguistique spécifique
omni_dataset = load_dataset("facebook/omnilingual-asr-corpus", "lij_Latn", 
                             split="train", streaming=True)
batch = next(omni_dataset.iter(5))

# Conversion au format attendu par le pipeline
audio_data = [{"waveform": x["array"], "sample_rate": x["sampling_rate"]}
              for x in batch["audio"]]

# Inférence
pipeline = ASRInferencePipeline(model_card="omniASR_LLM_7B")
transcriptions = pipeline.transcribe(audio_data, batch_size=2)

Performances

Le modèle le plus grand, 7B-LLM-ASR, obtient un taux d’erreur de caractères inférieur à 10 sur près de 80 % des langues prises en charge. Parmi celles-ci :

  • 236 langues ont nécessité plus de 50 heures de données d’entraînement
  • 195 langues ont atteint de bonnes performances avec moins de 10 heures de données d’entraînement

Perspectives d’application

Ce système présente une importance majeure pour l’éducation, les administrations publiques et les ONG :

  • Éducation : transcription et traduction de cours ou traditions orales en langue maternelle
  • Gouvernements et ONG : interfaces vocales accessibles et outils documentaires pour les communautés marginalisées
  • Industrie de l’IA : preuve qu’un système d’IA à l’échelle mondiale peut reposer sur une base ouverte et pilotée par la communauté

Limitations actuelles

⚠️ Remarque importante : actuellement, seuls les fichiers audio d’une durée inférieure à 40 secondes sont acceptés pour l’inférence. L’équipe prévoit d’ajouter prochainement la prise en charge de fichiers audio de longueur illimitée.

Ressources du projet

Citation

Si vous utilisez Omnilingual ASR dans vos travaux de recherche, veuillez citer selon le format BibTeX suivant :

@misc{omnilingualasr2025,
  title={{Omnilingual ASR}: Open-Source Multilingual Speech Recognition for 1600+ Languages},
  author={{Omnilingual ASR Team} and Keren, Gil and Kozhevnikov, Artyom and Meng, Yen and Ropers, Christophe and Setzler, Matthew and Wang, Skyler and Adebara, Ife and Auli, Michael and Chan, Kevin and Cheng, Chierh and Chuang, Joe and Droof, Caley and Duppenthaler, Mark and Duquenne, Paul-Ambroise and Erben, Alexander and Gao, Cynthia and Mejia Gonzalez, Gabriel and Lyu, Kehan and Miglani, Sagar and Pratap, Vineel and Sadagopan, Kaushik Ram and Saleem, Safiyyah and Turkatenko, Arina and Ventayol-Boada, Albert and Yong, Zheng-Xin and Chung, Yu-An and Maillard, Jean and Moritz, Rashel and Mourachko, Alexandre and Williamson, Mary and Yates, Shireen},
  year={2025},
  url={https://ai.meta.com/research/publications/omnilingual-asr-open-source-multilingual-speech-recognition-for-1600-languages/},
}

Conclusion

L’ASR Omnilingual représente une avancée majeure dans le domaine de la reconnaissance vocale. Il réalise non seulement une couverture linguistique sans précédent sur le plan technique, mais surtout, son caractère ouvert et extensible offre une véritable démocratisation technologique aux communautés linguistiques du monde entier. Cela marque un tournant décisif dans le domaine de l’ASR : passage d’un modèle centralisé et fermé vers une infrastructure extensible par la communauté, transformant ainsi la reconnaissance vocale en un outil inclusif plutôt que restrictif.

Star History Chart