---
title: Speaker-Diarization-Models
canonical_url: "https://www.modelscope.cn/models/42ailab/Speaker-Diarization-Models"
md_url: "https://www.modelscope.cn/models/42ailab/Speaker-Diarization-Models.md"
repository: 42ailab/Speaker-Diarization-Models
last_updated: 2026-07-17
pipeline_tag: text-generation
tasks:
  - text-generation
library_name:
  - onnx
  - pytorch
frameworks:
  - pytorch
downloads: 0
stars: 1
---

# Speaker-Diarization-Models

> Speaker-Diarization-Models - 42ailab 在 ModelScope 开源的模型。说话人分离模型 · 谁在什么时候说话（全本地）

- **Repository**: 42ailab/Speaker-Diarization-Models
- **Tasks**: text-generation
- **Downloads**: 0
- **Stars**: 1
- **Last updated**: 2026-07-17

Source: https://www.modelscope.cn/models/42ailab/Speaker-Diarization-Models

---

<!--
  这是 ModelScope 仓 `42ailab/Speaker-Diarization-Models` 的 README，随分离模型包上传。
  改这里 = 改仓首页。多来源模型：pyannote 分段(MIT) + WeSpeaker 声纹(Apache-2.0)。
-->
# 说话人分离模型 · 谁在什么时候说话（全本地）

[![License: MIT + Apache 2.0](https://img.shields.io/badge/License-MIT_%2B_Apache_2.0-blue.svg)](https://opensource.org/licenses/MIT)
[![Runs Local](https://img.shields.io/badge/Runs-100%25_Local-brightgreen.svg)](https://42model.com)
[![Platform](https://img.shields.io/badge/Platform-macOS_|_Windows_|_Linux-lightgrey.svg)](https://42model.com)

给一段多人对话音频，本模型标出**每一段是谁说的**（说话人 1、说话人 2……）——全部在你自己的电脑上完成，**不上云、免费、私密**。

> **模型由 [pyannote](https://github.com/pyannote/pyannote-audio)（语音分段，MIT）与 [WeSpeaker](https://github.com/wenet-e2e/wespeaker)（说话人声纹，Apache-2.0）两个开源团队研发**；ONNX 部署封装承 [avencera/speakrs](https://github.com/avencera/speakrs)（Apache-2.0）。**本仓不是新模型**，而是我们把这些开源模型转成**能在你电脑上离线运行**的部署档并做了质量校验。它是一个**增强模型**、本身不做转写：转写仍由 [Qwen3-ASR](https://modelscope.cn/models/Qwen/Qwen3-ASR-0.6B) 完成，本模型为其补上「谁在说」的信息。

## 一、它解决什么问题

语音转文字能告诉你「说了什么」，多人对话里却常常分不清「**这句是谁说的**」。而很多场景恰恰离不开这份区分：

- **会议记录**：把纪要按发言人分段整理，一眼看清各方观点；
- **访谈 / 播客**：主持人与嘉宾分列，方便整理逐字稿与引用；
- **客服 / 质检**：区分坐席与客户，分别分析。

过去要做说话人分离，往往得把录音上传到云端服务——既有隐私顾虑，也可能产生费用。本模型让这一步**完全在本地完成**。

## 二、它是怎么做到的

它把三步串成一条「谁在什么时候说话」的流水线：

- **分段**（pyannote）：先找出音频里哪些时段有人在说、以及说话人切换的位置；
- **声纹**（WeSpeaker）：给每一小段提取一串代表嗓音特征的「声纹」数字；
- **聚类**：把声纹相近的段落归为同一个人，最终给每段贴上说话人标签。

**我们做的**：把上游开源的权重转成本地可跑的部署档、校验质量没因转换下降，让它跨 macOS / Windows / Linux **离线运行**；并为 Apple 芯片（CoreML）、NVIDIA 显卡（CUDA）、以及**纯 CPU** 各自选好加速方式，让没有独立显卡的电脑也能用。

## 三、效果如何

分离质量的完整基准（DER，越低越好）请以上游公开评测为准——据 [speakrs benchmarks](https://github.com/avencera/speakrs/tree/master/benchmarks)，本流水线（CoreML）在 VoxConverse **Dev** 子集上约 **7.1% DER**，与 pyannote community-1（约 7.2%）基本持平。这里只列**我们自己的复核**：

| 我们复核的项目 | 结果 |
|---|---|
| 中文双人对话（5 分钟真实录音）分离正确性 | **正确分出 2 位说话人**，说话人切换点分布合理 |
| 速度 · Apple 芯片（CoreML） | **约 380× 实时**（5 分钟音频约 0.8 秒算完） |
| 速度 · 纯 CPU | **约 1.9× 实时**（5 分钟音频约 2.6 分钟算完），无显卡的电脑也可用 |
| 内存占用（纯 CPU） | 约 1.2 GB |

> 说明：上表「正确性」「速度」「内存」为我们在 Apple M3 Max 上的实测；「7.1% DER（VoxConverse Dev）」为上游 **speakrs** 的公开评测数字（第三方 CoreML 移植评测，非 pyannote 官方、亦非我方测得）。

## 四、局限与下一步

- **需要搭配转写模型**：本模型只回答「谁在说」，不做转写，请配合 Qwen3-ASR 使用。
- **纯 CPU 速度**：Apple / NVIDIA 加速下极快；纯 CPU 约 1.9× 实时，够用但明显慢于加速档——长录音建议在有加速的设备上处理。
- **重叠说话**：两人同时说话的重叠段，说话人归属可能不精确（这是说话人分离的共性难点）。
- 下一步：持续提升纯 CPU 速度与重叠段处理。

## 五、怎么下载与使用

本模型专为 [活水模型（42model）](https://42model.com) 打包，推荐通过它获取：

**桌面版**
1. 在「模型库」→「转录」里下载 **Qwen3-ASR 增强版**（已内置说话人分离）；
2. 转录时在参数设置里打开「**说话人分离**」，结果即按发言人分段。

## 文件与许可

| 文件 | 作用 | 来源 · 许可 |
|---|---|---|
| `segmentation-3.0.onnx` | 语音分段 / 说话人切换检测 | pyannote/segmentation-3.0 · **MIT** |
| `wespeaker-voxceleb-resnet34.onnx` | 说话人声纹提取 | WeSpeaker voxceleb ResNet34 · **Apache-2.0** |
| `plda_lda.npy`、`plda_tr.npy`、`plda_mu.npy`、`plda_psi.npy`、`plda_mean1.npy`、`plda_mean2.npy` | 声纹聚类参数（PLDA / VBx，共 6 个） | speakrs 流水线 · Apache-2.0 |
| `manifest.json` | 各文件 sha256 / 大小清单（发布时生成，供完整性自校验） | 本仓生成 |

各文件 sha256 见随包 `manifest.json` 与 ModelScope 文件页，可自行校验。Apple 芯片的 CoreML 加速在本地首次运行时自动编译，无需额外文件。

**许可**：本仓为多来源开源模型的本地部署档——语音分段为 [pyannote/segmentation-3.0](https://huggingface.co/pyannote/segmentation-3.0)（© pyannote.audio，**MIT**；上游 HF 页需接受条款获取访问，但许可为 MIT、再分发不受限，本仓 ONNX 与上游权重同源同许可）；说话人声纹为 [WeSpeaker](https://github.com/wenet-e2e/wespeaker) voxceleb ResNet34（© WeNet 社区，**Apache-2.0**）；ONNX 封装与流水线承 [avencera/speakrs](https://github.com/avencera/speakrs)（Apache-2.0）。各文件遵循其原始许可，使用即表示同意上游各许可条款。

## 引用

**模型本体**请引用上游 pyannote 与 WeSpeaker：

```bibtex
@inproceedings{Plaquet23,
  author    = {Alexis Plaquet and Herv{\'e} Bredin},
  title     = {{Powerset multi-class cross entropy loss for neural speaker diarization}},
  booktitle = {Proc. INTERSPEECH 2023},
  year      = {2023},
}
@inproceedings{Bredin23,
  author    = {Herv{\'e} Bredin},
  title     = {{pyannote.audio 2.1 speaker diarization pipeline: principle, benchmark, and recipe}},
  booktitle = {Proc. INTERSPEECH 2023},
  year      = {2023},
}
@inproceedings{wang2023wespeaker,
  author    = {Wang, Hongji and Liang, Chengdong and Wang, Shuai and Chen, Zhengyang and Zhang, Binbin and Xiang, Xu and Deng, Yanlei and Qian, Yanmin},
  title     = {{Wespeaker: A research and production oriented speaker embedding learning toolkit}},
  booktitle = {ICASSP 2023},
  year      = {2023},
}
```

若**本仓的本地部署封装**对你有帮助，可另附：

```bibtex
@misc{yang2026diarizationlocal,
  title        = {Speaker Diarization Models: A Local Build of pyannote + WeSpeaker for On-Device Diarization},
  author       = {Yang, Zhiping},
  year         = {2026},
  howpublished = {\url{https://modelscope.cn/models/42ailab/Speaker-Diarization-Models}},
  organization = {42ailab},
  note         = {本地部署封装（ONNX + 跨平台加速）；模型本体为 pyannote/segmentation-3.0（MIT）与 WeSpeaker voxceleb ResNet34（Apache-2.0）。Contact: contact@42ailab.com}
}
```

联系我们：**contact@42ailab.com**

## 关于我们

**[活水 AI 实验室（42ailab）](https://42ailab.com)** — 探索智能边界的 AI 创新实验室，以认知科学为基石，推动 AI 与人类智能的深度融合，真正理解并增强智能 —— 碳基的，也是硅基的。

**[活水模型（42model）](https://42model.com)** — 由活水 AI 实验室出品的高性能本地 AI 大模型推理引擎，让翻译、转写、识别、对话、编程等 AI 能力在你的本机免费私密运行；并可借云端算力微调专属模型，回传本机运行。
