[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-wenet-e2e--wespeaker":3,"tool-wenet-e2e--wespeaker":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},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 真正成长为懂上",142651,2,"2026-04-06T23:34:12",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107888,"2026-04-06T11:32:50",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":10,"last_commit_at":59,"category_tags":60,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[35,15,13,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":77,"owner_email":77,"owner_twitter":77,"owner_website":78,"owner_url":79,"languages":80,"stars":101,"forks":102,"last_commit_at":103,"license":104,"difficulty_score":32,"env_os":105,"env_gpu":106,"env_ram":107,"env_deps":108,"category_tags":117,"github_topics":118,"view_count":32,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":139,"updated_at":140,"faqs":141,"releases":172},4839,"wenet-e2e\u002Fwespeaker","wespeaker","Research and Production Oriented Speaker Verification, Recognition and Diarization Toolkit","WeSpeaker 是一款面向科研与生产环境的开源工具包，专注于说话人验证、识别及语音日记（Diarization）任务。它核心解决了“如何从音频中精准提取说话人特征并判断身份”的难题，支持在线特征提取或直接加载 Kaldi 格式数据，能够高效处理声纹比对和多人对话分离场景。\n\n该工具非常适合语音算法研究人员、AI 开发者以及需要集成声纹功能的企业工程师使用。无论是进行学术模型探索，还是部署实际生产系统，WeSpeaker 都提供了灵活的命令行接口和易用的 Python API，让用户能快速上手。\n\n在技术亮点方面，WeSpeaker 不仅支持主流的说话人嵌入学习，还持续集成前沿成果，如最新加入的 w2v-bert2 模型、Xi-vector 架构以及基于 Whisper 编码器的前端方案。它还内置了针对 VoxConverse 等数据集优化的日记流程，利用 UMAP 降维和 HDBSCAN 聚类提升多人说话分离效果。此外，工具提供丰富的预训练模型（涵盖中文及多语言），并支持质量感知评分校准，帮助开发者在复杂噪声环境下获得更鲁棒的验证结果。作为一个基于 Apache 2.0 协议开放的","WeSpeaker 是一款面向科研与生产环境的开源工具包，专注于说话人验证、识别及语音日记（Diarization）任务。它核心解决了“如何从音频中精准提取说话人特征并判断身份”的难题，支持在线特征提取或直接加载 Kaldi 格式数据，能够高效处理声纹比对和多人对话分离场景。\n\n该工具非常适合语音算法研究人员、AI 开发者以及需要集成声纹功能的企业工程师使用。无论是进行学术模型探索，还是部署实际生产系统，WeSpeaker 都提供了灵活的命令行接口和易用的 Python API，让用户能快速上手。\n\n在技术亮点方面，WeSpeaker 不仅支持主流的说话人嵌入学习，还持续集成前沿成果，如最新加入的 w2v-bert2 模型、Xi-vector 架构以及基于 Whisper 编码器的前端方案。它还内置了针对 VoxConverse 等数据集优化的日记流程，利用 UMAP 降维和 HDBSCAN 聚类提升多人说话分离效果。此外，工具提供丰富的预训练模型（涵盖中文及多语言），并支持质量感知评分校准，帮助开发者在复杂噪声环境下获得更鲁棒的验证结果。作为一个基于 Apache 2.0 协议开放的项目，WeSpeaker 致力于成为连接学术创新与工业落地的桥梁。","# WeSpeaker\n\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache%202.0-brightgreen.svg)](https:\u002F\u002Fopensource.org\u002Flicenses\u002FApache-2.0)\n[![Python-Version](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPython-3.8%7C3.9-brightgreen)](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker)\n\n[**Roadmap**](ROADMAP.md)\n| [**Docs**](http:\u002F\u002Fwenet.org.cn\u002Fwespeaker)\n| [**Paper**](https:\u002F\u002Farxiv.org\u002Fabs\u002F2210.17016)\n| [**Runtime**](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Ftree\u002Fmaster\u002Fruntime)\n| [**Pretrained Models**](docs\u002Fpretrained.md)\n| [**Huggingface Demo**](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fwenet\u002Fwespeaker_demo)\n| [**Modelscope Demo**](https:\u002F\u002Fwww.modelscope.cn\u002Fstudios\u002Fwenet\u002FSpeaker_Verification_in_WeSpeaker\u002Fsummary)\n\n\nWeSpeaker mainly focuses on [**speaker embedding learning**](https:\u002F\u002Fwsstriving.github.io\u002Ftalk\u002Fncmmsc_slides_shuai.pdf), with application to the speaker verification task. We support\nonline feature extraction or loading pre-extracted features in kaldi-format.\n\n## Installation\n\n### Install python package\n``` sh\npip install git+https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker.git\n```\n**Command-line usage** (use `-h` for parameters):\n\n``` sh\n$ wespeaker --task embedding --audio_file audio.wav --output_file embedding.txt\n$ wespeaker --task embedding_kaldi --wav_scp wav.scp --output_file \u002Fpath\u002Fto\u002Fembedding\n$ wespeaker --task similarity --audio_file audio.wav --audio_file2 audio2.wav\n$ wespeaker --task diarization --audio_file audio.wav\n```\n\n**Python programming usage**:\n\n``` python\nimport wespeaker\n\nmodel = wespeaker.load_model('chinese')\nembedding = model.extract_embedding('audio.wav')\nutt_names, embeddings = model.extract_embedding_list('wav.scp')\nsimilarity = model.compute_similarity('audio1.wav', 'audio2.wav')\ndiar_result = model.diarize('audio.wav')\n```\n\nYou can set the environment variable `WESPEAKER_HOME` to specify the path of downloaded pre-trained models. By default it will be `$HOME\u002F.wespeaker`.\n\nPlease refer to [python usage](docs\u002Fpython_package.md) for more command line and python programming usage.\n\n### Install for development & deployment\n* Clone this repo\n``` sh\ngit clone https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker.git\n```\n\n* Create conda env: pytorch version >= 1.12.1 is recommended !!!\n``` sh\nconda create -n wespeaker python=3.9\nconda activate wespeaker\nconda install pytorch=1.12.1 torchaudio=0.12.1 cudatoolkit=11.3 -c pytorch -c conda-forge\npip install -r requirements.txt\npre-commit install  # for clean and tidy code\n```\n\n## 🔥 News\n* 2025.12.05: Add support for the [w2v-bert2 model](https:\u002F\u002Fwww.arxiv.org\u002Fpdf\u002F2510.04213), see [#439](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F439) and [#441](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F441).\n* 2025.02.23: Add support for the Xi-vector, see [#404](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F404).\n* 2024.09.03: Support the SimAM_ResNet and the model pretrained on VoxBlink2, check [Pretrained Models](docs\u002Fpretrained.md) for the pretrained model, [VoxCeleb Recipe](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Ftree\u002Fmaster\u002Fexamples\u002Fvoxceleb\u002Fv2) for the super performance, and [python usage](docs\u002Fpython_package.md) for the command line usage!\n* 2024.08.30: We support whisper_encoder based frontend and propose the [Whisper-PMFA](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2408.15585) framework, check [#356](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F356).\n* 2024.08.20: Update diarization recipe for VoxConverse dataset by leveraging umap dimensionality reduction and hdbscan clustering, see [#347](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F347) and [#352](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F352).\n* 2024.08.18: Support using ssl pre-trained models as the frontend. The [WavLM recipe](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fblob\u002Fmaster\u002Fexamples\u002Fvoxceleb\u002Fv2\u002Frun_wavlm.sh) is also provided, see [#344](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F344).\n* 2024.05.15: Add support for [quality-aware score calibration](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2211.00815), see [#320](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F320).\n* 2024.04.25: Add support for the gemini-dfresnet model, see [#291](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F291).\n* 2024.04.23: Support MNN inference engine in runtime, see [#310](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F310).\n* 2024.04.02: Release [Wespeaker document](http:\u002F\u002Fwenet.org.cn\u002Fwespeaker) with detailed model-training tutorials, introduction of various runtime platforms, etc.\n* 2024.03.04: Support the [eres2net-cn-common-200k](https:\u002F\u002Fwww.modelscope.cn\u002Fmodels\u002Fiic\u002Fspeech_eres2net_sv_zh-cn_16k-common\u002Fsummary) and [campplus-cn-common-200k](https:\u002F\u002Fwww.modelscope.cn\u002Fmodels\u002Fiic\u002Fspeech_campplus_sv_zh-cn_16k-common\u002Fsummary) of damo [#281](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F281), check [python usage](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fblob\u002Fmaster\u002Fdocs\u002Fpython_package.md) for details.\n* 2024.02.05: Support the ERes2Net [#272](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F272) and Res2Net [#273](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F273) models.\n* 2023.11.13: Support CLI usage of wespeaker, check [python usage](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fblob\u002Fmaster\u002Fdocs\u002Fpython_package.md) for details.\n* 2023.07.18: Support the kaldi-compatible PLDA and unsupervised adaptation, see [#186](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F186).\n* 2023.07.14: Support the [NIST SRE16 recipe](https:\u002F\u002Fwww.nist.gov\u002Fitl\u002Fiad\u002Fmig\u002Fspeaker-recognition-evaluation-2016), see [#177](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F177).\n\n## Recipes\n\n* [VoxCeleb](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Ftree\u002Fmaster\u002Fexamples\u002Fvoxceleb): Speaker Verification recipe on the [VoxCeleb dataset](https:\u002F\u002Fwww.robots.ox.ac.uk\u002F~vgg\u002Fdata\u002Fvoxceleb\u002F)\n    * 🔥 UPDATE 2024.05.15: We support score calibration for Voxceleb and achieve better performance!\n    * 🔥 UPDATE 2023.07.10: We support self-supervised learning recipe on Voxceleb! Achieving **2.627%** (ECAPA_TDNN_GLOB_c1024) EER on vox1-O-clean test set without any labels.\n    * 🔥 UPDATE 2022.10.31: We support deep r-vector up to the 293-layer version! Achieving **0.447%\u002F0.043** EER\u002Fmindcf on vox1-O-clean test set\n    * 🔥 UPDATE 2022.07.19: We apply the same setups as the CNCeleb recipe, and obtain SOTA performance considering the open-source systems\n      - EER\u002FminDCF on vox1-O-clean test set are **0.723%\u002F0.069** (ResNet34) and **0.728%\u002F0.099** (ECAPA_TDNN_GLOB_c1024), after LM fine-tuning and AS-Norm\n* [CNCeleb](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Ftree\u002Fmaster\u002Fexamples\u002Fcnceleb\u002Fv2): Speaker Verification recipe on the [CnCeleb dataset](http:\u002F\u002Fcnceleb.org\u002F)\n    * 🔥 UPDATE 2024.05.16: We support score calibration for Cnceleb and achieve better EER.\n    * 🔥 UPDATE 2022.10.31: 221-layer ResNet achieves **5.655%\u002F0.330**  EER\u002FminDCF\n    * 🔥 UPDATE 2022.07.12: We migrate the winner system of CNSRC 2022 [report](https:\u002F\u002Faishell-cnsrc.oss-cn-hangzhou.aliyuncs.com\u002FT082.pdf) [slides](https:\u002F\u002Faishell-cnsrc.oss-cn-hangzhou.aliyuncs.com\u002FT082-ZhengyangChen.pdf)\n      - EER\u002FminDCF reduction from 8.426%\u002F0.487 to **6.492%\u002F0.354** after large margin fine-tuning and AS-Norm\n* [NIST SRE16](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Ftree\u002Fmaster\u002Fexamples\u002Fsre\u002Fv2): Speaker Verification recipe for the [2016 NIST Speaker Recognition Evaluation Plan](https:\u002F\u002Fwww.nist.gov\u002Fitl\u002Fiad\u002Fmig\u002Fspeaker-recognition-evaluation-2016). Similar recipe can be found in [Kaldi](https:\u002F\u002Fgithub.com\u002Fkaldi-asr\u002Fkaldi\u002Ftree\u002Fmaster\u002Fegs\u002Fsre16).\n   * 🔥 UPDATE 2023.07.14: We support NIST SRE16 recipe. After PLDA adaptation, we achieved 6.608%, 10.01%, and 2.974% EER on trial Pooled, Tagalog, and Cantonese, respectively.\n* [VoxConverse](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Ftree\u002Fmaster\u002Fexamples\u002Fvoxconverse): Diarization recipe on the [VoxConverse dataset](https:\u002F\u002Fwww.robots.ox.ac.uk\u002F~vgg\u002Fdata\u002Fvoxconverse\u002F)\n\n## Discussion\n\nFor Chinese users, you can scan the QR code on the left to follow our offical account of `WeNet Community`.\nWe also created a WeChat group for better discussion and quicker response. Please scan the QR code on the right to join the chat group.\n| \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwenet-e2e_wespeaker_readme_5c6fe99bfd43.jpeg\" width=\"250px\"> | \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwenet-e2e_wespeaker_readme_4a1fc378a406.jpg\" width=\"250px\"> |\n| ---- | ---- |\n\n## Citations\nIf you find wespeaker useful, please cite it as\n```bibtex\n@article{wang2024advancing,\n  title={Advancing speaker embedding learning: Wespeaker toolkit for research and production},\n  author={Wang, Shuai and Chen, Zhengyang and Han, Bing and Wang, Hongji and Liang, Chengdong and Zhang, Binbin and Xiang, Xu and Ding, Wen and Rohdin, Johan and Silnova, Anna and others},\n  journal={Speech Communication},\n  volume={162},\n  pages={103104},\n  year={2024},\n  publisher={Elsevier}\n}\n\n@inproceedings{wang2023wespeaker,\n  title={Wespeaker: A research and production oriented speaker embedding learning toolkit},\n  author={Wang, Hongji and Liang, Chengdong and Wang, Shuai and Chen, Zhengyang and Zhang, Binbin and Xiang, Xu and Deng, Yanlei and Qian, Yanmin},\n  booktitle={IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)},\n  pages={1--5},\n  year={2023},\n  organization={IEEE}\n}\n```\n## Looking for contributors\n\nIf you are interested to contribute, feel free to contact @wsstriving or @robin1001\n","# WeSpeaker\n\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache%202.0-brightgreen.svg)](https:\u002F\u002Fopensource.org\u002Flicenses\u002FApache-2.0)\n[![Python-Version](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPython-3.8%7C3.9-brightgreen)](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker)\n\n[**路线图**](ROADMAP.md)\n| [**文档**](http:\u002F\u002Fwenet.org.cn\u002Fwespeaker)\n| [**论文**](https:\u002F\u002Farxiv.org\u002Fabs\u002F2210.17016)\n| [**运行时**](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Ftree\u002Fmaster\u002Fruntime)\n| [**预训练模型**](docs\u002Fpretrained.md)\n| [**Huggingface演示**](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fwenet\u002Fwespeaker_demo)\n| [**Modelscope演示**](https:\u002F\u002Fwww.modelscope.cn\u002Fstudios\u002Fwenet\u002FSpeaker_Verification_in_WeSpeaker\u002Fsummary)\n\n\nWeSpeaker 主要专注于[**说话人嵌入学习**](https:\u002F\u002Fwsstriving.github.io\u002Ftalk\u002Fncmmsc_slides_shuai.pdf)，并应用于说话人验证任务。我们支持在线特征提取，或者加载 Kaldi 格式的预提取特征。\n\n## 安装\n\n### 安装 Python 包\n``` sh\npip install git+https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker.git\n```\n**命令行使用**（使用 `-h` 查看参数）：\n\n``` sh\n$ wespeaker --task embedding --audio_file audio.wav --output_file embedding.txt\n$ wespeaker --task embedding_kaldi --wav_scp wav.scp --output_file \u002Fpath\u002Fto\u002Fembedding\n$ wespeaker --task similarity --audio_file audio.wav --audio_file2 audio2.wav\n$ wespeaker --task diarization --audio_file audio.wav\n```\n\n**Python 编程使用**：\n\n``` python\nimport wespeaker\n\nmodel = wespeaker.load_model('chinese')\nembedding = model.extract_embedding('audio.wav')\nutt_names, embeddings = model.extract_embedding_list('wav.scp')\nsimilarity = model.compute_similarity('audio1.wav', 'audio2.wav')\ndiar_result = model.diarize('audio.wav')\n```\n\n你可以设置环境变量 `WESPEAKER_HOME` 来指定下载的预训练模型路径。默认情况下，它会是 `$HOME\u002F.wespeaker`。\n\n更多命令行和 Python 编程用法，请参阅 [python 使用](docs\u002Fpython_package.md)。\n\n### 开发与部署安装\n* 克隆此仓库\n``` sh\ngit clone https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker.git\n```\n\n* 创建 conda 环境：推荐 PyTorch 版本 >= 1.12.1 !!!\n``` sh\nconda create -n wespeaker python=3.9\nconda activate wespeaker\nconda install pytorch=1.12.1 torchaudio=0.12.1 cudatoolkit=11.3 -c pytorch -c conda-forge\npip install -r requirements.txt\npre-commit install  # 用于保持代码整洁\n```\n\n## 🔥 最新消息\n* 2025.12.05: 增加对 [w2v-bert2 模型](https:\u002F\u002Fwww.arxiv.org\u002Fpdf\u002F2510.04213) 的支持，详见 [#439](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F439) 和 [#441](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F441)。\n* 2025.02.23: 增加对 Xi-vector 的支持，详见 [#404](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F404)。\n* 2024.09.03: 支持 SimAM_ResNet 模型以及在 VoxBlink2 数据集上预训练的模型。有关预训练模型的信息，请参阅 [预训练模型](docs\u002Fpretrained.md)，超性能实现请参考 [VoxCeleb 教程](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Ftree\u002Fmaster\u002Fexamples\u002Fvoxceleb\u002Fv2)，命令行使用方法请参阅 [Python 使用](docs\u002Fpython_package.md)！\n* 2024.08.30: 我们支持基于 whisper_encoder 的前端，并提出了 [Whisper-PMFA](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2408.15585) 框架，详情请见 [#356](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F356)。\n* 2024.08.20: 更新了针对 VoxConverse 数据集的聚类分割教程，利用 umap 降维和 hdbscan 聚类算法，详情请见 [#347](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F347) 和 [#352](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F352)。\n* 2024.08.18: 支持使用 SSL 预训练模型作为前端。同时提供了 [WavLM 教程](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fblob\u002Fmaster\u002Fexamples\u002Fvoxceleb\u002Fv2\u002Frun_wavlm.sh)，详情请见 [#344](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F344)。\n* 2024.05.15: 增加对 [质量感知评分校准](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2211.00815) 的支持，详情请见 [#320](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F320)。\n* 2024.04.25: 增加对 gemini-dfresnet 模型的支持，详情请见 [#291](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F291)。\n* 2024.04.23: 在运行时支持 MNN 推理引擎，详情请见 [#310](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F310)。\n* 2024.04.02: 发布 [Wespeaker 文档](http:\u002F\u002Fwenet.org.cn\u002Fwespeaker)，包含详细的模型训练教程、多种运行平台介绍等内容。\n* 2024.03.04: 支持 damo 提供的 [eres2net-cn-common-200k](https:\u002F\u002Fwww.modelscope.cn\u002Fmodels\u002Fiic\u002Fspeech_eres2net_sv_zh-cn_16k-common\u002Fsummary) 和 [campplus-cn-common-200k](https:\u002F\u002Fwww.modelscope.cn\u002Fmodels\u002Fiic\u002Fspeech_campplus_sv_zh-cn_16k-common\u002Fsummary) 模型，详见 [#281](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F281)。详细使用方法请参阅 [Python 使用](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fblob\u002Fmaster\u002Fdocs\u002Fpython_package.md)。\n* 2024.02.05: 支持 ERes2Net [#272](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F272) 和 Res2Net [#273](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F273) 模型。\n* 2023.11.13: 支持 Wespeaker 的 CLI 使用方式，详情请参阅 [Python 使用](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fblob\u002Fmaster\u002Fdocs\u002Fpython_package.md)。\n* 2023.07.18: 支持与 Kaldi 兼容的 PLDA 及无监督适应技术，详情请见 [#186](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F186)。\n* 2023.07.14: 支持 [NIST SRE16 教程](https:\u002F\u002Fwww.nist.gov\u002Fitl\u002Fiad\u002Fmig\u002Fspeaker-recognition-evaluation-2016)，详情请见 [#177](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F177)。\n\n## 食谱\n\n* [VoxCeleb](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Ftree\u002Fmaster\u002Fexamples\u002Fvoxceleb): 基于[VoxCeleb数据集](https:\u002F\u002Fwww.robots.ox.ac.uk\u002F~vgg\u002Fdata\u002Fvoxceleb\u002F)的说话人验证食谱\n    * 🔥 更新 2024年5月15日：我们支持Voxceleb的分数校准，并取得了更好的性能！\n    * 🔥 更新 2023年7月10日：我们在Voxceleb上支持自监督学习食谱！在没有任何标签的情况下，在vox1-O-clean测试集上实现了**2.627%**（ECAPA_TDNN_GLOB_c1024）的EER。\n    * 🔥 更新 2022年10月31日：我们支持深度r-vector，最高可达293层版本！在vox1-O-clean测试集上实现了**0.447%\u002F0.043**的EER\u002Fmindcf。\n    * 🔥 更新 2022年7月19日：我们采用了与CNCeleb食谱相同的设置，在开源系统中获得了SOTA性能。\n      - 在vox1-O-clean测试集上的EER\u002FminDCF分别为**0.723%\u002F0.069**（ResNet34）和**0.728%\u002F0.099**（ECAPA_TDNN_GLOB_c1024），经过LM微调和AS-Norm处理后。\n* [CNCeleb](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Ftree\u002Fmaster\u002Fexamples\u002Fcnceleb\u002Fv2): 基于[CnCeleb数据集](http:\u002F\u002Fcnceleb.org\u002F)的说话人验证食谱\n    * 🔥 更新 2024年5月16日：我们支持Cnceleb的分数校准，并取得了更好的EER。\n    * 🔥 更新 2022年10月31日：221层ResNet实现了**5.655%\u002F0.330**的EER\u002FminDCF。\n    * 🔥 更新 2022年7月12日：我们迁移了2022年CNSRC竞赛的获胜系统[报告](https:\u002F\u002Faishell-cnsrc.oss-cn-hangzhou.aliyuncs.com\u002FT082.pdf)和[幻灯片](https:\u002F\u002Faishell-cnsrc.oss-cn-hangzhou.aliyuncs.com\u002FT082-ZhengyangChen.pdf)。\n      - 经过大 margin 微调和AS-Norm处理后，EER\u002FminDCF从8.426%\u002F0.487降低到**6.492%\u002F0.354**。\n* [NIST SRE16](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Ftree\u002Fmaster\u002Fexamples\u002Fsre\u002Fv2): 针对[2016年NIST说话人识别评估计划](https:\u002F\u002Fwww.nist.gov\u002Fitl\u002Fiad\u002Fmig\u002Fspeaker-recognition-evaluation-2016)的说话人验证食谱。类似的食谱也可以在[Kaldi](https:\u002F\u002Fgithub.com\u002Fkaldi-asr\u002Fkaldi\u002Ftree\u002Fmaster\u002Fegs\u002Fsre16)中找到。\n   * 🔥 更新 2023年7月14日：我们支持NIST SRE16食谱。经过PLDA适配后，在trial Pooled、Tagalog和Cantonese三个测试集上分别达到了6.608%、10.01%和2.974%的EER。\n* [VoxConverse](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Ftree\u002Fmaster\u002Fexamples\u002Fvoxconverse): 基于[VoxConverse数据集](https:\u002F\u002Fwww.robots.ox.ac.uk\u002F~vgg\u002Fdata\u002Fvoxconverse\u002F)的语音分离食谱\n\n## 讨论\n\n对于中文用户，您可以扫描左侧的二维码关注我们的`WeNet社区`官方账号。\n我们还创建了一个微信群，以便更好地交流和更快地响应。请扫描右侧的二维码加入聊天群。\n| \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwenet-e2e_wespeaker_readme_5c6fe99bfd43.jpeg\" width=\"250px\"> | \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwenet-e2e_wespeaker_readme_4a1fc378a406.jpg\" width=\"250px\"> |\n| ---- | ---- |\n\n## 引用\n如果您觉得wespeaker很有用，请按以下方式引用：\n```bibtex\n@article{wang2024advancing,\n  title={推进说话人嵌入学习：用于研究和生产的Wespeaker工具包},\n  author={王帅、陈正阳、韩冰、王洪基、梁成东、张彬彬、向旭、丁文、罗丁、西尔诺娃等},\n  journal={Speech Communication},\n  volume={162},\n  pages={103104},\n  year={2024},\n  publisher={Elsevier}\n}\n\n@inproceedings{wang2023wespeaker,\n  title={Wespeaker：面向研究和生产的说话人嵌入学习工具包},\n  author={王洪基、梁成东、王帅、陈正阳、张彬彬、向旭、邓延雷、钱燕敏},\n  booktitle={IEEE国际声学、语音与信号处理会议（ICASSP）},\n  pages={1--5},\n  year={2023},\n  organization={IEEE}\n}\n```\n## 寻求贡献者\n\n如果您有兴趣参与贡献，请随时联系@wsstriving或@robin1001。","# WeSpeaker 快速上手指南\n\nWeSpeaker 是一个专注于**说话人嵌入学习**（Speaker Embedding Learning）的开源工具包，主要应用于说话人验证（Speaker Verification）和说话人日志（Diarization）任务。支持在线特征提取或加载 Kaldi 格式预提取特征。\n\n## 环境准备\n\n*   **操作系统**: Linux \u002F macOS\n*   **Python 版本**: 3.8 或 3.9\n*   **PyTorch 版本**: 推荐 >= 1.12.1\n*   **硬件要求**: 支持 CPU 推理；若需训练或使用 GPU 加速，请确保安装对应的 CUDA 驱动（推荐 CUDA 11.3+）\n\n## 安装步骤\n\n### 方式一：直接安装 Python 包（推荐用于快速体验）\n\n直接使用 pip 从 GitHub 安装最新稳定版：\n\n```bash\npip install git+https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker.git\n```\n\n> **提示**：国内用户若下载缓慢，可配置 pip 使用清华或阿里镜像源：\n> `pip install -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple git+https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker.git`\n\n### 方式二：源码安装（用于开发或部署）\n\n如需修改代码或进行模型训练，建议克隆仓库并配置 Conda 环境：\n\n1.  **克隆项目**\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker.git\n    cd wespeaker\n    ```\n\n2.  **创建并激活 Conda 环境**\n    ```bash\n    conda create -n wespeaker python=3.9\n    conda activate wespeaker\n    ```\n\n3.  **安装依赖**\n    推荐使用 PyTorch 官方渠道安装核心依赖（注意根据本地 CUDA 版本调整 `cudatoolkit` 参数）：\n    ```bash\n    conda install pytorch=1.12.1 torchaudio=0.12.1 cudatoolkit=11.3 -c pytorch -c conda-forge\n    pip install -r requirements.txt\n    ```\n\n4.  **配置代码规范工具（可选）**\n    ```bash\n    pre-commit install\n    ```\n\n## 基本使用\n\n安装完成后，你可以通过命令行或 Python 代码两种方式调用 WeSpeaker。默认预训练模型将下载到 `$HOME\u002F.wespeaker`，可通过设置环境变量 `WESPEAKER_HOME` 自定义路径。\n\n### 1. 命令行使用 (CLI)\n\n使用 `-h` 可查看完整参数帮助。\n\n**提取说话人嵌入向量 (Embedding):**\n```bash\nwespeaker --task embedding --audio_file audio.wav --output_file embedding.txt\n```\n\n**批量提取 (Kaldi 格式 wav.scp):**\n```bash\nwespeaker --task embedding_kaldi --wav_scp wav.scp --output_file \u002Fpath\u002Fto\u002Fembedding\n```\n\n**计算两段音频的相似度:**\n```bash\nwespeaker --task similarity --audio_file audio.wav --audio_file2 audio2.wav\n```\n\n**说话人日志 (Diarization):**\n```bash\nwespeaker --task diarization --audio_file audio.wav\n```\n\n### 2. Python 编程使用\n\n在代码中集成 WeSpeaker 非常简单：\n\n```python\nimport wespeaker\n\n# 加载模型 (支持 'chinese', 'english' 等，自动下载预训练模型)\nmodel = wespeaker.load_model('chinese')\n\n# 提取单条音频的嵌入向量\nembedding = model.extract_embedding('audio.wav')\n\n# 批量提取嵌入向量\nutt_names, embeddings = model.extract_embedding_list('wav.scp')\n\n# 计算两条音频的相似度得分\nsimilarity = model.compute_similarity('audio1.wav', 'audio2.wav')\n\n# 执行说话人日志\ndiar_result = model.diarize('audio.wav')\n```\n\n更多高级用法（如自定义模型路径、PLDA 评分等）请参考官方文档 [docs\u002Fpython_package.md](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fblob\u002Fmaster\u002Fdocs\u002Fpython_package.md)。","某金融科技公司客服质检团队需要从每日数万通录音中，快速识别违规话术并区分不同坐席与客户的对话段落。\n\n### 没有 wespeaker 时\n- **身份核验困难**：缺乏自动化工具，只能依靠人工听音或简单的音量阈值来区分坐席与客户，效率极低且容易出错。\n- **开发门槛高**：自研声纹识别模型需要深厚的算法背景，从特征提取到模型训练耗时数月，难以快速落地。\n- **部署复杂**：现有的学术代码往往缺乏生产级接口，难以集成到现有的 Python 质检流水线中，维护成本高昂。\n- **多语言支持弱**：面对中文方言与普通话混合的录音场景，通用开源模型准确率大幅下降，导致漏检率高。\n\n### 使用 wespeaker 后\n- **自动化说话人分离**：利用 `diarize` 功能一键将长录音按说话人切分，精准标记“坐席”与“客户”片段，处理效率提升 90%。\n- **开箱即用的预训练模型**：直接加载官方提供的中文预训练模型（如 `chinese`），几行代码即可提取高质量声纹嵌入，无需从零训练。\n- **灵活的生产级集成**：通过简单的 Python API 或命令行工具，轻松将声纹比对（`compute_similarity`）嵌入现有质检系统，实现实时预警。\n- **高精度场景适配**：基于 VoxBlink2 等大规模数据集训练的模型，有效克服噪音与方言干扰，显著提升了违规话术关联到具体人员的准确率。\n\nwespeaker 将复杂的声纹研究能力转化为简单的工程调用，让企业能以最低成本构建高精度的智能语音质检闭环。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwenet-e2e_wespeaker_ef4ca5db.png","wenet-e2e","WeNet Community","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fwenet-e2e_583b7e99.png","Production First and Production Ready End-to-End Speech Toolkit",null,"https:\u002F\u002Fwenet.org.cn\u002F","https:\u002F\u002Fgithub.com\u002Fwenet-e2e",[81,85,89,93,97],{"name":82,"color":83,"percentage":84},"Python","#3572A5",84.9,{"name":86,"color":87,"percentage":88},"C++","#f34b7d",9,{"name":90,"color":91,"percentage":92},"Shell","#89e051",4.2,{"name":94,"color":95,"percentage":96},"CMake","#DA3434",1.2,{"name":98,"color":99,"percentage":100},"Perl","#0298c3",0.7,1255,189,"2026-04-05T04:12:29","Apache-2.0","Linux, macOS, Windows","可选（支持 CPU 运行）。若使用 GPU 训练或加速推理，需 NVIDIA GPU 且 CUDA 版本 >= 11.3（开发环境示例指定了 cudatoolkit=11.3）。显存大小未明确说明，取决于具体模型（如 ResNet34, ECAPA-TDNN 等）。","未说明",{"notes":109,"python":110,"dependencies":111},"1. 推荐使用 Conda 创建虚拟环境进行开发部署。2. 官方开发环境示例要求 PyTorch 版本 >= 1.12.1 并搭配 CUDA 11.3。3. 可通过设置环境变量 WESPEAKER_HOME 指定预训练模型下载路径，默认为 $HOME\u002F.wespeaker。4. 支持多种运行时引擎，包括 PyTorch 和 MNN。5. 支持加载 Kaldi 格式特征或使用在线特征提取。","3.8, 3.9",[112,113,114,115,116],"torch>=1.12.1","torchaudio>=0.12.1","kaldi-io (隐含，支持 kaldi 格式)","scipy (隐含，常见音频处理依赖)","numpy (隐含)",[14],[119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138],"asv","ecapa-tdnn","production-ready","pytorch","resnet","speaker-recognition","speaker-verification","xvector","speaker-diarization","repvgg","campplus","eres2net","ssl","dino","plda","cnceleb","voxceleb","nist-sre","wavlm","redimnet","2026-03-27T02:49:30.150509","2026-04-07T13:43:51.415433",[142,147,152,157,162,167],{"id":143,"question_zh":144,"answer_zh":145,"source_url":146},22009,"运行脚本时遇到 KeyError: 'test\u002Fid...wav' 或提取进程同时占用 GPU 内存导致报错，如何解决？","这通常是因为脚本中使用了 '&' 符号导致后台并行执行，从而引发资源冲突或文件读取错误。解决方法是移除脚本中的 '&' 符号。如果希望两个提取任务成功一起运行，可以调整 batch_size_array 参数，例如设置为 `batch_size_array=(8 1)` 来串行化或优化资源分配。","https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fissues\u002F118",{"id":148,"question_zh":149,"answer_zh":150,"source_url":151},22010,"多卡训练时出现 NCCL 通信错误（Broken pipe）或设置失败，如何解决？","在多卡运行时遇到 NCCL 相关错误（如 Broken pipe），可以在启动命令前添加环境变量 `NCCL_P2P_DISABLE=1` 来禁用 P2P 通信。完整的运行命令示例如下：\n`NCCL_P2P_DISABLE=1 torchrun --standalone --nnodes=1 --nproc_per_node=$num_gpus ...`\n请确保该变量加在具体的 torchrun 命令之前。","https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fissues\u002F221",{"id":153,"question_zh":154,"answer_zh":155,"source_url":156},22011,"训练过程中卡在 'load a batch' 阶段不动，是什么原因？","这通常是由于机器 IO 速度过慢（例如使用机械硬盘而非 SSD）以及 dataloader 的 `num_workers` 设置过小导致的。建议解决方案：\n1. 使用 SSD 硬盘存储数据。\n2. 增加 `num_workers` 的数量以加速数据加载。\n不同硬件配置下的训练时间参考：2 * A100 约 15 分钟\u002Fepoch，2 * 2080ti 约 40-50 分钟\u002Fepoch。","https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fissues\u002F114",{"id":158,"question_zh":159,"answer_zh":160,"source_url":161},22012,"如何将训练好的 PyTorch 模型（如 ReDimNet）导出为 ONNX 格式？","可以使用项目提供的专用脚本进行导出。脚本路径通常为 `wespeaker\u002Fbin\u002Fexport_onnx.py`。运行该脚本即可将现有的 PyTorch 模型转换为 ONNX 模型，无需重新训练。如果在导出特定模型（如 ReDimNet）时遇到张量常量警告或错误，请确保使用的是最新代码，并检查模型中是否有动态生成的张量被错误地注册为常量。","https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fissues\u002F417",{"id":163,"question_zh":164,"answer_zh":165,"source_url":166},22013,"使用 C++ (ONNX Runtime) 编译测试时没有输出结果，或者与 Python 版本计算结果不一致，怎么办？","如果遇到 C++ 测试无输出或相似度计算与 Python 不一致的问题，通常是因为余弦相似度计算后未进行归一化处理。请检查 C++ 源码（如 `speaker_engine.cc`）中的 `CosineSimilarity` 函数，确保其返回值经过了归一化处理。此外，如果是拼写错误导致的编译或运行问题，请拉取最新的代码仓库，维护者通常会修复此类已知问题。","https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fissues\u002F406",{"id":168,"question_zh":169,"answer_zh":170,"source_url":171},22014,"如果想用该工具识别机器异常声音（非说话人识别场景），可以直接替换数据集吗？","直接替换数据集可能无法达到最佳效果，因为模型主要是为说话人识别设计的。对于只有正常音频的机器异音检测场景，建议构建辅助任务来提取 Embedding，例如对机器状态等元信息进行分类，或使用自编码器（AE）。提取出 Embedding 后，再利用 KNN 等离群值检测算法来判断异常。","https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fissues\u002F197",[173,178,183],{"id":174,"version":175,"summary_zh":176,"released_at":177},135685,"v1.2.0","## 变更内容\n* @xx205 在 [#166](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F166) 中添加了 VoxSRC-23 说话人日志赛道验证集的训练配方。\n* @Hunterhuan 在 [#173](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F173) 中支持 SphereFace2 损失函数。\n* @czy97 和 @Hunterhuan 在 [#180](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F180) 中支持在 Voxceleb 数据集上进行自监督学习（SSL）的配方，包括 DINO、MoCo 和 SimCLR。\n* @czy97 在 [#177](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F177) 中支持 NIST SRE16 的训练配方。\n* @wsstriving 在 [#186](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F186) 中支持与 Kaldi 兼容的 PLDA 以及无监督适配。","2023-07-23T11:15:52",{"id":179,"version":180,"summary_zh":181,"released_at":182},135686,"v1.1.0","## 变更内容\n* 由 @cdliang11 在 [#102](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F102) 中添加对 RepVGG 模型的支持\n* 由 @czy97 在 [#103](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F103) 中添加对自动混合精度（AMP）训练的支持\n* 由 @wd929 在 [#113](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F113) 中为说话人日志化流水线添加 Triton GPU 部署\n* 由 @Hunterhuan 在 [#115](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F115) 中添加对多查询多头注意力池化（MQMHASTP）和 Intertopk-Subcenter 损失的支持\n* 由 @cdliang11 在 [#135](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F135) 中添加对 C++ onnxruntime 的支持\n* 由 @JiJiJiang 在 [#153](https:\u002F\u002Fgithub.com\u002Fwenet-e2e\u002Fwespeaker\u002Fpull\u002F153) 中添加对 CAM++ 模型的支持\n* 由 @wsstriving、@czy97 和 @JiJiJiang 添加更多预训练模型","2023-05-23T10:12:45",{"id":184,"version":185,"summary_zh":186,"released_at":187},135687,"v1.0.0","## 亮点\n* 竞争力强：与 SpeechBrain、ASV-Subtools 等相比具有优势\n* 轻量级：代码简洁清晰，无 Kaldi 依赖\n* 统一输入输出（UIO）：专为大规模训练数据设计\n* 实时特征准备：提供多种数据增强方法\n* 分布式训练：支持多节点、多 GPU 的扩展性\n* 生产就绪：支持 TensorRT 或 ONNX 导出格式，并提供 Triton 推理服务器演示\n* 预训练模型：提供 Python 绑定，并在 Hugging Face 上提供说话人验证的交互式演示\n\n## 总体结构\n\u003Cimg src=\"https:\u002F\u002Fuser-images.githubusercontent.com\u002F23723621\u002F201468073-2bf6c942-72ce-4931-9b9c-f9e79841f7b8.png\" width=\"500px\">\n\n## 使用指南\n我们提供了三份结构清晰的使用指南：\n* 说话人验证：VoxCeleb 和 CNCeleb 数据集（达到 SOTA 水平）\n* 说话人日区分割：VoxConverse 数据集（展示如何使用预训练的说话人模型）\n\n## 支持功能列表\n* SOTA 模型：基于 TDNN 的 x-vector、基于 ResNet 的 r-vector，以及 ECAPA_TDNN\n* 池化函数：基于统计的 TAP\u002FTSDP\u002FTSTP，以及基于注意力的 ASTP\n* 损失函数：标准 Softmax，以及基于间隔的 A-\u002FAM-\u002FAAM-Softmax\n* 打分方式：余弦相似度、PLDA，以及分数归一化（AS-Norm）\n* 评估指标：EER、minDCF（DET 曲线）和 DER\n* 在线数据增强：重采样、噪声与混响脉冲响应、速度扰动和 SpecAug\n* 训练策略：精心设计的学习率和间隔调度器，大间隔微调","2022-11-12T10:59:28"]