omnilingual-asr

GitHub
2.7k 246 中等 1 次阅读 今天NOASSERTION音频语言模型
AI 解读 由 AI 自动生成,仅供参考

Omnilingual ASR 是一款开源的多语言语音识别系统,旨在打破语言壁垒,支持全球超过 1600 种语言的语音转文字,其中数百种语言此前从未被任何自动语音识别技术覆盖。它主要解决了小语种及低资源语言缺乏高质量识别工具的问题,让偏远地区社区和研究人员也能享受先进的语音技术。

这款工具非常适合开发者、语言学家及 AI 研究人员使用。其独特之处在于采用了可扩展的零样本学习技术与灵活的模型家族,用户仅需提供少量配对示例,无需深厚专业背景或海量数据集,即可快速适配新语言。最新的 7B 参数模型在多数语言上的字符错误率低于 10%,达到了业界领先水平。此外,Omnilingual ASR 还推出了支持无限时长音频解码的新变体,并基于 fairseq2 构建,提供了从数据准备到模型训练的完整工作流。无论是希望集成多语言功能的工程师,还是致力于保护语言多样性的学者,都能利用它轻松实现高精度的语音转录。

使用场景

一家专注于全球人道主义救援的非政府组织,急需将来自巴基斯坦和利比里亚偏远地区的数千小时实地采访录音转化为文字,以分析当地紧急需求。

没有 omnilingual-asr 时

  • 语言覆盖盲区大:传统语音识别工具仅支持主流语言,面对数百种地方方言和小语种完全无法识别,导致大量珍贵的一手资料被闲置。
  • 数据门槛过高:要为每种小众语言训练模型,需要收集成千上万条标注好的语音数据,这在资源匮乏的灾区几乎不可能完成。
  • 依赖昂贵专家:必须聘请精通特定方言的语言学家进行人工听写或定制开发,成本高昂且耗时数月,严重延误救援决策。
  • 长音频处理困难:现有的开源方案往往对音频长度有限制,处理长达数小时的现场会议录音时需要繁琐的切割与拼接。

使用 omnilingual-asr 后

  • 千种语言即开即用:直接利用支持 1600+ 语言的预训练模型,瞬间识别包括此前从未被技术覆盖的罕见方言,让所有录音皆可转录。
  • 极低样本快速适配:仅需提供几组“语音 - 文本”配对示例,即可通过零样本学习能力微调模型,无需构建大规模数据集。
  • 自动化降低门槛:非技术人员也能部署使用,不再依赖稀缺的语言学专家,将转录成本降低 90% 以上,加速信息流转。
  • 无缝处理长录音:采用新版无限时长解码模型,直接输入整段现场采访音频,自动输出完整准确的文字稿,省去预处理麻烦。

omnilingual-asr 打破了语言技术的壁垒,让全球最边缘化的社区声音也能被听见并转化为实际行动。

运行环境要求

操作系统
  • Linux
  • macOS
  • Windows
GPU
  • 需要 NVIDIA GPU (基于 A100 测试数据)
  • 显存需求视模型大小而定:300M 模型约需 2-5GB,1B 约需 3-6GB,3B 约需 8-10GB,7B 约需 15-20GB
  • 支持 BF16 精度
内存

未说明 (建议至少为模型文件大小及显存需求的 2 倍以上)

依赖
notes1. 核心依赖为 fairseq2 工具包。2. 音频处理必须安装 libsndfile 系统库 (Mac: brew install libsndfile; Windows 需额外配置)。3. 默认情况下 CTC 和 LLM 模型仅支持小于 40 秒的音频推理;若需处理无限长度音频,请使用 'omniASR_LLM_Unlimited_*_v2' 系列模型。4. 模型首次运行时会自动下载至 ~/.cache/fairseq2/assets/,最大模型文件约 30GB。
python未说明
fairseq2
libsndfile
omnilingual-asr
omnilingual-asr hero image

快速开始

巴基斯坦和利比里亚转录收集工作中的实地照片拼贴图作为页眉图片。

在巴基斯坦和利比里亚语料库创建过程中拍摄的照片。

全语言语音识别:面向1600多种语言的开源多语言语音识别系统

Omnilingual ASR 是一个开源的语音识别系统,支持超过1,600种语言——其中包括数百种此前从未被任何语音识别技术覆盖的语言。该系统旨在实现广泛可访问性,只需少量成对示例即可添加新语言,而无需专业知识或大型数据集。通过将可扩展的零样本学习与灵活的模型系列相结合,Omnilingual ASR 旨在使语音技术对全球社区和研究人员更加包容和适应性强。

性能结果表格

我们的7B-LLM-ASR系统在1,600多种语言中均达到最先进水平,其中78%的语言字符错误率(CER)低于10%。各语言的CER结果及训练时长可在此CSV文件中找到。

2025年12月更新

我们发布了两套模型:

  • 相较于现有的LLM-ASR模型,CTC和LLM-ASR模型的检查点在准确性(CER)方面有所提升(omniASR_{CTC,LLM}_{300M,1B,3B,7B}_v2)。
  • LLM-ASR模型的一个新变体支持无限长度音频的解码(omniASR_LLM_Unlimited_{300M,1B,3B,7B}_v2)。无限长度音频模型在架构概述部分中有简要介绍。其准确度与有限长度音频模型相当,但目前尚不支持针对该模型的微调配方。

文档

快速入门

模型与架构

  • 模型规格 - 可用模型、参数及内存要求
  • 架构概述 - W2V、CTC和LLM模型家族的技术细节
  • 资产管理 - 用于管理模型、分词器和数据集的配置系统

训练与数据流程

  • 数据准备 - 多语言数据集准备、HuggingFace集成和parquet处理的端到端指南
  • 训练配方 - 针对CTC和LLM模型训练的预配置工作流

安装

这些模型是使用fairseq2开发的,这是一个以研究为导向的序列建模工具包。虽然我们提供了一个跨平台运行的参考推理流水线,但音频支持需要libsndfile(Mac: brew install libsndfile; Windows可能需要额外的设置)。

# 使用pip
pip install omnilingual-asr

# 使用uv
uv add omnilingual-asr

推理

from omnilingual_asr.models.inference.pipeline import ASRInferencePipeline

pipeline = ASRInferencePipeline(model_card="omniASR_LLM_Unlimited_7B_v2")
audio_files = ["/path/to/eng_audio1.flac", "/path/to/deu_audio2.wav"]
lang = ["eng_Latn", "deu_Latn"]
transcriptions = pipeline.transcribe(audio_files, lang=lang, batch_size=2)

有关运行特定模型的更多详细信息,请参阅src/omnilingual_asr/models/inference目录。

⚠️ 重要提示: 目前,CTC和LLM模型套件仅接受40秒以下的音频文件进行推理。

支持的语言

要查看完整的1600多种支持语言列表,您可以以编程方式访问语言列表此处

from omnilingual_asr.models.wav2vec2_llama.lang_ids import supported_langs

# 打印所有支持的语言
print(f"总支持语言数: {len(supported_langs)}")
print(supported_langs)

# 检查特定语言是否支持
if "eng_Latn" in supported_langs:
    print("英语(拉丁字母)已支持!")

语言格式为 {language_code}_{script},例如 eng_Latn - 英语(拉丁字母),cmn_Hans - 普通话(简体字),...

使用 HuggingFace 数据集 🤗

我们在HuggingFace上提供了一个大规模多语言语音数据集,采用CC-BY-4.0许可:facebook/omnilingual-asr-corpus。 该数据集可以直接与我们的推理流水线结合使用,用于评估或测试:

pip install "omnilingual-asr[data]"
from datasets import load_dataset
from omnilingual_asr.models.inference.pipeline import ASRInferencePipeline

# 加载特定语言的数据集(例如利古里亚语)
omni_dataset = load_dataset("facebook/omnilingual-asr-corpus", "lij_Latn", split="train", streaming=True)
batch = next(omni_dataset.iter(5))

# 转换为流水线输入格式
audio_data = [{"waveform": x["array"], "sample_rate": x["sampling_rate"]}
              for x in batch["audio"]]

# 运行推理
pipeline = ASRInferencePipeline(model_card="omniASR_LLM_7B_v2")
transcriptions = pipeline.transcribe(audio_data, batch_size=2)

# 显示结果
for i, (transcription, original_text) in enumerate(zip(transcriptions, batch["raw_text"]), 1):
    print(f"\n 样本 {i}:")
    print(f"   真实文本: {original_text}")
    print(f"   预测文本: {transcription}")

模型架构

模型名称 特性 参数量 下载大小(FP32) 推理显存¹ 实时因子¹(相对速度)²
omniASR_W2V_300M SSL 317_390_592 1.2 GiB
omniASR_W2V_1B SSL 965_514_752 3.6 GiB
omniASR_W2V_3B SSL 3_064_124_672 12.0 GiB
omniASR_W2V_7B SSL 6_488_487_168 25.0 GiB
omniASR_CTC_300M ASR 325_494_996 1.3 GiB ~2 GiB 0.001 (96x)
omniASR_CTC_1B ASR 975_065_300 3.7 GiB ~3 GiB 0.002 (48x)
omniASR_CTC_3B ASR 3_080_423_636 12.0 GiB ~8 GiB 0.003 (32x)
omniASR_CTC_7B ASR 6_504_786_132 25.0 GiB ~15 GiB 0.006 (16x)
omniASR_CTC_300M_v2 ASR 325_494_996 1.3 GiB ~2 GiB 0.001 (96x)
omniASR_CTC_1B_v2 ASR 975_065_300 3.7 GiB ~3 GiB 0.002 (48x)
omniASR_CTC_3B_v2 ASR 3_080_423_636 12.0 GiB ~8 GiB 0.003 (32x)
omniASR_CTC_7B_v2 ASR 6_504_786_132 25.0 GiB ~15 GiB 0.006 (16x)
omniASR_LLM_300M 具有可选语言条件的 ASR 1_627_603_584 6.1 GiB ~5 GiB 0.090 (~1x)
omniASR_LLM_1B 具有可选语言条件的 ASR 2_275_710_592 8.5 GiB ~6 GiB 0.091 (~1x)
omniASR_LLM_3B 具有可选语言条件的 ASR 4_376_679_040 17.0 GiB ~10 GiB 0.093 (~1x)
omniASR_LLM_7B 具有可选语言条件的 ASR 7_801_041_536 30.0 GiB ~17 GiB 0.092 (~1x)
omniASR_LLM_300M_v2 具有可选语言条件的 ASR 1_627_603_584 6.1 GiB ~5 GiB 0.090 (~1x)
omniASR_LLM_1B_v2 具有可选语言条件的 ASR 2_275_710_592 8.5 GiB ~6 GiB 0.091 (~1x)
omniASR_LLM_3B_v2 具有可选语言条件的 ASR 4_376_679_040 17.0 GiB ~10 GiB 0.093 (~1x)
omniASR_LLM_7B_v2 具有可选语言条件的 ASR 7_801_041_536 30.0 GiB ~17 GiB 0.092 (~1x)
omniASR_LLM_Unlimited_300M_v2 omniASR_LLM_300M + 无限制音频长度 1_627_603_584 6.1 GiB ~5 GiB 0.092 (~1x) (0.206)³
omniASR_LLM_Unlimited_1B_v2 omniASR_LLM_1B + 无限制音频长度 2_275_710_592 8.5 GiB ~6 GiB 0.097 (~1x) (0.207)³
omniASR_LLM_Unlimited_3B_v2 omniASR_LLM_3B + 无限制音频长度 4_376_679_040 17.0 GiB ~10 GiB 0.095 (~1x) (0.208)³
omniASR_LLM_Unlimited_7B_v2 omniASR_LLM_7B + 无限制音频长度 7_801_041_536 30.0 GiB ~17 GiB 0.097 (~1x) (0.208)³
omniASR_LLM_7B_ZS 零样本 ASR 7_810_900_608 30.0 GiB ~20 GiB 0.194 (~0.5x)
omniASR_tokenizer_v1 适用于除 omniASR_LLM_7B 之外所有非 v2 模型的分词器 - 100 KiB -
omniASR_tokenizer_v1_variant7 适用于 omniASR_LLM_7B 架构的分词器 - 100 KiB -
omniASR_tokenizer_written_v2 适用于所有 v2 架构的分词器 - 100 KiB -

¹ (batch=1,audio_len=30s,BF16,A100)

² 相对于 omniASR_LLM_7B 的相对速度

³ (batch=1,audio_len=15min,BF16,A100)

模型下载与存储

  • 自动下载:模型在训练或推理首次使用时会自动下载
  • 存储位置:模型会被保存到 ~/.cache/fairseq2/assets/

架构文档

我们在模型目录中提供了高层次的模型架构概述(src/omnilingual_asr/models),每个模型家族的单独配置则位于各自的子目录中:

训练

如需在您自己的数据上进一步微调已发布的检查点,请先参考我们的 数据准备指南,然后按照 微调配方指南 进行操作。

许可证

Omnilingual ASR 的代码和模型均采用 Apache 2.0 许可证发布。

引用

如果您在研究中使用了全语言 ASR 模型套件,并希望引用我们,请使用以下 BibTeX 条目!

@misc{omnilingualasrteam2025omnilingualasropensourcemultilingual,
      title={全语言 ASR:面向 1600 多种语言的开源多语言语音识别},
      author={全语言 ASR 团队以及 Gil Keren、Artyom Kozhevnikov、Yen Meng、Christophe Ropers、Matthew Setzler、Skyler Wang、Ife Adebara、Michael Auli、Can Balioglu、Kevin Chan、Chierh Cheng、Joe Chuang、Caley Droof、Mark Duppenthaler、Paul-Ambroise Duquenne、Alexander Erben、Cynthia Gao、Gabriel Mejia Gonzalez、Kehan Lyu、Sagar Miglani、Vineel Pratap、Kaushik Ram Sadagopan、Safiyyah Saleem、Arina Turkatenko、Albert Ventayol-Boada、Zheng-Xin Yong、Yu-An Chung、Jean Maillard、Rashel Moritz、Alexandre Mourachko、Mary Williamson、Shireen Yates},
      year={2025},
      eprint={2511.09690},
      archivePrefix={arXiv},
      primaryClass={cs.CL},
      url={https://arxiv.org/abs/2511.09690},
}

版本历史

0.2.02025/12/22
0.1.02025/12/12

常见问题

相似工具推荐

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

140.4k|★★☆☆☆|今天
开发框架Agent语言模型

NextChat

NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。

87.6k|★★☆☆☆|昨天
开发框架语言模型

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|昨天
图像数据工具视频

ragflow

RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。

77.1k|★★★☆☆|2天前
Agent图像开发框架

PaddleOCR

PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来,转换成计算机可读取的结构化数据,让机器真正“看懂”图文内容。 面对海量纸质或电子文档,PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域,它扮演着连接图像与大型语言模型(LLM)的桥梁角色,能将视觉信息直接转化为文本输入,助力智能问答、文档分析等应用场景落地。 PaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显:不仅支持全球 100 多种语言的识别,还能在 Windows、Linux、macOS 等多个系统上运行,并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目,PaddleOCR 既能满足快速集成的需求,也能支撑前沿的视觉语言研究,是处理文字识别任务的理想选择。

74.9k|★★★☆☆|今天
语言模型图像开发框架

OpenHands

OpenHands 是一个专注于 AI 驱动开发的开源平台,旨在让智能体(Agent)像人类开发者一样理解、编写和调试代码。它解决了传统编程中重复性劳动多、环境配置复杂以及人机协作效率低等痛点,通过自动化流程显著提升开发速度。 无论是希望提升编码效率的软件工程师、探索智能体技术的研究人员,还是需要快速原型验证的技术团队,都能从中受益。OpenHands 提供了灵活多样的使用方式:既可以通过命令行(CLI)或本地图形界面在个人电脑上轻松上手,体验类似 Devin 的流畅交互;也能利用其强大的 Python SDK 自定义智能体逻辑,甚至在云端大规模部署上千个智能体并行工作。 其核心技术亮点在于模块化的软件智能体 SDK,这不仅构成了平台的引擎,还支持高度可组合的开发模式。此外,OpenHands 在 SWE-bench 基准测试中取得了 77.6% 的优异成绩,证明了其解决真实世界软件工程问题的能力。平台还具备完善的企业级功能,支持与 Slack、Jira 等工具集成,并提供细粒度的权限管理,适合从个人开发者到大型企业的各类用户场景。

70.6k|★★★☆☆|今天
语言模型Agent开发框架