Sistema de reconocimiento de voz multilingüe de Meta, de código abierto, que admite más de 1600 idiomas
Omnilingual ASR: Sistema de reconocimiento de voz multilingüe de código abierto de Meta
Resumen del proyecto
Omnilingual ASR es un revolucionario sistema de reconocimiento de voz de código abierto desarrollado por el equipo de Investigación en Inteligencia Artificial Fundamental (FAIR) de Meta. Este sistema admite el reconocimiento de voz en más de 1600 idiomas, incluyendo cientos que nunca antes habían sido cubiertos por ninguna tecnología de reconocimiento automático del habla (ASR). Lo que hace especial a este proyecto es que no solo soporta los 1600 idiomas entrenados, sino que también puede ampliarse mediante aprendizaje contextual con cero ejemplos (zero-shot) a más de 5400 idiomas, abarcando prácticamente todos los sistemas de escritura conocidos.
Características principales
1. Cobertura lingüística sin precedentes
- Más de 1600 idiomas oficialmente compatibles: Idiomas completamente entrenados
- Más de 5400 idiomas potencialmente compatibles: Soporte ampliable mediante aprendizaje con cero ejemplos
- Soporte para idiomas con pocos recursos: El 78 % de los idiomas compatibles tienen una tasa de error de caracteres (CER) inferior al 10 %
- Incluye soporte para japonés: Código de idioma
jpn_Jpan
2. Licencia de código abierto
El proyecto se publica completamente bajo la licencia Apache 2.0, y no bajo la restrictiva licencia Llama utilizada anteriormente por Meta. Esto significa que investigadores y desarrolladores pueden utilizarlo inmediatamente y gratuitamente, incluso en proyectos comerciales o empresariales, sin restricciones.
3. Capacidad de aprendizaje con cero ejemplos
Gracias a su función de aprendizaje contextual con cero ejemplos, los usuarios pueden proporcionar durante la inferencia algunos pares de ejemplos de audio-texto en un nuevo idioma, permitiendo que el modelo transcriba frases adicionales en ese idioma sin necesidad de reentrenamiento alguno. Esto otorga al sistema una escalabilidad sin precedentes.
Arquitectura técnica
Familia de modelos
El proyecto incluye varias variantes de modelos:
Serie de codificadores W2V (Wav2Vec 2.0)
- Tamaño de parámetros: 300M, 1B, 3B, 7B
- Utilizados para extraer representaciones de voz multilingües
Serie de decodificadores CTC
- Basados en el marco de clasificación temporal conexionista (CTC)
- Tamaño de parámetros: 300M, 1B, 3B, 7B
Serie de decodificadores LLM
- Basados en la arquitectura Transformer
- Tamaño de parámetros: 300M, 1B, 3B, 7B
- Incluyen una variante con capacidad zero-shot (7B_ZS)
Innovaciones técnicas clave
El sistema logra por primera vez generar ricas representaciones semánticas multilingües a gran escala directamente desde datos de voz sin transcribir, ampliando el codificador wav2vec 2.0 hasta 7 mil millones de parámetros.
Conjunto de datos
Corpus Omnilingual ASR
Meta colaboró con investigadores y organizaciones comunitarias en África, Asia y otras regiones para crear el corpus Omnilingual ASR, un conjunto de datos de 3350 horas que abarca 348 idiomas con pocos recursos.
Organizaciones colaboradoras:
- African Next Voices (apoyado por la Fundación Gates)
- Proyecto Common Voice de la Fundación Mozilla
- Lanfrica / NaijaVoices
Características del conjunto de datos:
- Publicado bajo licencia CC-BY-4.0
- Contiene voz natural y espontánea (sin guion previo)
- Diseño de indicaciones abiertas culturalmente relevantes
Instalación y uso
Instalación básica
# Usando pip
pip install omnilingual-asr
# Usando uv
uv add omnilingual-asr
Nota: El soporte de audio requiere la biblioteca libsndfile (Mac: brew install libsndfile)
Ejemplo básico de uso
from omnilingual_asr.models.inference.pipeline import ASRInferencePipeline
# Inicializar la tubería
pipeline = ASRInferencePipeline(model_card="omniASR_LLM_7B")
# Preparar archivos de audio e idiomas
audio_files = ["/path/to/eng_audio1.flac", "/path/to/deu_audio2.wav"]
lang = ["eng_Latn", "deu_Latn"]
# Realizar la transcripción
transcriptions = pipeline.transcribe(audio_files, lang=lang, batch_size=2)
Consultar idiomas compatibles
from omnilingual_asr.models.wav2vec2_llama.lang_ids import supported_langs
# Imprimir todos los idiomas compatibles
print(f"Total supported languages: {len(supported_langs)}")
print(supported_langs)
# Verificar si un idioma específico está soportado
if "eng_Latn" in supported_langs:
print("English (Latin script) is supported!")
Formato de idioma: {código_de_idioma}_{sistema_de_escritura}, por ejemplo:
eng_Latn– inglés (escritura latina)cmn_Hans– mandarín (chino simplificado)jpn_Jpan– japonés (escritura japonesa)
Usar el conjunto de datos para evaluación
from datasets import load_dataset
from omnilingual_asr.models.inference.pipeline import ASRInferencePipeline
# Cargar un subconjunto del dataset para un idioma específico
omni_dataset = load_dataset("facebook/omnilingual-asr-corpus", "lij_Latn",
split="train", streaming=True)
batch = next(omni_dataset.iter(5))
# Convertir al formato de entrada de la tubería
audio_data = [{"waveform": x["array"], "sample_rate": x["sampling_rate"]}
for x in batch["audio"]]
# Ejecutar inferencia
pipeline = ASRInferencePipeline(model_card="omniASR_LLM_7B")
transcriptions = pipeline.transcribe(audio_data, batch_size=2)
Métricas de rendimiento
El modelo más grande, 7B-LLM-ASR, logra una tasa de error de caracteres inferior a 10 en casi el 80 % de los idiomas soportados. Entre ellos:
- 236 idiomas requirieron más de 50 horas de datos de entrenamiento
- 195 idiomas alcanzaron buenos resultados con menos de 10 horas de datos de entrenamiento
Aplicaciones futuras
Este sistema tiene gran relevancia para la educación, gobiernos y organizaciones no gubernamentales:
- Educación: permite transcribir y traducir tradiciones orales o conferencias en lenguas maternas
- Gobiernos y ONGs: ofrece interfaces de voz y herramientas documentales accesibles para comunidades marginadas
- Industria de la IA: demuestra que los sistemas de IA a escala global pueden construirse sobre bases abiertas y comunitarias
Limitaciones actuales
⚠️ Nota importante: Actualmente solo se aceptan archivos de audio de hasta 40 segundos para inferencia. El equipo planea añadir pronto soporte para transcripción de archivos de duración ilimitada.
Recursos del proyecto
- Repositorio en GitHub: https://github.com/facebookresearch/omnilingual-asr
- Conjunto de datos: https://huggingface.co/datasets/facebook/omnilingual-asr-corpus
- Demostración en línea: https://huggingface.co/spaces/facebook/omniasr-transcriptions
- Artículo técnico: https://ai.meta.com/research/publications/omnilingual-asr-open-source-multilingual-speech-recognition-for-1600-languages/
Formato de citación
Si utiliza Omnilingual ASR en su investigación, cite con el siguiente formato BibTeX:
@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/},
}
Conclusión
Omnilingual ASR representa un avance significativo en la tecnología de reconocimiento de voz, no solo por su cobertura lingüística sin precedentes, sino, sobre todo, por su apertura y escalabilidad, que brindan verdadera democratización tecnológica a comunidades lingüísticas globales. Marca un cambio de paradigma en el campo del ASR: de servicios centralizados y cerrados en la nube hacia infraestructuras abiertas y ampliables por la comunidad, convirtiendo así la tecnología de reconocimiento de voz en una herramienta inclusiva en lugar de restrictiva.