[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-facebookresearch--omnilingual-asr":3,"tool-facebookresearch--omnilingual-asr":64},[4,17,25,39,48,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",140436,2,"2026-04-05T23:32:43",[13,14,15],"开发框架","Agent","语言模型","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":10,"last_commit_at":23,"category_tags":24,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,15],{"id":26,"name":27,"github_repo":28,"description_zh":29,"stars":30,"difficulty_score":10,"last_commit_at":31,"category_tags":32,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[33,34,35,36,14,37,15,13,38],"图像","数据工具","视频","插件","其他","音频",{"id":40,"name":41,"github_repo":42,"description_zh":43,"stars":44,"difficulty_score":45,"last_commit_at":46,"category_tags":47,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,3,"2026-04-04T04:44:48",[14,33,13,15,37],{"id":49,"name":50,"github_repo":51,"description_zh":52,"stars":53,"difficulty_score":45,"last_commit_at":54,"category_tags":55,"status":16},519,"PaddleOCR","PaddlePaddle\u002FPaddleOCR","PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来，转换成计算机可读取的结构化数据，让机器真正“看懂”图文内容。\n\n面对海量纸质或电子文档，PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域，它扮演着连接图像与大型语言模型（LLM）的桥梁角色，能将视觉信息直接转化为文本输入，助力智能问答、文档分析等应用场景落地。\n\nPaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显：不仅支持全球 100 多种语言的识别，还能在 Windows、Linux、macOS 等多个系统上运行，并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目，PaddleOCR 既能满足快速集成的需求，也能支撑前沿的视觉语言研究，是处理文字识别任务的理想选择。",74939,"2026-04-05T23:16:38",[15,33,13,37],{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":45,"last_commit_at":62,"category_tags":63,"status":16},2181,"OpenHands","OpenHands\u002FOpenHands","OpenHands 是一个专注于 AI 驱动开发的开源平台，旨在让智能体（Agent）像人类开发者一样理解、编写和调试代码。它解决了传统编程中重复性劳动多、环境配置复杂以及人机协作效率低等痛点，通过自动化流程显著提升开发速度。\n\n无论是希望提升编码效率的软件工程师、探索智能体技术的研究人员，还是需要快速原型验证的技术团队，都能从中受益。OpenHands 提供了灵活多样的使用方式：既可以通过命令行（CLI）或本地图形界面在个人电脑上轻松上手，体验类似 Devin 的流畅交互；也能利用其强大的 Python SDK 自定义智能体逻辑，甚至在云端大规模部署上千个智能体并行工作。\n\n其核心技术亮点在于模块化的软件智能体 SDK，这不仅构成了平台的引擎，还支持高度可组合的开发模式。此外，OpenHands 在 SWE-bench 基准测试中取得了 77.6% 的优异成绩，证明了其解决真实世界软件工程问题的能力。平台还具备完善的企业级功能，支持与 Slack、Jira 等工具集成，并提供细粒度的权限管理，适合从个人开发者到大型企业的各类用户场景。",70626,"2026-04-05T22:51:36",[15,14,13,36],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":79,"owner_email":79,"owner_twitter":79,"owner_website":80,"owner_url":81,"languages":82,"stars":87,"forks":88,"last_commit_at":89,"license":90,"difficulty_score":45,"env_os":91,"env_gpu":92,"env_ram":93,"env_deps":94,"category_tags":100,"github_topics":79,"view_count":10,"oss_zip_url":79,"oss_zip_packed_at":79,"status":16,"created_at":101,"updated_at":102,"faqs":103,"releases":132},4310,"facebookresearch\u002Fomnilingual-asr","omnilingual-asr","Omnilingual ASR Open-Source Multilingual SpeechRecognition for 1600+ Languages","Omnilingual ASR 是一款开源的多语言语音识别系统，旨在打破语言壁垒，支持全球超过 1600 种语言的语音转文字，其中数百种语言此前从未被任何自动语音识别技术覆盖。它主要解决了小语种及低资源语言缺乏高质量识别工具的问题，让偏远地区社区和研究人员也能享受先进的语音技术。\n\n这款工具非常适合开发者、语言学家及 AI 研究人员使用。其独特之处在于采用了可扩展的零样本学习技术与灵活的模型家族，用户仅需提供少量配对示例，无需深厚专业背景或海量数据集，即可快速适配新语言。最新的 7B 参数模型在多数语言上的字符错误率低于 10%，达到了业界领先水平。此外，Omnilingual ASR 还推出了支持无限时长音频解码的新变体，并基于 fairseq2 构建，提供了从数据准备到模型训练的完整工作流。无论是希望集成多语言功能的工程师，还是致力于保护语言多样性的学者，都能利用它轻松实现高精度的语音转录。","\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffacebookresearch_omnilingual-asr_readme_df9af3d8b575.jpg\" alt=\"Header image with a collage of on-the-ground photos from the transcription gathering efforts in Pakistan and Liberia.\" width=\"100%\" \u002F>\n  \u003Cp>\u003Ci>Photographs captured during corpus creation efforts in Pakistan and Liberia.\u003C\u002Fi>\u003C\u002Fp>\n\u003C\u002Fdiv>\n\n# Omnilingual ASR: Open-Source Multilingual Speech Recognition for 1600+ Languages\n\nOmnilingual ASR is an open-source speech recognition system supporting over 1,600 languages — including hundreds never previously covered by any ASR technology. Designed for broad accessibility, it enables new languages to be added with just a few paired examples without requiring specialized expertise or large datasets. By combining scalable zero-shot learning with a flexible model family, Omnilingual ASR aims to make speech technology more inclusive and adaptable for communities and researchers worldwide.\n\n* [Huggingface Demo](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Ffacebook\u002Fomniasr-transcriptions)\n* [Huggingface Dataset](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Ffacebook\u002Fomnilingual-asr-corpus)\n* [Paper](https:\u002F\u002Fai.meta.com\u002Fresearch\u002Fpublications\u002Fomnilingual-asr-open-source-multilingual-speech-recognition-for-1600-languages\u002F)\n* [Blogpost](http:\u002F\u002Fai.meta.com\u002Fblog\u002Fomnilingual-asr-advancing-automatic-speech-recognition)\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffacebookresearch_omnilingual-asr_readme_d02038b68ec5.png\" alt=\"Performance results table\" width=\"100%\" \u002F>\n  \u003Cp>\u003Ci>Our 7B-LLM-ASR system achieves state-of-the-art performance across 1,600+ languages, with character error rates (CER) below 10 for 78% of those languages. Per language CER results, plus training hours can be found in \u003Ca href=\".\u002Fper_language_results_table_7B_llm_asr.csv\">this csv\u003C\u002Fa>\u003C\u002Fi>\u003C\u002Fp>\n\u003C\u002Fdiv>\n\n\n## December 2025 Update\nWe release two suites of models:\n- Checkpoints of improved accuracy (CER) for the CTC and LLM-ASR models compared to our existing LLM-ASR model (`omniASR_{CTC,LLM}_{300M,1B,3B,7B}_v2`).\n- A new variant of the LLM-ASR model that supports decoding on unlimited audio length (`omniASR_LLM_Unlimited_{300M,1B,3B,7B}_v2`). The unlimited audio length models are briefly described in the [architecture overview section](src\u002Fomnilingual_asr\u002Fmodels\u002FREADME.md). It's accuracy is comparable to limited audio length models, however finetuning recipies for this model are currently not supported.\n\n## Documentation\n\n### Quick Start\n- **[Installation & Basic Usage](#installation)** - Setup and first transcription\n- **[Inference Pipeline](src\u002Fomnilingual_asr\u002Fmodels\u002Finference\u002FREADME.md)** - Comprehensive transcription guide with batch processing, language conditioning, and context examples\n- **[Supported Languages](#supported-languages)** - View the complete list of 1600+ supported languages\n\n\n### Models & Architecture\n- **[Model Specifications](#model-architectures)** - Available models, parameters, and memory requirements\n- **[Architecture Overview](src\u002Fomnilingual_asr\u002Fmodels\u002FREADME.md)** - Technical details on W2V, CTC, and LLM model families\n- **[Asset Management](src\u002Fomnilingual_asr\u002Fcards\u002FREADME.md)** - Configuration system for models, tokenizers, and datasets\n\n### Training & Data Pipeline\n- **[Data Preparation](workflows\u002Fdataprep\u002FREADME.md)** - End-to-end guide for multilingual dataset preparation, HuggingFace integration, and parquet processing\n- **[Training Recipes](workflows\u002Frecipes\u002Fwav2vec2\u002Fasr\u002FREADME.md)** - Pre-configured workflows for CTC and LLM model training\n\n---\n\n## Installation\n\nThe models were developed using [fairseq2](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairseq2), a research-focused sequence modeling toolkit. While we provide a **reference** inference pipeline that works across platforms, audio support requires [libsndfile](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairseq2?tab=readme-ov-file#system-dependencies) (Mac: `brew install libsndfile`; Windows may need an additional [setup](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairseq2?tab=readme-ov-file#installing-on-windows)).\n\n```bash\n# using pip\npip install omnilingual-asr\n\n# using uv\nuv add omnilingual-asr\n```\n\n## Inference\n\n```python\nfrom omnilingual_asr.models.inference.pipeline import ASRInferencePipeline\n\npipeline = ASRInferencePipeline(model_card=\"omniASR_LLM_Unlimited_7B_v2\")\naudio_files = [\"\u002Fpath\u002Fto\u002Feng_audio1.flac\", \"\u002Fpath\u002Fto\u002Fdeu_audio2.wav\"]\nlang = [\"eng_Latn\", \"deu_Latn\"]\ntranscriptions = pipeline.transcribe(audio_files, lang=lang, batch_size=2)\n```\n\nMore details on running specific models can be found in the [src\u002Fomnilingual_asr\u002Fmodels\u002Finference](\u002Fsrc\u002Fomnilingual_asr\u002Fmodels\u002Finference\u002FREADME.md) directory.\n\n> **⚠️ Important:** Currently only audio files shorter than 40 seconds are accepted for inference on CTC and LLM model suites.\n\n### Supported Languages\n\nTo view the full list of 1600+ supported languages, you can access the language list [programmatically](\u002Fsrc\u002Fomnilingual_asr\u002Fmodels\u002Fwav2vec2_llama\u002Flang_ids.py):\n\n```python\nfrom omnilingual_asr.models.wav2vec2_llama.lang_ids import supported_langs\n\n# Print all supported languages\nprint(f\"Total supported languages: {len(supported_langs)}\")\nprint(supported_langs)\n\n# Check if a specific language is supported\nif \"eng_Latn\" in supported_langs:\n    print(\"English (Latin script) is supported!\")\n```\n\nLanguages follow the format `{language_code}_{script}`, for example `eng_Latn` - English (Latin script), `cmn_Hans` - Mandarin Chinese (Simplified), ...\n\n### Using the HuggingFace Dataset 🤗\n\nWe provide a large-scale multilingual speech dataset on HuggingFace under CC-BY-4.0 License: [`facebook\u002Fomnilingual-asr-corpus`](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Ffacebook\u002Fomnilingual-asr-corpus).\nThis dataset can be directly used with our inference pipeline for evaluation or testing:\n\n```bash\npip install \"omnilingual-asr[data]\"\n```\n\n```python\nfrom datasets import load_dataset\nfrom omnilingual_asr.models.inference.pipeline import ASRInferencePipeline\n\n# Load dataset for a specific language (e.g., Ligurian)\nomni_dataset = load_dataset(\"facebook\u002Fomnilingual-asr-corpus\", \"lij_Latn\", split=\"train\", streaming=True)\nbatch = next(omni_dataset.iter(5))\n\n# Convert to pipeline input format\naudio_data = [{\"waveform\": x[\"array\"], \"sample_rate\": x[\"sampling_rate\"]}\n              for x in batch[\"audio\"]]\n\n# Run inference\npipeline = ASRInferencePipeline(model_card=\"omniASR_LLM_7B_v2\")\ntranscriptions = pipeline.transcribe(audio_data, batch_size=2)\n\n# Display results\nfor i, (transcription, original_text) in enumerate(zip(transcriptions, batch[\"raw_text\"]), 1):\n    print(f\"\\n Sample {i}:\")\n    print(f\"   Ground Truth: {original_text}\")\n    print(f\"   Predicted:    {transcription}\")\n```\n\n\n## Model Architectures\n\n| Model Name          | Features      | Parameters | Download Size (FP32) | Inference VRAM¹ | Real-Time Factor¹ (relative speed)² |\n|---------------------|---------------|------------:|---------------:|---------------:|-----------:|\n| [`omniASR_W2V_300M`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-W2V-300M.pt)      | SSL  | 317_390_592   | 1.2 GiB | | |\n| [`omniASR_W2V_1B`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-W2V-1B.pt)          | SSL  | 965_514_752   | 3.6 GiB | | |\n| [`omniASR_W2V_3B`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-W2V-3B.pt)          | SSL  | 3_064_124_672 | 12.0 GiB | | |\n| [`omniASR_W2V_7B`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-W2V-7B.pt)          | SSL  | 6_488_487_168 | 25.0 GiB | | |\n| [`omniASR_CTC_300M`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-CTC-300M.pt)      | ASR  | 325_494_996   | 1.3 GiB   | ~2 GiB  | 0.001 (96x) |\n| [`omniASR_CTC_1B`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-CTC-1B.pt)          | ASR  | 975_065_300   | 3.7 GiB   | ~3 GiB  | 0.002 (48x) |\n| [`omniASR_CTC_3B`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-CTC-3B.pt)          | ASR  | 3_080_423_636 | 12.0 GiB  | ~8 GiB  | 0.003 (32x) |\n| [`omniASR_CTC_7B`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-CTC-7B.pt)          | ASR  | 6_504_786_132 | 25.0 GiB  | ~15 GiB | 0.006 (16x) |\n| [`omniASR_CTC_300M_v2`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-CTC-300M-v2.pt)      | ASR  | 325_494_996   | 1.3 GiB   | ~2 GiB  | 0.001 (96x) |\n| [`omniASR_CTC_1B_v2`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-CTC-1B-v2.pt)          | ASR  | 975_065_300   | 3.7 GiB   | ~3 GiB  | 0.002 (48x) |\n| [`omniASR_CTC_3B_v2`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-CTC-3B-v2.pt)          | ASR  | 3_080_423_636 | 12.0 GiB  | ~8 GiB  | 0.003 (32x) |\n| [`omniASR_CTC_7B_v2`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-CTC-7B-v2.pt)          | ASR  | 6_504_786_132 | 25.0 GiB  | ~15 GiB | 0.006 (16x) |\n| [`omniASR_LLM_300M`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-LLM-300M.pt)      | ASR with optional language conditioning  | 1_627_603_584 | 6.1 GiB   | ~5 GiB  | 0.090 (~1x) |\n| [`omniASR_LLM_1B`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-LLM-1B.pt)          | ASR with optional language conditioning  | 2_275_710_592 | 8.5 GiB   | ~6 GiB  | 0.091 (~1x) |\n| [`omniASR_LLM_3B`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-LLM-3B.pt)          | ASR with optional language conditioning  | 4_376_679_040 | 17.0 GiB  | ~10 GiB | 0.093 (~1x) |\n| [`omniASR_LLM_7B`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-LLM-7B.pt)          | ASR with optional language conditioning  | 7_801_041_536 | 30.0 GiB  | ~17 GiB | 0.092 (~1x) |\n| [`omniASR_LLM_300M_v2`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-LLM-300M-v2.pt)      | ASR with optional language conditioning  | 1_627_603_584 | 6.1 GiB   | ~5 GiB  | 0.090 (~1x) |\n| [`omniASR_LLM_1B_v2`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-LLM-1B-v2.pt)          | ASR with optional language conditioning  | 2_275_710_592 | 8.5 GiB   | ~6 GiB  | 0.091 (~1x) |\n| [`omniASR_LLM_3B_v2`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-LLM-3B-v2.pt)          | ASR with optional language conditioning  | 4_376_679_040 | 17.0 GiB  | ~10 GiB | 0.093 (~1x) |\n| [`omniASR_LLM_7B_v2`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-LLM-7B-v2.pt)          | ASR with optional language conditioning  | 7_801_041_536 | 30.0 GiB  | ~17 GiB | 0.092 (~1x) |\n| [`omniASR_LLM_Unlimited_300M_v2`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-LLM-Unlimited-300M-v2.pt)      | omniASR_LLM_300M + unlimited audio length  | 1_627_603_584 | 6.1 GiB   | ~5 GiB | 0.092 (~1x) (0.206)³ |\n| [`omniASR_LLM_Unlimited_1B_v2`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-LLM-Unlimited-1B-v2.pt)          | omniASR_LLM_1B + unlimited audio length  | 2_275_710_592 | 8.5 GiB   | ~6 GiB | 0.097 (~1x) (0.207)³ |\n| [`omniASR_LLM_Unlimited_3B_v2`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-LLM-Unlimited-3B-v2.pt)          | omniASR_LLM_3B + unlimited audio length  | 4_376_679_040 | 17.0 GiB  | ~10 GiB | 0.095 (~1x) (0.208)³ |\n| [`omniASR_LLM_Unlimited_7B_v2`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-LLM-Unlimited-7B-v2.pt)          | omniASR_LLM_7B + unlimited audio length  | 7_801_041_536 | 30.0 GiB  | ~17 GiB | 0.097 (~1x) (0.208)³ |\n| [`omniASR_LLM_7B_ZS`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-LLM-7B-ZS.pt)    | Zero-Shot ASR | 7_810_900_608 | 30.0 GiB | ~20 GiB | 0.194 (~0.5x) |\n| [`omniASR_tokenizer_v1`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR_tokenizer.model) | Tokenizer for all non-v2 models except omniASR_LLM_7B | - | 100 KiB | - |\n| [`omniASR_tokenizer_v1_variant7`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR_tokenizer_v7.model) | Tokenizer for the omniASR_LLM_7B architecture | - | 100 KiB | - |\n| [`omniASR_tokenizer_written_v2`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR_tokenizer_written_v2.model) | Tokenizer for all v2 architectures | - | 100 KiB | - ||\n\n¹ (batch=1, audio_len=30s, BF16, A100)\n\n² Relative speed to `omniASR_LLM_7B`\n\n³ (batch=1, audio_len=15min, BF16, A100)\n\n### Model Download & Storage\n\n- **Automatic Download**: Models are automatically downloaded on first use during training or inference\n- **Storage Location**: Models are saved to [`~\u002F.cache\u002Ffairseq2\u002Fassets\u002F`](https:\u002F\u002Ffacebookresearch.github.io\u002Ffairseq2\u002Fstable\u002Fbasics\u002Fassets.html#the-asset-store-system)\n\n\n### Architecture Documentation\n\nWe provide a high-level model architecture overview in the model directory ([`src\u002Fomnilingual_asr\u002Fmodels`](\u002Fsrc\u002Fomnilingual_asr\u002Fmodels)), with individual configurations for each model family in the respective directories:\n\n- **SSL Models**: [`src\u002Fomnilingual_asr\u002Fmodels\u002Fwav2vec2_ssl`](\u002Fsrc\u002Fomnilingual_asr\u002Fmodels\u002Fwav2vec2_ssl\u002F)\n- **CTC Models**: [`src\u002Fomnilingual_asr\u002Fmodels\u002Fwav2vec2_asr`](\u002Fsrc\u002Fomnilingual_asr\u002Fmodels\u002Fwav2vec2_asr\u002F)\n- **LLM Models**: [`src\u002Fomnilingual_asr\u002Fmodels\u002Fwav2vec2_llama`](\u002Fsrc\u002Fomnilingual_asr\u002Fmodels\u002Fwav2vec2_llama\u002F)\n\n## Training\n\nTo further finetune the released checkpoints on your own data, use our [data preparation guide](\u002Fworkflows\u002Fdataprep\u002FREADME.md) followed by the [finetuning recipe guide](\u002Fworkflows\u002Frecipes\u002Fwav2vec2\u002Fasr\u002FREADME.md).\n\n## License\n\nOmnilingual ASR code and models are released under the [Apache 2.0](.\u002FLICENSE).\n\n## Citation\n\nIf you use the omnilingual ASR model suite in your research and wish to cite us, please use the following BibTeX entry!\n```bibtex\n@misc{omnilingualasrteam2025omnilingualasropensourcemultilingual,\n      title={Omnilingual ASR: Open-Source Multilingual Speech Recognition for 1600+ Languages},\n      author={Omnilingual ASR team and Gil Keren and Artyom Kozhevnikov and Yen Meng and Christophe Ropers and Matthew Setzler and Skyler Wang and Ife Adebara and Michael Auli and Can Balioglu and Kevin Chan and Chierh Cheng and Joe Chuang and Caley Droof and Mark Duppenthaler and Paul-Ambroise Duquenne and Alexander Erben and Cynthia Gao and Gabriel Mejia Gonzalez and Kehan Lyu and Sagar Miglani and Vineel Pratap and Kaushik Ram Sadagopan and Safiyyah Saleem and Arina Turkatenko and Albert Ventayol-Boada and Zheng-Xin Yong and Yu-An Chung and Jean Maillard and Rashel Moritz and Alexandre Mourachko and Mary Williamson and Shireen Yates},\n      year={2025},\n      eprint={2511.09690},\n      archivePrefix={arXiv},\n      primaryClass={cs.CL},\n      url={https:\u002F\u002Farxiv.org\u002Fabs\u002F2511.09690},\n}\n```\n","\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffacebookresearch_omnilingual-asr_readme_df9af3d8b575.jpg\" alt=\"巴基斯坦和利比里亚转录收集工作中的实地照片拼贴图作为页眉图片。\" width=\"100%\" \u002F>\n  \u003Cp>\u003Ci>在巴基斯坦和利比里亚语料库创建过程中拍摄的照片。\u003C\u002Fi>\u003C\u002Fp>\n\u003C\u002Fdiv>\n\n# 全语言语音识别：面向1600多种语言的开源多语言语音识别系统\n\nOmnilingual ASR 是一个开源的语音识别系统，支持超过1,600种语言——其中包括数百种此前从未被任何语音识别技术覆盖的语言。该系统旨在实现广泛可访问性，只需少量成对示例即可添加新语言，而无需专业知识或大型数据集。通过将可扩展的零样本学习与灵活的模型系列相结合，Omnilingual ASR 旨在使语音技术对全球社区和研究人员更加包容和适应性强。\n\n* [Huggingface 演示](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Ffacebook\u002Fomniasr-transcriptions)\n* [Huggingface 数据集](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Ffacebook\u002Fomnilingual-asr-corpus)\n* [论文](https:\u002F\u002Fai.meta.com\u002Fresearch\u002Fpublications\u002Fomnilingual-asr-open-source-multilingual-speech-recognition-for-1600-languages\u002F)\n* [博客文章](http:\u002F\u002Fai.meta.com\u002Fblog\u002Fomnilingual-asr-advancing-automatic-speech-recognition)\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffacebookresearch_omnilingual-asr_readme_d02038b68ec5.png\" alt=\"性能结果表格\" width=\"100%\" \u002F>\n  \u003Cp>\u003Ci>我们的7B-LLM-ASR系统在1,600多种语言中均达到最先进水平，其中78%的语言字符错误率（CER）低于10%。各语言的CER结果及训练时长可在\u003Ca href=\".\u002Fper_language_results_table_7B_llm_asr.csv\">此CSV文件\u003C\u002Fa>中找到。\u003C\u002Fi>\u003C\u002Fp>\n\u003C\u002Fdiv>\n\n\n## 2025年12月更新\n我们发布了两套模型：\n- 相较于现有的LLM-ASR模型，CTC和LLM-ASR模型的检查点在准确性（CER）方面有所提升（`omniASR_{CTC,LLM}_{300M,1B,3B,7B}_v2`）。\n- LLM-ASR模型的一个新变体支持无限长度音频的解码（`omniASR_LLM_Unlimited_{300M,1B,3B,7B}_v2`）。无限长度音频模型在[架构概述部分](src\u002Fomnilingual_asr\u002Fmodels\u002FREADME.md)中有简要介绍。其准确度与有限长度音频模型相当，但目前尚不支持针对该模型的微调配方。\n\n## 文档\n\n### 快速入门\n- **[安装与基本使用](#installation)** - 设置与首次转录\n- **[推理流水线](src\u002Fomnilingual_asr\u002Fmodels\u002Finference\u002FREADME.md)** - 包含批处理、语言条件设置和上下文示例的全面转录指南\n- **[支持的语言](#supported-languages)** - 查看完整的1600多种支持语言列表\n\n\n### 模型与架构\n- **[模型规格](#model-architectures)** - 可用模型、参数及内存要求\n- **[架构概述](src\u002Fomnilingual_asr\u002Fmodels\u002FREADME.md)** - W2V、CTC和LLM模型家族的技术细节\n- **[资产管理](src\u002Fomnilingual_asr\u002Fcards\u002FREADME.md)** - 用于管理模型、分词器和数据集的配置系统\n\n### 训练与数据流程\n- **[数据准备](workflows\u002Fdataprep\u002FREADME.md)** - 多语言数据集准备、HuggingFace集成和parquet处理的端到端指南\n- **[训练配方](workflows\u002Frecipes\u002Fwav2vec2\u002Fasr\u002FREADME.md)** - 针对CTC和LLM模型训练的预配置工作流\n\n---\n\n## 安装\n\n这些模型是使用[fairseq2](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairseq2)开发的，这是一个以研究为导向的序列建模工具包。虽然我们提供了一个跨平台运行的**参考**推理流水线，但音频支持需要[libsndfile](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairseq2?tab=readme-ov-file#system-dependencies)（Mac: `brew install libsndfile`; Windows可能需要额外的[设置](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairseq2?tab=readme-ov-file#installing-on-windows))。\n\n```bash\n# 使用pip\npip install omnilingual-asr\n\n# 使用uv\nuv add omnilingual-asr\n```\n\n## 推理\n\n```python\nfrom omnilingual_asr.models.inference.pipeline import ASRInferencePipeline\n\npipeline = ASRInferencePipeline(model_card=\"omniASR_LLM_Unlimited_7B_v2\")\naudio_files = [\"\u002Fpath\u002Fto\u002Feng_audio1.flac\", \"\u002Fpath\u002Fto\u002Fdeu_audio2.wav\"]\nlang = [\"eng_Latn\", \"deu_Latn\"]\ntranscriptions = pipeline.transcribe(audio_files, lang=lang, batch_size=2)\n```\n\n有关运行特定模型的更多详细信息，请参阅[src\u002Fomnilingual_asr\u002Fmodels\u002Finference](\u002Fsrc\u002Fomnilingual_asr\u002Fmodels\u002Finference\u002FREADME.md)目录。\n\n> **⚠️ 重要提示:** 目前，CTC和LLM模型套件仅接受40秒以下的音频文件进行推理。\n\n### 支持的语言\n\n要查看完整的1600多种支持语言列表，您可以以编程方式访问语言列表[此处](\u002Fsrc\u002Fomnilingual_asr\u002Fmodels\u002Fwav2vec2_llama\u002Flang_ids.py)：\n\n```python\nfrom omnilingual_asr.models.wav2vec2_llama.lang_ids import supported_langs\n\n# 打印所有支持的语言\nprint(f\"总支持语言数: {len(supported_langs)}\")\nprint(supported_langs)\n\n# 检查特定语言是否支持\nif \"eng_Latn\" in supported_langs:\n    print(\"英语（拉丁字母）已支持！\")\n```\n\n语言格式为 `{language_code}_{script}`，例如 `eng_Latn` - 英语（拉丁字母），`cmn_Hans` - 普通话（简体字），...\n\n### 使用 HuggingFace 数据集 🤗\n\n我们在HuggingFace上提供了一个大规模多语言语音数据集，采用CC-BY-4.0许可：[`facebook\u002Fomnilingual-asr-corpus`](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Ffacebook\u002Fomnilingual-asr-corpus)。\n该数据集可以直接与我们的推理流水线结合使用，用于评估或测试：\n\n```bash\npip install \"omnilingual-asr[data]\"\n```\n\n```python\nfrom datasets import load_dataset\nfrom omnilingual_asr.models.inference.pipeline import ASRInferencePipeline\n\n# 加载特定语言的数据集（例如利古里亚语）\nomni_dataset = load_dataset(\"facebook\u002Fomnilingual-asr-corpus\", \"lij_Latn\", split=\"train\", streaming=True)\nbatch = next(omni_dataset.iter(5))\n\n# 转换为流水线输入格式\naudio_data = [{\"waveform\": x[\"array\"], \"sample_rate\": x[\"sampling_rate\"]}\n              for x in batch[\"audio\"]]\n\n# 运行推理\npipeline = ASRInferencePipeline(model_card=\"omniASR_LLM_7B_v2\")\ntranscriptions = pipeline.transcribe(audio_data, batch_size=2)\n\n# 显示结果\nfor i, (transcription, original_text) in enumerate(zip(transcriptions, batch[\"raw_text\"]), 1):\n    print(f\"\\n 样本 {i}:\")\n    print(f\"   真实文本: {original_text}\")\n    print(f\"   预测文本: {transcription}\")\n```\n\n## 模型架构\n\n| 模型名称          | 特性      | 参数量 | 下载大小（FP32） | 推理显存¹ | 实时因子¹（相对速度）² |\n|---------------------|---------------|------------:|---------------:|---------------:|-----------:|\n| [`omniASR_W2V_300M`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-W2V-300M.pt)      | SSL  | 317_390_592   | 1.2 GiB | | |\n| [`omniASR_W2V_1B`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-W2V-1B.pt)          | SSL  | 965_514_752   | 3.6 GiB | | |\n| [`omniASR_W2V_3B`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-W2V-3B.pt)          | SSL  | 3_064_124_672 | 12.0 GiB | | |\n| [`omniASR_W2V_7B`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-W2V-7B.pt)          | SSL  | 6_488_487_168 | 25.0 GiB | | |\n| [`omniASR_CTC_300M`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-CTC-300M.pt)      | ASR  | 325_494_996   | 1.3 GiB   | ~2 GiB  | 0.001 (96x) |\n| [`omniASR_CTC_1B`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-CTC-1B.pt)          | ASR  | 975_065_300   | 3.7 GiB   | ~3 GiB  | 0.002 (48x) |\n| [`omniASR_CTC_3B`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-CTC-3B.pt)          | ASR  | 3_080_423_636 | 12.0 GiB  | ~8 GiB  | 0.003 (32x) |\n| [`omniASR_CTC_7B`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-CTC-7B.pt)          | ASR  | 6_504_786_132 | 25.0 GiB  | ~15 GiB | 0.006 (16x) |\n| [`omniASR_CTC_300M_v2`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-CTC-300M-v2.pt)      | ASR  | 325_494_996   | 1.3 GiB   | ~2 GiB  | 0.001 (96x) |\n| [`omniASR_CTC_1B_v2`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-CTC-1B-v2.pt)          | ASR  | 975_065_300   | 3.7 GiB   | ~3 GiB  | 0.002 (48x) |\n| [`omniASR_CTC_3B_v2`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-CTC-3B-v2.pt)          | ASR  | 3_080_423_636 | 12.0 GiB  | ~8 GiB  | 0.003 (32x) |\n| [`omniASR_CTC_7B_v2`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-CTC-7B-v2.pt)          | ASR  | 6_504_786_132 | 25.0 GiB  | ~15 GiB | 0.006 (16x) |\n| [`omniASR_LLM_300M`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-LLM-300M.pt)      | 具有可选语言条件的 ASR  | 1_627_603_584 | 6.1 GiB   | ~5 GiB  | 0.090 (~1x) |\n| [`omniASR_LLM_1B`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-LLM-1B.pt)          | 具有可选语言条件的 ASR  | 2_275_710_592 | 8.5 GiB   | ~6 GiB  | 0.091 (~1x) |\n| [`omniASR_LLM_3B`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-LLM-3B.pt)          | 具有可选语言条件的 ASR  | 4_376_679_040 | 17.0 GiB  | ~10 GiB | 0.093 (~1x) |\n| [`omniASR_LLM_7B`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-LLM-7B.pt)          | 具有可选语言条件的 ASR  | 7_801_041_536 | 30.0 GiB  | ~17 GiB | 0.092 (~1x) |\n| [`omniASR_LLM_300M_v2`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-LLM-300M-v2.pt)      | 具有可选语言条件的 ASR  | 1_627_603_584 | 6.1 GiB   | ~5 GiB  | 0.090 (~1x) |\n| [`omniASR_LLM_1B_v2`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-LLM-1B-v2.pt)          | 具有可选语言条件的 ASR  | 2_275_710_592 | 8.5 GiB   | ~6 GiB  | 0.091 (~1x) |\n| [`omniASR_LLM_3B_v2`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-LLM-3B-v2.pt)          | 具有可选语言条件的 ASR  | 4_376_679_040 | 17.0 GiB  | ~10 GiB | 0.093 (~1x) |\n| [`omniASR_LLM_7B_v2`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-LLM-7B-v2.pt)          | 具有可选语言条件的 ASR  | 7_801_041_536 | 30.0 GiB  | ~17 GiB | 0.092 (~1x) |\n| [`omniASR_LLM_Unlimited_300M_v2`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-LLM-Unlimited-300M-v2.pt)      | omniASR_LLM_300M + 无限制音频长度  | 1_627_603_584 | 6.1 GiB   | ~5 GiB | 0.092 (~1x) (0.206)³ |\n| [`omniASR_LLM_Unlimited_1B_v2`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-LLM-Unlimited-1B-v2.pt)          | omniASR_LLM_1B + 无限制音频长度  | 2_275_710_592 | 8.5 GiB   | ~6 GiB | 0.097 (~1x) (0.207)³ |\n| [`omniASR_LLM_Unlimited_3B_v2`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-LLM-Unlimited-3B-v2.pt)          | omniASR_LLM_3B + 无限制音频长度  | 4_376_679_040 | 17.0 GiB  | ~10 GiB | 0.095 (~1x) (0.208)³ |\n| [`omniASR_LLM_Unlimited_7B_v2`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-LLM-Unlimited-7B-v2.pt)          | omniASR_LLM_7B + 无限制音频长度  | 7_801_041_536 | 30.0 GiB  | ~17 GiB | 0.097 (~1x) (0.208)³ |\n| [`omniASR_LLM_7B_ZS`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR-LLM-7B-ZS.pt)    | 零样本 ASR | 7_810_900_608 | 30.0 GiB | ~20 GiB | 0.194 (~0.5x) |\n| [`omniASR_tokenizer_v1`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR_tokenizer.model) | 适用于除 omniASR_LLM_7B 之外所有非 v2 模型的分词器 | - | 100 KiB | - |\n| [`omniASR_tokenizer_v1_variant7`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR_tokenizer_v7.model) | 适用于 omniASR_LLM_7B 架构的分词器 | - | 100 KiB | - |\n| [`omniASR_tokenizer_written_v2`](https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fmms\u002FomniASR_tokenizer_written_v2.model) | 适用于所有 v2 架构的分词器 | - | 100 KiB | - ||\n\n¹ （batch=1，audio_len=30s，BF16，A100）\n\n² 相对于 `omniASR_LLM_7B` 的相对速度\n\n³ （batch=1，audio_len=15min，BF16，A100）\n\n### 模型下载与存储\n\n- **自动下载**：模型在训练或推理首次使用时会自动下载\n- **存储位置**：模型会被保存到 [`~\u002F.cache\u002Ffairseq2\u002Fassets\u002F`](https:\u002F\u002Ffacebookresearch.github.io\u002Ffairseq2\u002Fstable\u002Fbasics\u002Fassets.html#the-asset-store-system)\n\n\n### 架构文档\n\n我们在模型目录中提供了高层次的模型架构概述（[`src\u002Fomnilingual_asr\u002Fmodels`](\u002Fsrc\u002Fomnilingual_asr\u002Fmodels)），每个模型家族的单独配置则位于各自的子目录中：\n\n- **SSL 模型**：[`src\u002Fomnilingual_asr\u002Fmodels\u002Fwav2vec2_ssl`](\u002Fsrc\u002Fomnilingual_asr\u002Fmodels\u002Fwav2vec2_ssl\u002F)\n- **CTC 模型**：[`src\u002Fomnilingual_asr\u002Fmodels\u002Fwav2vec2_asr`](\u002Fsrc\u002Fomnilingual_asr\u002Fmodels\u002Fwav2vec2_asr\u002F)\n- **LLM 模型**：[`src\u002Fomnilingual_asr\u002Fmodels\u002Fwav2vec2_llama`](\u002Fsrc\u002Fomnilingual_asr\u002Fmodels\u002Fwav2vec2_llama\u002F)\n\n## 训练\n\n如需在您自己的数据上进一步微调已发布的检查点，请先参考我们的 [数据准备指南](\u002Fworkflows\u002Fdataprep\u002FREADME.md)，然后按照 [微调配方指南](\u002Fworkflows\u002Frecipes\u002Fwav2vec2\u002Fasr\u002FREADME.md) 进行操作。\n\n## 许可证\n\nOmnilingual ASR 的代码和模型均采用 [Apache 2.0](.\u002FLICENSE) 许可证发布。\n\n## 引用\n\n如果您在研究中使用了全语言 ASR 模型套件，并希望引用我们，请使用以下 BibTeX 条目！\n```bibtex\n@misc{omnilingualasrteam2025omnilingualasropensourcemultilingual,\n      title={全语言 ASR：面向 1600 多种语言的开源多语言语音识别},\n      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},\n      year={2025},\n      eprint={2511.09690},\n      archivePrefix={arXiv},\n      primaryClass={cs.CL},\n      url={https:\u002F\u002Farxiv.org\u002Fabs\u002F2511.09690},\n}\n```","# Omnilingual ASR 快速上手指南\n\nOmnilingual ASR 是一个开源的多语言语音识别系统，支持超过 1600 种语言。它结合了可扩展的零样本学习与灵活的模型家族，仅需少量配对示例即可适配新语言，无需大量数据集或专业专家知识。\n\n## 环境准备\n\n### 系统要求\n- **操作系统**: Linux, macOS, Windows\n- **Python**: 建议 Python 3.9+\n- **硬件**: \n  - 推理：根据模型大小不同，显存需求从 ~2 GiB (300M 模型) 到 ~20 GiB (7B 零样本模型) 不等。\n  - 推荐使用 NVIDIA GPU (A100 等) 以获得最佳性能，但也支持 CPU 推理（速度较慢）。\n\n### 前置依赖\n该工具基于 [fairseq2](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairseq2) 开发。音频处理依赖 `libsndfile` 库，安装前请确保系统已安装该库：\n\n- **macOS**:\n  ```bash\n  brew install libsndfile\n  ```\n- **Linux (Ubuntu\u002FDebian)**:\n  ```bash\n  sudo apt-get update && sudo apt-get install libsndfile1\n  ```\n- **Windows**:\n  可能需要额外配置，请参考 [fairseq2 Windows 安装指南](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairseq2?tab=readme-ov-file#installing-on-windows)。\n\n> **注意**：目前 CTC 和 LLM 模型套件仅支持长度小于 **40 秒** 的音频文件进行推理（除非使用 `Unlimited` 变体模型）。\n\n## 安装步骤\n\n你可以选择使用 `pip` 或 `uv` 进行安装。国内用户若遇到下载慢的问题，可配置国内镜像源（如清华源、阿里源）。\n\n### 方式一：使用 pip 安装\n```bash\n# 基础安装\npip install omnilingual-asr\n\n# 若需使用 HuggingFace 数据集功能\npip install \"omnilingual-asr[data]\"\n```\n\n*国内加速示例（使用清华源）：*\n```bash\npip install omnilingual-asr -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n### 方式二：使用 uv 安装\n```bash\nuv add omnilingual-asr\n```\n\n> **提示**：模型权重会在首次运行推理或训练时自动下载，并缓存至 `~\u002F.cache\u002Ffairseq2\u002Fassets\u002F` 目录。\n\n## 基本使用\n\n以下是最简单的转录示例，展示如何使用预训练的 LLM 模型对音频进行转录。\n\n### 1. 单文件或批量转录\n\n```python\nfrom omnilingual_asr.models.inference.pipeline import ASRInferencePipeline\n\n# 初始化管道，加载模型 (此处以支持长音频的 7B 模型为例)\n# 可选模型包括: omniASR_CTC_7B_v2, omniASR_LLM_7B_v2, omniASR_LLM_Unlimited_7B_v2 等\npipeline = ASRInferencePipeline(model_card=\"omniASR_LLM_Unlimited_7B_v2\")\n\n# 准备音频文件路径和对应的语言代码 (格式：语言_脚本，如 eng_Latn)\naudio_files = [\"\u002Fpath\u002Fto\u002Feng_audio1.flac\", \"\u002Fpath\u002Fto\u002Fdeu_audio2.wav\"]\nlang = [\"eng_Latn\", \"deu_Latn\"]\n\n# 执行转录\ntranscriptions = pipeline.transcribe(audio_files, lang=lang, batch_size=2)\n\n# 输出结果\nfor audio, text in zip(audio_files, transcriptions):\n    print(f\"File: {audio}\")\n    print(f\"Transcription: {text}\\n\")\n```\n\n### 2. 查看支持的语言\n\n语言代码遵循 `{language_code}_{script}` 格式（例如 `cmn_Hans` 代表简体中文）。\n\n```python\nfrom omnilingual_asr.models.wav2vec2_llama.lang_ids import supported_langs\n\n# 打印支持的语言总数及列表\nprint(f\"Total supported languages: {len(supported_langs)}\")\nprint(supported_langs)\n\n# 检查特定语言是否支持\nif \"cmn_Hans\" in supported_langs:\n    print(\"简体中文已支持！\")\n```\n\n### 3. 结合 HuggingFace 数据集使用\n\n如果你需要评估模型或在现有数据集上测试，可以直接加载官方提供的多语言语料库。\n\n```python\nfrom datasets import load_dataset\nfrom omnilingual_asr.models.inference.pipeline import ASRInferencePipeline\n\n# 加载特定语言的数据集 (例如：利古里亚语 lij_Latn)\nomni_dataset = load_dataset(\"facebook\u002Fomnilingual-asr-corpus\", \"lij_Latn\", split=\"train\", streaming=True)\nbatch = next(omni_dataset.iter(5))\n\n# 转换数据格式以适配管道\naudio_data = [{\"waveform\": x[\"array\"], \"sample_rate\": x[\"sampling_rate\"]}\n              for x in batch[\"audio\"]]\n\n# 运行推理\npipeline = ASRInferencePipeline(model_card=\"omniASR_LLM_7B_v2\")\ntranscriptions = pipeline.transcribe(audio_data, batch_size=2)\n\n# 对比结果\nfor i, (transcription, original_text) in enumerate(zip(transcriptions, batch[\"raw_text\"]), 1):\n    print(f\"\\n Sample {i}:\")\n    print(f\"   Ground Truth: {original_text}\")\n    print(f\"   Predicted:    {transcription}\")\n```\n\n### 模型选择建议\n\n| 模型类型 | 推荐场景 | 显存需求 (约) | 速度 |\n| :--- | :--- | :--- | :--- |\n| **CTC 系列** (`omniASR_CTC_*_v2`) | 追求极致速度，资源受限环境 | 2GB - 15GB | 极快 (16x-96x) |\n| **LLM 系列** (`omniASR_LLM_*_v2`) | 追求高精度，通用场景 | 5GB - 17GB | 标准 (1x) |\n| **LLM Unlimited** (`...Unlimited...`) | **长音频** (>40秒) 转录 | 5GB - 17GB | 标准 (1x) |\n| **Zero-Shot** (`...7B_ZS`) | 极低资源语言的零样本适配 | ~20GB | 较慢 (0.5x) |\n\n*注：速度相对值基于 `omniASR_LLM_7B` 模型。*","一家专注于全球人道主义救援的非政府组织，急需将来自巴基斯坦和利比里亚偏远地区的数千小时实地采访录音转化为文字，以分析当地紧急需求。\n\n### 没有 omnilingual-asr 时\n- **语言覆盖盲区大**：传统语音识别工具仅支持主流语言，面对数百种地方方言和小语种完全无法识别，导致大量珍贵的一手资料被闲置。\n- **数据门槛过高**：要为每种小众语言训练模型，需要收集成千上万条标注好的语音数据，这在资源匮乏的灾区几乎不可能完成。\n- **依赖昂贵专家**：必须聘请精通特定方言的语言学家进行人工听写或定制开发，成本高昂且耗时数月，严重延误救援决策。\n- **长音频处理困难**：现有的开源方案往往对音频长度有限制，处理长达数小时的现场会议录音时需要繁琐的切割与拼接。\n\n### 使用 omnilingual-asr 后\n- **千种语言即开即用**：直接利用支持 1600+ 语言的预训练模型，瞬间识别包括此前从未被技术覆盖的罕见方言，让所有录音皆可转录。\n- **极低样本快速适配**：仅需提供几组“语音 - 文本”配对示例，即可通过零样本学习能力微调模型，无需构建大规模数据集。\n- **自动化降低门槛**：非技术人员也能部署使用，不再依赖稀缺的语言学专家，将转录成本降低 90% 以上，加速信息流转。\n- **无缝处理长录音**：采用新版无限时长解码模型，直接输入整段现场采访音频，自动输出完整准确的文字稿，省去预处理麻烦。\n\nomnilingual-asr 打破了语言技术的壁垒，让全球最边缘化的社区声音也能被听见并转化为实际行动。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffacebookresearch_omnilingual-asr_df9af3d8.jpg","facebookresearch","Meta Research","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Ffacebookresearch_449342bd.png","",null,"https:\u002F\u002Fopensource.fb.com","https:\u002F\u002Fgithub.com\u002Ffacebookresearch",[83],{"name":84,"color":85,"percentage":86},"Python","#3572A5",100,2749,246,"2026-04-06T02:23:29","NOASSERTION","Linux, macOS, Windows","需要 NVIDIA GPU (基于 A100 测试数据)。显存需求视模型大小而定：300M 模型约需 2-5GB，1B 约需 3-6GB，3B 约需 8-10GB，7B 约需 15-20GB。支持 BF16 精度。","未说明 (建议至少为模型文件大小及显存需求的 2 倍以上)",{"notes":95,"python":96,"dependencies":97},"1. 核心依赖为 fairseq2 工具包。2. 音频处理必须安装 libsndfile 系统库 (Mac: brew install libsndfile; Windows 需额外配置)。3. 默认情况下 CTC 和 LLM 模型仅支持小于 40 秒的音频推理；若需处理无限长度音频，请使用 'omniASR_LLM_Unlimited_*_v2' 系列模型。4. 模型首次运行时会自动下载至 ~\u002F.cache\u002Ffairseq2\u002Fassets\u002F，最大模型文件约 30GB。","未说明",[98,99,67],"fairseq2","libsndfile",[38,15],"2026-03-27T02:49:30.150509","2026-04-06T17:06:38.081699",[104,109,114,119,124,128],{"id":105,"question_zh":106,"answer_zh":107,"source_url":108},19624,"如何加载本地下载的模型和分词器（Tokenizer）？","有两种主要方法：\n1. **手动移动文件**：将下载的模型检查点文件移动到默认的缓存目录 `~\u002F.cache\u002Ffairseq2\u002Fassets\u002F` 下。目录结构需包含哈希值文件夹，例如：\n   ```\n   ~\u002F.cache\u002Ffairseq2\u002Fassets\u002F\n   ├── 53d9e3837669d1ce08764c48\n   │   └── omniASR-CTC-300M.pt\n   └── b86047ffa9089216c2972a21\n       └── omniASR_tokenizer.model\n   ```\n   哈希路径可以通过查看下载代码或检查缓存目录中自动创建的文件夹名称获得。\n\n2. **创建用户自定义资产卡（推荐）**：在 `~\u002F.local\u002Ffairseq2\u002Fassets` 目录下创建一个 YAML 文件，定义本地路径覆盖默认配置。内容示例如下：\n   ```yaml\n   name: omniASR_CTC_1B@user\n   checkpoint: \u003Cpath\u002Fto\u002Flocal\u002Fcheckpoint>\n   ---\n   name: omniASR-LLM-3B@user\n   checkpoint: \u003Cpath\u002Fto\u002Flocal\u002Fcheckpoint>\n   ```\n   注意资产名称需与原始模型名一致并添加 `@user` 后缀，fairseq2 会自动用此配置覆盖原始定义。","https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fomnilingual-asr\u002Fissues\u002F10",{"id":110,"question_zh":111,"answer_zh":112,"source_url":113},19625,"安装时遇到依赖冲突错误（如 'Cannot install fairseq2 because these package versions have conflicting dependencies'）如何解决？","该问题通常出现在 Linux (CentOS) 或特定 Python 版本环境下。解决方案是从源码编译安装 `fairseq2n` 组件，然后再通过 pip 安装 fairseq2。\n具体步骤：\n1. 参考 fairseq2 官方源码安装指南：https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairseq2\u002Fblob\u002Fmain\u002FINSTALL_FROM_SOURCE.md#4-build-fairseq2n\n2. 使用 CMake 构建 `fairseq2n`。\n3. 如果在编译过程中遇到 `sndfile.h` 找不到的错误，需要在 `CMakeLists.txt` 中添加 `-I\u002Fusr\u002Finclude` 参数。\n4. 完成源码安装后，再执行 `pip install fairseq2` 或 `pip install omnilingual-asr`。","https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fomnilingual-asr\u002Fissues\u002F6",{"id":115,"question_zh":116,"answer_zh":117,"source_url":118},19626,"如何在不使用 model_card 的情况下直接从磁盘路径加载模型和分词器？","直接传递文件路径给 `load_model` 或 `load_tokenizer` 会报错，因为这些函数依赖注册的 asset card。推荐的替代方案是使用“用户特定”的 fairseq2 资产卡进行路径覆盖。\n操作方法：\n1. 在 `~\u002F.local\u002Ffairseq2\u002Fassets` 目录下创建一个 YAML 文件。\n2. 定义资产名称（格式为 `原模型名@user`）并指定本地 `checkpoint` 路径。\n   示例内容：\n   ```yaml\n   name: omniASR_CTC_1B@user\n   checkpoint: \u002Fabsolute\u002Fpath\u002Fto\u002Fyour\u002Fmodel.pt\n   ```\n3. 加载时仍使用原始的 model_card 名称（如 `omniASR_CTC_1B`），系统会自动读取你定义的本地路径配置。这比修改源代码更稳定且易于维护。","https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fomnilingual-asr\u002Fissues\u002F29",{"id":120,"question_zh":121,"answer_zh":122,"source_url":123},19627,"如何在使用自定义数据集训练时解决 'is not a known dataset' 的错误？","如果创建了自定义数据集卡片但仍报错，可以尝试在运行命令时通过命令行参数动态覆盖配置中的数据集路径，而无需完全依赖卡片注册。\n使用 `--config` 参数指定数据路径，示例命令如下：\n```bash\npython -m workflows.recipes.wav2vec2.asr $OUTPUT_DIR \\\n  --config-file workflows\u002Frecipes\u002Fwav2vec2\u002Fasr\u002Fconfigs\u002Fctc-finetune-recommendation.yaml \\\n  --config dataset.config_overrides.data=\u002Fpath\u002Fto\u002Fyour\u002Freal\u002Fdataset\u002F\n```\n这种方法可以直接指向本地的 Parquet 或其他格式的数据目录，绕过数据集名称注册的问题。","https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fomnilingual-asr\u002Fissues\u002F30",{"id":125,"question_zh":126,"answer_zh":127,"source_url":108},19628,"是否有修改源代码来强制加载本地模型的临时方案？","是的，存在一种通过修改 `fairseq2` 库源代码来强制加载本地模型的“黑客”方案，但不建议在生产环境长期使用。\n修改文件：`\u003CYOUR_PYTHON_LIB_PATH>\u002Fsite-packages\u002Ffairseq2\u002Fmodels\u002Ffamily.py` (约第 340 行)。\n将原来的下载逻辑：\n```python\npath = self._asset_download_manager.download_model(uri, name, progress=progress)\n```\n替换为检查本地路径的逻辑：\n```python\nlocal_base = Path('\u002Fhpc_storage\u002Fpublic\u002Fmodels\u002Ffacebook\u002Fomnilingual-asr\u002F') # 修改为你的本地根目录\nif (local_base \u002F Path(uri._result.path).name).exists():\n    path = local_base \u002F Path(uri._result.path).name\nelse:\n    path = self._asset_download_manager.download_model(uri, name, progress=progress)\n```\n注意：由于相关类可能标记了 `@final` 装饰器，修改源码可能导致框架升级后失效或不稳定，优先推荐使用资产卡（Asset Card）方式。",{"id":129,"question_zh":130,"answer_zh":131,"source_url":108},19629,"模型文件的哈希文件夹名称（如 53d9e383...）是如何计算的？","哈希路径是由 fairseq2 内部根据模型 URI 生成的。如果你需要手动放置文件但不确定哈希值，可以采用以下方法获取：\n1. **查看自动创建的目录**：尝试让程序自动下载一次模型（即使中断），然后检查 `~\u002F.cache\u002Ffairseq2\u002Fassets\u002F` 目录下生成的文件夹名称。\n2. **调试代码**：在下载代码中加入打印语句，输出 `target_path` 变量，即可看到完整的哈希路径。\n一旦获知哈希文件夹名称，即可将手动下载的 `.pt` 或 `.model` 文件放入对应的子目录中供离线加载使用。",[133,138],{"id":134,"version":135,"summary_zh":136,"released_at":137},117672,"0.2.0","- 更新推理流水线和模型，以支持不限长度的音频输入\n- 更新模型卡片","2025-12-22T07:42:27",{"id":139,"version":140,"summary_zh":79,"released_at":141},117673,"0.1.0","2025-12-12T19:59:21"]