[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-salute-developers--GigaAM":3,"tool-salute-developers--GigaAM":64},[4,18,32,40,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":17},4292,"Deep-Live-Cam","hacksider\u002FDeep-Live-Cam","Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具，用户仅需一张静态照片，即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点，让高质量的数字内容创作变得触手可及。\n\n这款工具不仅适合开发者和技术研究人员探索算法边界，更因其极简的操作逻辑（仅需三步：选脸、选摄像头、启动），广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换，还是制作趣味短视频和直播互动，Deep-Live-Cam 都能提供流畅的支持。\n\n其核心技术亮点在于强大的实时处理能力，支持口型遮罩（Mouth Mask）以保留使用者原始的嘴部动作，确保表情自然精准；同时具备“人脸映射”功能，可同时对画面中的多个主体应用不同面孔。此外，项目内置了严格的内容安全过滤机制，自动拦截涉及裸露、暴力等不当素材，并倡导用户在获得授权及明确标注的前提下合规使用，体现了技术发展与伦理责任的平衡。",88924,3,"2026-04-06T03:28:53",[13,14,15,16],"开发框架","图像","Agent","视频","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":24,"last_commit_at":25,"category_tags":26,"status":17},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85092,2,"2026-04-10T11:13:16",[14,27,16,28,15,29,30,13,31],"数据工具","插件","其他","语言模型","音频",{"id":33,"name":34,"github_repo":35,"description_zh":36,"stars":37,"difficulty_score":10,"last_commit_at":38,"category_tags":39,"status":17},4128,"GPT-SoVITS","RVC-Boss\u002FGPT-SoVITS","GPT-SoVITS 是一款强大的开源语音合成与声音克隆工具，旨在让用户仅需极少量的音频数据即可训练出高质量的个性化语音模型。它核心解决了传统语音合成技术依赖海量录音数据、门槛高且成本大的痛点，实现了“零样本”和“少样本”的快速建模：用户只需提供 5 秒参考音频即可即时生成语音，或使用 1 分钟数据进行微调，从而获得高度逼真且相似度极佳的声音效果。\n\n该工具特别适合内容创作者、独立开发者、研究人员以及希望为角色配音的普通用户使用。其内置的友好 WebUI 界面集成了人声伴奏分离、自动数据集切片、中文语音识别及文本标注等辅助功能，极大地降低了数据准备和模型训练的技术门槛，让非专业人士也能轻松上手。\n\n在技术亮点方面，GPT-SoVITS 不仅支持中、英、日、韩、粤语等多语言跨语种合成，还具备卓越的推理速度，在主流显卡上可实现实时甚至超实时的生成效率。无论是需要快速制作视频配音，还是进行多语言语音交互研究，GPT-SoVITS 都能以极低的数据成本提供专业级的语音合成体验。",56375,"2026-04-05T22:15:46",[31],{"id":41,"name":42,"github_repo":43,"description_zh":44,"stars":45,"difficulty_score":10,"last_commit_at":46,"category_tags":47,"status":17},3833,"MoneyPrinterTurbo","harry0703\u002FMoneyPrinterTurbo","MoneyPrinterTurbo 是一款利用 AI 大模型技术，帮助用户一键生成高清短视频的开源工具。只需输入一个视频主题或关键词，它就能全自动完成从文案创作、素材匹配、字幕合成到背景音乐搭配的全过程，最终输出完整的竖屏或横屏短视频。\n\n这款工具主要解决了传统视频制作流程繁琐、门槛高以及素材版权复杂等痛点。无论是需要快速产出内容的自媒体创作者，还是希望尝试视频生成的普通用户，无需具备专业的剪辑技能或昂贵的硬件配置（普通电脑即可运行），都能轻松上手。同时，其清晰的 MVC 架构和对多种主流大模型（如 DeepSeek、Moonshot、通义千问等）的广泛支持，也使其成为开发者进行二次开发或技术研究的理想底座。\n\nMoneyPrinterTurbo 的独特亮点在于其高度的灵活性与本地化友好性。它不仅支持中英文双语及多种语音合成，允许用户精细调整字幕样式和画面比例，还特别优化了国内网络环境下的模型接入方案，让用户无需依赖 VPN 即可使用高性能国产大模型。此外，工具提供批量生成模式，可一次性产出多个版本供用户择优，极大地提升了内容创作的效率与质量。",54991,"2026-04-05T12:23:02",[13,30,15,16,14],{"id":49,"name":50,"github_repo":51,"description_zh":52,"stars":53,"difficulty_score":24,"last_commit_at":54,"category_tags":55,"status":17},2179,"oh-my-openagent","code-yeongyu\u002Foh-my-openagent","oh-my-openagent（简称 omo）是一款强大的开源智能体编排框架，前身名为 oh-my-opencode。它致力于打破单一模型供应商的生态壁垒，解决开发者在构建 AI 应用时面临的“厂商锁定”难题。不同于仅依赖特定模型的封闭方案，omo 倡导开放市场理念，支持灵活调度多种主流大模型：利用 Claude、Kimi 或 GLM 进行任务编排，调用 GPT 处理复杂推理，借助 Minimax 提升响应速度，或发挥 Gemini 的创意优势。\n\n这款工具特别适合希望摆脱平台限制、追求极致性能与成本平衡的开发者及研究人员使用。通过统一接口，用户可以轻松组合不同模型的长处，构建更高效、更具适应性的智能体系统。其独特的技术亮点在于“全模型兼容”架构，让用户不再受制于某一家公司的策略变动或定价调整，真正实现对前沿模型资源的自由驾驭。无论是构建自动化编码助手，还是开发多步骤任务处理流程，oh-my-openagent 都能提供灵活且稳健的基础设施支持，助力用户在快速演进的 AI 生态中保持技术主动权。",52030,"2026-04-16T11:32:17",[16,30,13,14,15],{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":17},2863,"TTS","coqui-ai\u002FTTS","🐸TTS 是一款功能强大的深度学习文本转语音（Text-to-Speech）开源库，旨在将文字自然流畅地转化为逼真的人声。它解决了传统语音合成技术中声音机械生硬、多语言支持不足以及定制门槛高等痛点，让高质量的语音生成变得触手可及。\n\n无论是希望快速集成语音功能的开发者，还是致力于探索前沿算法的研究人员，亦或是需要定制专属声音的数据科学家，🐸TTS 都能提供得力支持。它不仅预置了覆盖全球 1100 多种语言的训练模型，让用户能够即刻上手，还提供了完善的工具链，支持用户利用自有数据训练新模型或对现有模型进行微调，轻松实现特定风格的声音克隆。\n\n在技术亮点方面，🐸TTS 表现卓越。其最新的 ⓍTTSv2 模型支持 16 种语言，并在整体性能上大幅提升，实现了低于 200 毫秒的超低延迟流式输出，极大提升了实时交互体验。此外，它还无缝集成了 🐶Bark、🐢Tortoise 等社区热门模型，并支持调用上千个 Fairseq 模型，展现了极强的兼容性与扩展性。配合丰富的数据集分析与整理工具，🐸TTS 已成为科研与生产环境中备受信赖的语音合成解决方案。",44971,"2026-04-03T14:47:02",[31,13,14],{"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":79,"owner_url":80,"languages":81,"stars":98,"forks":99,"last_commit_at":100,"license":101,"difficulty_score":24,"env_os":102,"env_gpu":103,"env_ram":104,"env_deps":105,"category_tags":115,"github_topics":116,"view_count":24,"oss_zip_url":79,"oss_zip_packed_at":79,"status":17,"created_at":121,"updated_at":122,"faqs":123,"releases":154},8295,"salute-developers\u002FGigaAM","GigaAM","Foundational Model for Speech Recognition Tasks","GigaAM 是一套专为语音处理打造的开源基础模型家族，核心聚焦于高精度的俄语语音识别与情感分析。它有效解决了传统模型在面对呼叫中心录音、音乐背景、非典型语音特征及语音消息等复杂场景时识别率下降的难题，同时在公开基准测试中保持了顶尖水平。\n\n这套工具特别适合 AI 开发者、语音技术研究人员以及需要构建定制化语音应用的企业团队使用。无论是希望快速集成高精度识别能力，还是打算基于现有模型进行微调（支持 CTC 和 RNNT 等多种解码器），GigaAM 都提供了灵活的支持。\n\n其技术亮点显著：最新的 GigaAM-v3 版本通过在高达 70 万小时的多样化数据上预训练，在新领域数据上的词错误率（WER）降低了 30%。在端到端转录任务的对比中，GigaAM 甚至以 70:30 的优势超越了知名的 Whisper-large-v3 模型。此外，它还支持标点符号自动添加、文本规范化、单词级时间戳定位，并提供 ONNX 导出及 Triton 推理服务器部署方案，方便用户在不同环境下高效运行。项目采用宽松的 MIT 协议开源，社区友好，是深耕俄语语音技术的理想选择。","# GigaAM: the family of open-source acoustic models for speech processing\n\n\u003Cdiv align=\"center\" style=\"line-height: 1;\">\n\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-yellow.svg)](.\u002FLICENSE)\n[![Python 3.10+](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.10+-blue.svg)](https:\u002F\u002Fwww.python.org\u002Fdownloads\u002F)\n[![arXiv](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FarXiv-2506.01192-b31b1b.svg)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2506.01192)\n[![HuggingFace](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F🤗%20HuggingFace-Models-yellow.svg)](https:\u002F\u002Fhuggingface.co\u002Fai-sage\u002FGigaAM-v3)\n[![Open In Colab](https:\u002F\u002Fcolab.research.google.com\u002Fassets\u002Fcolab-badge.svg)](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fsalute-developers\u002FGigaAM\u002Fblob\u002Fmain\u002Fcolab_example.ipynb)\n\n\u003C\u002Fdiv>\n\n\u003Chr>\n\n![plot](.\u002Fassets\u002Fgigaam_scheme.svg)\n\n## Latest News\n* 2026\u002F04 — [model fine-tuning](#model-fine-tuning) (CTC \u002F RNNT), word-level timestamps, [Triton Inference Server](#triton-inference-server-and-tensorrt)\n* 2025\u002F11 — GigaAM-v3: **30%** WER reduction on new data domains; GigaAM-v3-e2e: end-to-end transcription support (**70:30** win in Side-by-Side vs Whisper-large-v3)\n* 2025\u002F06 — Our [research paper on GigaAM](https:\u002F\u002Farxiv.org\u002Fabs\u002F2506.01192) was accepted to InterSpeech 2025!\n* 2024\u002F12 — [MIT License](.\u002FLICENSE), GigaAM-v2 (**-15%** and **-12%** WER Reduction for CTC and RNN-T models, respectively), [ONNX export support](#onnx-export-and-inference)\n* 2024\u002F05 — GigaAM-RNNT (**-19%** WER Reduction), [long-form inference using external Voice Activity Detection](#model-inference)\n* 2024\u002F04 — GigaAM Release: GigaAM-CTC ([SoTA Speech Recognition model for the Russian language](#model-performance)), [GigaAM-Emo](#model-performance)\n\n---\n\n## Setup\n\n### Requirements\n- Python ≥ 3.10\n- [ffmpeg](https:\u002F\u002Fffmpeg.org\u002F) installed and added to your system's PATH\n\n### Install the GigaAM Package\n\n```bash\n# Clone the repository\ngit clone https:\u002F\u002Fgithub.com\u002Fsalute-developers\u002FGigaAM.git\ncd GigaAM\n\n# Install the package requirements\npip install -e .[torch]\n\n# (optionally) Verify the installation:\npip install -e \".[tests]\"\npytest -v tests\u002Ftest_loading.py -m partial  # or `-m full` to test all models\n```\n\n---\n\n## GigaAM overview\n\nGigaAM is a [Conformer](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2005.08100.pdf)-based foundational model (220-240M parameters) pre-trained on diverse Russian speech data. It serves as the backbone for the entire GigaAM family, enabling state-of-the-art fine-tuned performance in speech recognition and emotion recognition. More information about GigaAM-v1 can be found in our [post on Habr](https:\u002F\u002Fhabr.com\u002Fru\u002Fcompanies\u002Fsberdevices\u002Farticles\u002F805569). We fine-tuned the GigaAM encoder for ASR using [CTC](https:\u002F\u002Fwww.cs.toronto.edu\u002F~graves\u002Ficml_2006.pdf) and [RNNT](https:\u002F\u002Farxiv.org\u002Fabs\u002F1211.3711) decoders. GigaAM family includes three lines of models\n\n| | Pretrain Method | Pretrain (hours) | ASR (hours) | Available Versions |\n| :--- | :--- | :--- | :--- | :---: |\n| **v1** | [Wav2vec 2.0](https:\u002F\u002Farxiv.org\u002Fabs\u002F2006.11477) | 50,000 | 2,000 | `v1_ssl`, `emo`, `v1_ctc`, `v1_rnnt` |\n| **v2** | [HuBERT–CTC](https:\u002F\u002Farxiv.org\u002Fabs\u002F2506.01192) | 50,000 | 2,000 | `v2_ssl`, `v2_ctc`, `v2_rnnt` |\n| **v3** | HuBERT–CTC | 700,000 | 4,000 | `v3_ssl`, `v3_ctc`, `v3_rnnt`, `v3_e2e_ctc`, `v3_e2e_rnnt` |\n\nWhere `v3_e2e_ctc` and `v3_e2e_rnnt` support punctuation and text normalization.\n\n## Model Performance\n\n`GigaAM-v3` training incorporates new internal datasets: callcenter, music, speech with atypical characteristics, and voice messages. As a result, the models perform on average **30%** better on these new domains while maintaining the same quality as `GigaAM-v2` on public benchmarks. In end-to-end ASR comparisons of `e2e_ctc` and `e2e_rnnt` against Whisper (judged via independent LLM-as-a-Judge side-by-side) GigaAM models win by an average margin of **70:30**. Our emotion recognition model `GigaAM-Emo` outperforms existing models by **15%** Macro F1-Score.\n\nFor detailed results, see [here](.\u002Fevaluation.md).\n\n---\n\n## Usage\n\n### Model inference\n\n**Note:** ASR with `.transcribe` function is applicable for audio **only up to 25 seconds**. To enable `.transcribe_longform` install the additional [pyannote.audio](https:\u002F\u002Fgithub.com\u002Fpyannote\u002Fpyannote-audio) dependencies\n\n\u003Cdetails>\n\u003Csummary>Longform setup instruction\u003C\u002Fsummary>\n\n* Generate [Hugging Face API token](https:\u002F\u002Fhuggingface.co\u002Fdocs\u002Fhub\u002Fsecurity-tokens)\n* Accept the conditions to access [pyannote\u002Fsegmentation-3.0](https:\u002F\u002Fhuggingface.co\u002Fpyannote\u002Fsegmentation-3.0) files and content\n\n```bash\npip install -e \".[longform]\"\n# optionally run longform testing\npip install -e \".[tests]\"\nHF_TOKEN=\u003Cyour hf token> pytest -v tests\u002Ftest_longform.py\n```\n\u003C\u002Fdetails>\n\n\u003Cbr>\n\n\n```python\nimport gigaam\n\n# Load test audio\naudio_path = gigaam.utils.download_short_audio()\nlong_audio_path = gigaam.utils.download_long_audio()\n\n# Audio embeddings\nmodel_name = \"v3_ssl\"       # Options: `v1_ssl`, `v2_ssl`, `v3_ssl`\nmodel = gigaam.load_model(model_name)\nembedding, _ = model.embed_audio(audio_path)\nprint(embedding)\n\n# ASR\nmodel_name = \"v3_e2e_rnnt\"  # Options: any model version with suffix `_ctc` or `_rnnt`\nmodel = gigaam.load_model(model_name)\ntranscription = model.transcribe(audio_path)\nprint(transcription)\n\n# ASR with word-level timestamps\nresult = model.transcribe(audio_path, word_timestamps=True)\nfor word in result.words:\n    print(f\"  [{word.start:.2f} - {word.end:.2f}] {word.text}\")\n\n# and long-form ASR\nimport os\nos.environ[\"HF_TOKEN\"] = \u003CHF_TOKEN with read access to \"pyannote\u002Fsegmentation-3.0\">\nresult = model.transcribe_longform(long_audio_path)\nfor segment in result:\n   print(f\"[{gigaam.format_time(segment.start)} - {gigaam.format_time(segment.end)}]: {segment.text}\")\n\n# Emotion recognition\nmodel = gigaam.load_model(\"emo\")\nemotion2prob = model.get_probs(audio_path)\nprint(\", \".join([f\"{emotion}: {prob:.3f}\" for emotion, prob in emotion2prob.items()]))\n```\n\n### Model Fine-tuning\n\nBoth CTC and RNNT models can be fine-tuned on custom data using PyTorch Lightning. For a detailed description of all training arguments, see [`train_utils\u002FREADME.md`](.\u002Ftrain_utils\u002FREADME.md). End-to-end examples with different VRAM constraints are available in [`train_utils\u002Fexample.ipynb`](.\u002Ftrain_utils\u002Fexample.ipynb).\n\n### Loading from Hugging Face\n\n> **Note:** Install requirements from the [example](.\u002Fcolab_example.ipynb).\n\n```python\nfrom transformers import AutoModel\n\nmodel = AutoModel.from_pretrained(\"ai-sage\u002FGigaAM-v3\", revision=\"e2e_rnnt\", trust_remote_code=True)\n```\n\n### ONNX Export and Inference\n\n> **Note:** `to_onnx` exports in **fp32** by default. Pass `dtype=torch.float16` for GPU deployment — it is faster and uses less VRAM. GPU support can be enabled with uninstalling onnxruntime and running `pip install onnxruntime-gpu==1.22.*`.\n\n1. Export the model to ONNX using the `model.to_onnx` method:\n   ```python\n   onnx_dir = \"onnx\"\n   model_version = \"v3_ctc\"  # Options: any version\n\n   model = gigaam.load_model(model_version)\n   model.to_onnx(dir_path=onnx_dir, dtype=torch.float32)  # or fp16 (recommended for GPU)\n   ```\n\n2. Run ONNX inference:\n   ```python\n   from gigaam.onnx_utils import load_onnx, infer_onnx\n\n   sessions, model_cfg = load_onnx(onnx_dir, model_version)\n   result = infer_onnx([audio_path], model_cfg, sessions)\n   print(result[0])\n\n   # or use the whole dataset\n   texts = infer_onnx(\"\u002Fpath\u002Fto\u002Feval\u002Fmanifest.tsv\", model_cfg, sessions)\n   print(texts[0])\n   ```\n\nThese and more advanced (e.g. custom audio loading, batching) examples can be found in the [Colab notebook](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fsalute-developers\u002FGigaAM\u002Fblob\u002Fmain\u002Fcolab_example.ipynb).\n\n### Triton Inference Server and TensorRT\n\nAll speech recognition models can also be used in a server environment in ONNX\u002FTRT format through Triton Inference Server. For setup instructions, model conversion, and deployment details, see the [Triton Inference Server documentation](.\u002Ftriton_scripts\u002FREADME.md).\n\n---\n\n## Citation\n\nIf you use GigaAM in your research, please cite our paper:\n\n```bibtex\n@inproceedings{kutsakov25_interspeech,\n  title     = {{GigaAM: Efficient Self-Supervised Learner for Speech Recognition}},\n  author    = {Aleksandr Kutsakov and Alexandr Maximenko and Georgii Gospodinov and Pavel Bogomolov and Fyodor Minkin},\n  year      = {2025},\n  booktitle = {{Interspeech 2025}},\n  pages     = {1213--1217},\n  doi       = {10.21437\u002FInterspeech.2025-1616},\n  issn      = {2958-1796},\n}\n```\n\n## Links\n\n* [[arxiv] GigaAM: Efficient Self-Supervised Learner for Speech Recognition](https:\u002F\u002Farxiv.org\u002Fabs\u002F2506.01192)\n* [[habr] GigaAM-v3: открытая SOTA-модель распознавания речи на русском](https:\u002F\u002Fhabr.com\u002Fru\u002Fcompanies\u002Fsberdevices\u002Farticles\u002F973160\u002F)\n* [[habr] GigaAM: класс открытых моделей для обработки звучащей речи](https:\u002F\u002Fhabr.com\u002Fru\u002Fcompanies\u002Fsberdevices\u002Farticles\u002F805569)\n* [[youtube] Как научить LLM слышать: GigaAM 🤝 GigaChat Audio](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=O7NSH2SAwRc)\n* [[youtube] GigaAM: Семейство акустических моделей для русского языка](https:\u002F\u002Fyoutu.be\u002FPvZuTUnZa2Q?t=26442)\n* [[youtube] Speech-only Pre-training: обучение универсального аудиоэнкодера](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=ktO4Mx6UMNk)\n","# GigaAM：用于语音处理的开源声学模型家族\n\n\u003Cdiv align=\"center\" style=\"line-height: 1;\">\n\n[![许可证：MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-yellow.svg)](.\u002FLICENSE)\n[![Python 3.10+](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.10+-blue.svg)](https:\u002F\u002Fwww.python.org\u002Fdownloads\u002F)\n[![arXiv](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FarXiv-2506.01192-b31b1b.svg)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2506.01192)\n[![HuggingFace](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F🤗%20HuggingFace-Models-yellow.svg)](https:\u002F\u002Fhuggingface.co\u002Fai-sage\u002FGigaAM-v3)\n[![在Colab中打开](https:\u002F\u002Fcolab.research.google.com\u002Fassets\u002Fcolab-badge.svg)](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fsalute-developers\u002FGigaAM\u002Fblob\u002Fmain\u002Fcolab_example.ipynb)\n\n\u003C\u002Fdiv>\n\n\u003Chr>\n\n![图表](.\u002Fassets\u002Fgigaam_scheme.svg)\n\n## 最新消息\n* 2026年4月 — [模型微调](#model-fine-tuning)（CTC \u002F RNNT）、词级时间戳、[Triton 推理服务器](#triton-inference-server-and-tensorrt)\n* 2025年11月 — GigaAM-v3：在新数据领域上WER降低**30%**；GigaAM-v3-e2e：端到端转录支持（与Whisper-large-v3进行并排比较，胜率为**70:30**）\n* 2025年6月 — 我们的[GigaAM研究论文](https:\u002F\u002Farxiv.org\u002Fabs\u002F2506.01192)已被InterSpeech 2025接收！\n* 2024年12月 — [MIT 许可证](.\u002FLICENSE)，GigaAM-v2（CTC和RNN-T模型的WER分别降低**15%**和**12%**），[ONNX 导出支持](#onnx-export-and-inference)\n* 2024年5月 — GigaAM-RNNT（WER降低**19%**），[使用外部语音活动检测进行长音频推理](#model-inference)\n* 2024年4月 — GigaAM发布：GigaAM-CTC（[俄语最先进的语音识别模型](#model-performance)），[GigaAM-Emo](#model-performance)\n\n---\n\n## 设置\n\n### 要求\n- Python ≥ 3.10\n- 已安装并添加到系统PATH中的[ffmpeg](https:\u002F\u002Fffmpeg.org\u002F)\n\n### 安装 GigaAM 包\n\n```bash\n# 克隆仓库\ngit clone https:\u002F\u002Fgithub.com\u002Fsalute-developers\u002FGigaAM.git\ncd GigaAM\n\n# 安装包依赖\npip install -e .[torch]\n\n# （可选）验证安装：\npip install -e \".[tests]\"\npytest -v tests\u002Ftest_loading.py -m partial  # 或 `-m full` 测试所有模型\n```\n\n---\n\n## GigaAM 概述\n\nGigaAM 是一个基于[Conformer](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2005.08100.pdf)的基础模型（2.2亿至2.4亿参数），在多样化的俄语语音数据上进行了预训练。它作为整个GigaAM家族的核心，能够实现语音识别和情感识别方面的最先进微调性能。有关GigaAM-v1的更多信息，请参阅我们在[Habr](https:\u002F\u002Fhabr.com\u002Fru\u002Fcompanies\u002Fsberdevices\u002Farticles\u002F805569)上的文章。我们使用[CTC](https:\u002F\u002Fwww.cs.toronto.edu\u002F~graves\u002Ficml_2006.pdf)和[RNNT](https:\u002F\u002Farxiv.org\u002Fabs\u002F1211.3711)解码器对GigaAM编码器进行了ASR微调。GigaAM家族包括三类模型：\n\n| | 预训练方法 | 预训练时长（小时） | ASR训练时长（小时） | 可用版本 |\n| :--- | :--- | :--- | :--- | :---: |\n| **v1** | [Wav2vec 2.0](https:\u002F\u002Farxiv.org\u002Fabs\u002F2006.11477) | 50,000 | 2,000 | `v1_ssl`, `emo`, `v1_ctc`, `v1_rnnt` |\n| **v2** | [HuBERT–CTC](https:\u002F\u002Farxiv.org\u002Fabs\u002F2506.01192) | 50,000 | 2,000 | `v2_ssl`, `v2_ctc`, `v2_rnnt` |\n| **v3** | HuBERT–CTC | 700,000 | 4,000 | `v3_ssl`, `v3_ctc`, `v3_rnnt`, `v3_e2e_ctc`, `v3_e2e_rnnt` |\n\n其中，`v3_e2e_ctc`和`v3_e2e_rnnt`支持标点符号和文本规范化。\n\n## 模型性能\n\n`GigaAM-v3`的训练引入了新的内部数据集：呼叫中心、音乐、具有非典型特征的语音以及语音消息。因此，在这些新领域上，模型的平均表现比`GigaAM-v2`提高了**30%**，同时在公开基准测试上仍保持与`GigaAM-v2`相同的质量。在将`e2e_ctc`和`e2e_rnnt`与Whisper进行独立LLM评判的并排比较中，GigaAM模型以平均**70:30**的优势获胜。我们的情感识别模型`GigaAM-Emo`在Macro F1-Score上比现有模型高出**15%**。\n\n详细结果请参见[这里](.\u002Fevaluation.md)。\n\n---\n\n## 使用方法\n\n### 模型推理\n\n**注意：** 使用`.transcribe`函数进行的ASR仅适用于**不超过25秒**的音频。要启用`.transcribe_longform`功能，请安装额外的[pyannote.audio](https:\u002F\u002Fgithub.com\u002Fpyannote\u002Fpyannote-audio)依赖项。\n\n\u003Cdetails>\n\u003Csummary>长音频设置说明\u003C\u002Fsummary>\n\n* 生成[Hugging Face API令牌](https:\u002F\u002Fhuggingface.co\u002Fdocs\u002Fhub\u002Fsecurity-tokens)\n* 接受访问[pyannote\u002Fsegmentation-3.0](https:\u002F\u002Fhuggingface.co\u002Fpyannote\u002Fsegmentation-3.0)文件和内容的条件\n\n```bash\npip install -e \".[longform]\"\n# 可选地运行长音频测试\npip install -e \".[tests]\"\nHF_TOKEN=\u003C您的Hugging Face令牌> pytest -v tests\u002Ftest_longform.py\n```\n\u003C\u002Fdetails>\n\n\u003Cbr>\n\n\n```python\nimport gigaam\n\n# 加载测试音频\naudio_path = gigaam.utils.download_short_audio()\nlong_audio_path = gigaam.utils.download_long_audio()\n\n# 音频嵌入\nmodel_name = \"v3_ssl\"       # 选项：`v1_ssl`, `v2_ssl`, `v3_ssl`\nmodel = gigaam.load_model(model_name)\nembedding, _ = model.embed_audio(audio_path)\nprint(embedding)\n\n# ASR\nmodel_name = \"v3_e2e_rnnt\"  # 选项：任何带有 `_ctc` 或 `_rnnt` 后缀的模型版本\nmodel = gigaam.load_model(model_name)\ntranscription = model.transcribe(audio_path)\nprint(transcription)\n\n# 带有词级时间戳的ASR\nresult = model.transcribe(audio_path, word_timestamps=True)\nfor word in result.words:\n    print(f\"  [{word.start:.2f} - {word.end:.2f}] {word.text}\")\n\n# 以及长音频ASR\nimport os\nos.environ[\"HF_TOKEN\"] = \u003C具有“pyannote\u002Fsegmentation-3.0”读取权限的HF_TOKEN>\nresult = model.transcribe_longform(long_audio_path)\nfor segment in result:\n   print(f\"[{gigaam.format_time(segment.start)} - {gigaam.format_time(segment.end)}]: {segment.text}\")\n\n# 情感识别\nmodel = gigaam.load_model(\"emo\")\nemotion2prob = model.get_probs(audio_path)\nprint(\", \".join([f\"{emotion}: {prob:.3f}\" for emotion, prob in emotion2prob.items()]))\n```\n\n### 模型微调\n\nCTC和RNNT模型都可以使用PyTorch Lightning在自定义数据上进行微调。有关所有训练参数的详细说明，请参阅[`train_utils\u002FREADME.md`](.\u002Ftrain_utils\u002FREADME.md)。不同显存限制下的端到端示例可在[`train_utils\u002Fexample.ipynb`](.\u002Ftrain_utils\u002Fexample.ipynb)中找到。\n\n### 从 Hugging Face 加载\n\n> **注意：** 请从[示例](.\u002Fcolab_example.ipynb)中安装所需依赖项。\n\n```python\nfrom transformers import AutoModel\n\nmodel = AutoModel.from_pretrained(\"ai-sage\u002FGigaAM-v3\", revision=\"e2e_rnnt\", trust_remote_code=True)\n```\n\n### ONNX 导出与推理\n\n> **注意：** `to_onnx` 默认以 **fp32** 格式导出。若要在 GPU 上部署，请传递 `dtype=torch.float16` — 这样速度更快且显存占用更少。可通过卸载 onnxruntime 并运行 `pip install onnxruntime-gpu==1.22.*` 来启用 GPU 支持。\n\n1. 使用 `model.to_onnx` 方法将模型导出为 ONNX 格式：\n   ```python\n   onnx_dir = \"onnx\"\n   model_version = \"v3_ctc\"  # 可选：任意版本\n\n   model = gigaam.load_model(model_version)\n   model.to_onnx(dir_path=onnx_dir, dtype=torch.float32)  # 或者 fp16（推荐用于 GPU）\n   ```\n\n2. 运行 ONNX 推理：\n   ```python\n   from gigaam.onnx_utils import load_onnx, infer_onnx\n\n   sessions, model_cfg = load_onnx(onnx_dir, model_version)\n   result = infer_onnx([audio_path], model_cfg, sessions)\n   print(result[0])\n\n   # 或者使用整个数据集\n   texts = infer_onnx(\"\u002Fpath\u002Fto\u002Feval\u002Fmanifest.tsv\", model_cfg, sessions)\n   print(texts[0])\n   ```\n\n更多示例，包括高级用法（例如自定义音频加载、批处理等），请参阅 [Colab 笔记本](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fsalute-developers\u002FGigaAM\u002Fblob\u002Fmain\u002Fcolab_example.ipynb)。\n\n### Triton 推理服务器与 TensorRT\n\n所有语音识别模型均可通过 Triton 推理服务器以 ONNX\u002FTRT 格式在服务器环境中使用。有关设置说明、模型转换及部署细节，请参阅 [Triton 推理服务器文档](.\u002Ftriton_scripts\u002FREADME.md)。\n\n---\n\n## 引用\n\n如果您在研究中使用了 GigaAM，请引用我们的论文：\n\n```bibtex\n@inproceedings{kutsakov25_interspeech,\n  title     = {{GigaAM: 高效的自监督语音识别学习器}},\n  author    = {Aleksandr Kutsakov 和 Alexandr Maximenko 和 Georgii Gospodinov 和 Pavel Bogomolov 和 Fyodor Minkin},\n  year      = {2025},\n  booktitle = {{Interspeech 2025}},\n  pages     = {1213--1217},\n  doi       = {10.21437\u002FInterspeech.2025-1616},\n  issn      = {2958-1796},\n}\n```\n\n## 链接\n\n* [[arXiv] GigaAM：高效的自监督语音识别学习器](https:\u002F\u002Farxiv.org\u002Fabs\u002F2506.01192)\n* [[Habr] GigaAM-v3：开源的俄语语音识别 SOTA 模型](https:\u002F\u002Fhabr.com\u002Fru\u002Fcompanies\u002Fsberdevices\u002Farticles\u002F973160\u002F)\n* [[Habr] GigaAM：面向语音处理的开源模型系列](https:\u002F\u002Fhabr.com\u002Fru\u002Fcompanies\u002Fsberdevices\u002Farticles\u002F805569\u002F)\n* [[YouTube] 如何让 LLM 听懂声音：GigaAM 🤝 GigaChat Audio](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=O7NSH2SAwRc)\n* [[YouTube] GigaAM：俄语语音声学模型家族](https:\u002F\u002Fyoutu.be\u002FPvZuTUnZa2Q?t=26442)\n* [[YouTube] 仅语音预训练：通用音频编码器的训练](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=ktO4Mx6UMNk)","# GigaAM 快速上手指南\n\nGigaAM 是一个基于 Conformer 架构的开源语音处理模型家族，专为俄语语音识别（ASR）和情感识别优化。它支持 CTC 和 RNNT 解码器，并提供端到端（含标点与文本规范化）推理能力。\n\n## 环境准备\n\n在开始之前，请确保您的系统满足以下要求：\n\n*   **操作系统**: Linux \u002F macOS \u002F Windows\n*   **Python 版本**: ≥ 3.10\n*   **前置依赖**:\n    *   必须安装 [ffmpeg](https:\u002F\u002Fffmpeg.org\u002F) 并将其添加到系统环境变量 `PATH` 中。\n    *   建议配置国内 Python 镜像源（如清华源或阿里源）以加速依赖下载。\n\n## 安装步骤\n\n### 1. 克隆仓库\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fsalute-developers\u002FGigaAM.git\ncd GigaAM\n```\n\n### 2. 安装核心依赖\n使用 pip 安装基础包（包含 PyTorch 支持）：\n\n```bash\npip install -e .[torch] -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n> **提示**：如果需要处理长音频（超过 25 秒），需额外安装长表单支持：\n> ```bash\n> pip install -e \".[longform]\" -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n> # 注意：长表单功能需要配置 Hugging Face Token 并同意 pyannote\u002Fsegmentation-3.0 的使用协议\n> ```\n\n### 3. 验证安装（可选）\n```bash\npip install -e \".[tests]\" -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\npytest -v tests\u002Ftest_loading.py -m partial\n```\n\n## 基本使用\n\n以下是最简单的使用示例，涵盖语音嵌入提取、语音识别（ASR）及情感识别。\n\n### 代码示例\n\n```python\nimport gigaam\nimport os\n\n# 1. 加载测试音频 (也可替换为本地路径)\naudio_path = gigaam.utils.download_short_audio()\n\n# --- 场景 A: 提取音频嵌入 (Audio Embeddings) ---\n# 可选模型: v1_ssl, v2_ssl, v3_ssl\nmodel_name = \"v3_ssl\"\nmodel = gigaam.load_model(model_name)\nembedding, _ = model.embed_audio(audio_path)\nprint(\"Embedding shape:\", embedding.shape)\n\n# --- 场景 B: 语音识别 (ASR) ---\n# 推荐模型: v3_e2e_rnnt (支持标点和文本规范化), 也可用 v3_ctc, v3_rnnt 等\nmodel_name = \"v3_e2e_rnnt\"\nmodel = gigaam.load_model(model_name)\n\n# 标准转录 (适用于 \u003C 25 秒音频)\ntranscription = model.transcribe(audio_path)\nprint(\"Transcription:\", transcription)\n\n# 带时间戳的转录\nresult = model.transcribe(audio_path, word_timestamps=True)\nfor word in result.words:\n    print(f\"  [{word.start:.2f} - {word.end:.2f}] {word.text}\")\n\n# --- 场景 C: 情感识别 (Emotion Recognition) ---\nmodel = gigaam.load_model(\"emo\")\nemotion2prob = model.get_probs(audio_path)\nprint(\"Emotions:\", \", \".join([f\"{emotion}: {prob:.3f}\" for emotion, prob in emotion2prob.items()]))\n```\n\n### 长音频处理说明\n若需处理长音频，请使用 `transcribe_longform` 方法，并确保已设置环境变量 `HF_TOKEN`：\n\n```python\nos.environ[\"HF_TOKEN\"] = \"\u003C你的 Hugging Face Token>\"\nlong_audio_path = gigaam.utils.download_long_audio()\n\nresult = model.transcribe_longform(long_audio_path)\nfor segment in result:\n   print(f\"[{gigaam.format_time(segment.start)} - {gigaam.format_time(segment.end)}]: {segment.text}\")\n```\n\n### 从 Hugging Face 直接加载\n如果不克隆仓库，也可直接通过 `transformers` 库加载：\n\n```python\nfrom transformers import AutoModel\n\nmodel = AutoModel.from_pretrained(\"ai-sage\u002FGigaAM-v3\", revision=\"e2e_rnnt\", trust_remote_code=True)\n```","某大型俄语客服中心正在构建智能质检系统，需将每日数万通包含背景噪音、音乐等待音及情绪波动的通话录音自动转为带标点的时间戳文本。\n\n### 没有 GigaAM 时\n- **识别准确率低**：通用模型在处理俄语特有的连读、方言或呼叫中心特有的嘈杂背景（如音乐等待音）时，词错误率（WER）极高，关键信息丢失严重。\n- **缺乏情感洞察**：传统语音转文字工具仅输出纯文本，无法同步识别客户愤怒或焦虑的情绪，导致质检员需人工回听录音判断服务态度。\n- **后处理成本高**：输出的文本缺乏标点符号和规范化格式，需要额外的 NLP 模型进行断句和清洗，增加了系统延迟和维护复杂度。\n- **长音频支持弱**：面对长达数十分钟的完整通话录音，现有方案常出现截断或上下文丢失，难以生成连贯的对话记录。\n\n### 使用 GigaAM 后\n- **领域适应性极强**：GigaAM-v3 专为呼叫中心、音乐背景及非典型语音特征训练，在新数据域上的识别错误率降低了 30%，即使在高噪环境下也能精准捕捉俄语细节。\n- **原生情感识别**：直接调用 GigaAM-Emo 模型，在转录同时输出情绪标签，宏观 F1 分数提升 15%，帮助系统自动标记潜在投诉风险。\n- **端到端标准化输出**：利用 GigaAM-v3-e2e 版本，直接生成带标点、已规范化的文本及单词级时间戳，省去了繁琐的后处理流水线。\n- **长表单推理稳定**：结合外部语音活动检测（VAD），GigaAM 能流畅处理超长通话录音，保持上下文连贯性，且在对比测试中优于 Whisper-large-v3。\n\nGigaAM 通过单一基础模型家族解决了俄语场景下从高精度转录、情感分析到长音频处理的全链路难题，显著降低了客服智能化的落地门槛。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsalute-developers_GigaAM_5dcc66db.png","salute-developers","Salute Developers","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fsalute-developers_020ecfc7.png","",null,"https:\u002F\u002Fgithub.com\u002Fsalute-developers",[82,86,90,94],{"name":83,"color":84,"percentage":85},"Python","#3572A5",68.7,{"name":87,"color":88,"percentage":89},"Jupyter Notebook","#DA5B0B",30,{"name":91,"color":92,"percentage":93},"Shell","#89e051",1.3,{"name":95,"color":96,"percentage":97},"Dockerfile","#384d54",0.1,547,81,"2026-04-16T07:57:35","MIT","未说明","非必需（支持 CPU 运行）。若需 GPU 加速或部署，建议使用 NVIDIA GPU；ONNX 导出支持 float16 以节省显存并提升速度，具体显存需求取决于模型版本（参数量约 2.2-2.4 亿）及是否进行长音频处理或微调。","未说明（微调部分提及有不同 VRAM 约束的示例，暗示内存需求随任务变化）",{"notes":106,"python":107,"dependencies":108},"必须安装 ffmpeg 并添加到系统 PATH。默认 transcribe 函数仅支持 25 秒以内音频，处理长音频需额外安装 pyannote.audio 并配置 Hugging Face Token。模型支持导出为 ONNX 格式（默认 fp32，推荐 GPU 部署使用 fp16），也可通过 Triton Inference Server 和 TensorRT 进行服务器端部署。微调功能基于 PyTorch Lightning。","3.10+",[109,110,111,112,113,114],"torch","ffmpeg","pyannote.audio (可选，用于长音频)","onnxruntime \u002F onnxruntime-gpu","transformers (用于从 HuggingFace 加载)","pytest (可选，用于测试)",[31,16],[117,118,119,120],"emotion-recognition","foundation-models","speech-recognition","self-supervised-learning","2026-03-27T02:49:30.150509","2026-04-17T08:25:22.156270",[124,129,134,139,144,149],{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},37139,"如何获取词级时间戳（Word-level timestamps）？","GigaAM 支持通过自定义解码器获取词级时间戳。用户可以使用贪婪 RNNT 解码算法，在解码过程中保留每个 token 对应的编码器帧索引。具体实现可参考社区提供的 `_decode_with_alignment_rnnt` 函数代码，该函数兼容 GIGAAM v3_e2e_rnnt 模型，能够输出文本序列及其对应的时间帧位置。","https:\u002F\u002Fgithub.com\u002Fsalute-developers\u002FGigaAM\u002Fissues\u002F48",{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},37140,"是否支持在 C++ (LibTorch) 环境中使用 GigaAM？","是的，可以在 C++ 中使用。但需要注意区分在线（Streaming）和离线（Offline）模型：当前的 GigaAM 模型是离线模型，因此在 C++ 代码中必须使用 `OfflineRecognizer` 而不是 `OnlineRecognizer`。关于内存管理，由于使用的是 C++ 对象（类似 `std::vector`），无需手动调用销毁函数，对象会自动释放内存。","https:\u002F\u002Fgithub.com\u002Fsalute-developers\u002FGigaAM\u002Fissues\u002F9",{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},37141,"处理长音频时遇到张量尺寸不匹配错误（如 size 5082 vs 5000）如何解决？","该错误通常由长音频分块逻辑引起。解决方案有两种：1. 更新到最新版本的 GigaAM，官方已修复了基于 VAD 的长音频分块逻辑并增加了最大分块大小限制；2. 临时修改配置，将 `encoder.py` 中的 `pos_emb_max_len` 从 5000 改为 6000，并在加载模型后执行 `model.cfg.encoder.pos_emb_max_len = 6000` 然后重新实例化 encoder。注意：模型训练时音频最长为 25 秒，处理远超此长度的音频可能会导致质量下降或显存增加。","https:\u002F\u002Fgithub.com\u002Fsalute-developers\u002FGigaAM\u002Fissues\u002F41",{"id":140,"question_zh":141,"answer_zh":142,"source_url":143},37142,"如何使用 ONNX 运行 GigaAM_RNNT 模型？","可以通过 `sherpa-onnx` 框架运行。首先需要导出模型的三个部分：encoder、decoder 和 joint 为 ONNX 格式，并生成对应的 vocab 文件。导出后，参考 sherpa-onnx 的官方文档配置 `OfflineRecognizerConfig`，指定 encoder、decoder 和 joiner 的 ONNX 模型路径即可加载运行。注意不要误用 OnlineRecognizer，因为当前模型是离线模型。","https:\u002F\u002Fgithub.com\u002Fsalute-developers\u002FGigaAM\u002Fissues\u002F12",{"id":145,"question_zh":146,"answer_zh":147,"source_url":148},37143,"为什么重新实例化的预处理器与模型自带的预处理器结果存在细微差异？","这是因为模型是在 `bfloat16` 精度下训练的，而重新实例化的预处理器默认可能是其他精度。要复现完全一致的预处理权重，需要在实例化后将其转换为 `bfloat16` 再转回 `float`。代码如下：`preprocessor = preprocessor.to(torch.bfloat16).float()`。尽管存在细微系数差异，但这通常在测量噪声范围内，不会影响最终的词错误率（WER）。","https:\u002F\u002Fgithub.com\u002Fsalute-developers\u002FGigaAM\u002Fissues\u002F49",{"id":150,"question_zh":151,"answer_zh":152,"source_url":153},37144,"处理大文件或长音频时出现 CUDA 显存溢出（Out of Memory）怎么办？","当处理较大音频文件导致显存不足时，建议采用分块处理策略。可以利用 VAD（语音活动检测）将长音频切割成较小的片段（例如小于 20-25 秒）分别进行转录，然后再合并结果。官方在处理长音频逻辑中也引入了强制的最大分块大小限制来缓解此问题。","https:\u002F\u002Fgithub.com\u002Fsalute-developers\u002FGigaAM\u002Fissues\u002F2",[]]