【说话人日志】端侧多说话人 ASR 的 Speaker Diarization 选型与论文清单(2026Q1)
手机端多说话人语音识别方案摘要 针对移动端及端云协同场景(会议/访谈等),推荐分层选型: 快速上线:pyannote.audio 作基线,结合现有ASR; 实时流式:评估 NVIDIA NeMo 的 Sortformer; 纯端侧部署:优先 sherpa-onnx(支持int8及多端API); 中文生态:选用 WeSpeaker + VBx 或 FunASR; 前沿研究:关注 DiariZen 及
适用场景:手机端或端云协同的多说话人语音识别(会议、访谈、通话、播客)
1. 结论速览(先给可落地建议)
- 如果要“最快上线可用”:优先用
pyannote.audio做精度基线,再结合现有 ASR。 - 如果要“强实时/流式”:优先评估
NVIDIA NeMo的Sortformer / Streaming Sortformer。 - 如果要“真手机端部署(Android/iOS)”:优先评估
sherpa-onnx(有 diarization 文档、int8 模型和 Android APK 示例)。 - 如果要“中文生态+可控工程栈”:
WeSpeaker + (VBx/聚类)是稳妥路线,FunASR可用于 ASR+说话人联动验证。 - 如果要“追前沿开源精度”:关注
DiariZen与 EEND/Sortformer 系列论文。
2. 开源工具对比(面向移动端)
说明:下面“端侧友好度”是结合官方文档信息做的推断/建议,不是统一基准跑分。
| 工具 | 核心能力 | 流式能力 | 端侧友好度 | 许可证 | 备注 |
|---|---|---|---|---|---|
pyannote.audio |
完整 diarization pipeline,含预训练管线(community-1) |
主要偏离线/批处理 | 中(需自行做端侧优化) | MIT | README 给出多数据集 DER,对比到 2025-09 |
NVIDIA NeMo |
Sortformer、MSDD(TS-VAD 风格)、级联方案 | 强(含 Streaming Sortformer 训练/推理配置) | 中(模型强,但端侧导出链路要验证) | 框架 Apache-2.0;模型卡各自定义 | 适合服务端/边缘端强性能场景 |
sherpa-onnx |
ONNX Runtime 下的 diarization/ASR/VAD 全栈 | 支持在线场景(需按其示例接) | 高(Android/iOS/Harmony,多语言 API,int8) | Apache-2.0 | 对“手机本地离线”非常友好 |
WeSpeaker |
说话人嵌入+diarization recipe+CLI | 可做在线链路(需工程拼装) | 中高(有 runtime 目录,工程导向) | Apache-2.0 | wespeaker --task diarization 可快速验证 |
DiariZen |
新开源 diarization toolkit(基于 AudioZen + pyannote 3.1 思路) | 以离线推理为主 | 中(更偏研究/实验) | 代码 MIT;权重 CC BY-NC 4.0 | 适合做前沿方案复现与对比 |
ESPnet |
学术/研究型全栈,含 diarization recipes | 取决于 recipe | 低到中(偏研究,不是开箱端侧) | Apache-2.0 | 做算法验证、ablation 很好 |
FunASR |
ASR + VAD + Speaker Diarization + 多说话人 ASR | 有实时转写服务方向 | 中(中文生态友好) | MIT | 适合中文业务快速验证 |
3. 推荐工具(按“端侧多说话人 ASR”目标分层)
3.1 第一层(优先上手)
-
sherpa-onnx
用途:端侧 PoC 和移动端部署主线。
理由:官方 diarization 文档直接提供预训练、int8、Android APK 入口和多语言 API。 -
pyannote.audio
用途:做精度上限基线。
理由:社区广泛使用,community-1为开源管线,README 持续更新 benchmark。 -
NeMo Sortformer / Streaming Sortformer
用途:低延迟和在线 diarization 主线。
理由:NeMo 文档与模型卡对流式训练/推理路径比较完整,且与 ASR 联动能力强。
3.2 第二层(增强/补强)
-
WeSpeaker
用途:增强说话人嵌入、聚类和中文域适配。
理由:工程取向明显,recipe 和 runtime 都比较实用。 -
DiariZen
用途:作为新一代开源方案的对比实验。
理由:实现清晰,便于快速替换 pipeline 组件做 ablation。
4. 论文推荐(从经典到前沿)
4.1 必读基础(理解范式迁移)
-
SA-EEND (2019)
End-to-End Neural Speaker Diarization with Self-attention
要点:把 diarization 从“embedding+聚类”推到端到端建模,强化重叠说话处理。
链接:https://arxiv.org/abs/1909.06247 -
TS-VAD (2020)
Target-Speaker Voice Activity Detection
要点:目标说话人活动检测路线,在重叠说话和复杂场景中很有代表性。
链接:https://arxiv.org/abs/2005.07272 -
VBx (2020)
Bayesian HMM clustering of x-vector sequences (VBx)
要点:强力聚类后端基线,工程上常作为鲁棒聚类模块。
链接:https://arxiv.org/abs/2012.14952 -
EEND-EDA (2021/2022 TASLP)
Encoder-Decoder Based Attractors for End-to-End Neural Diarization
要点:支持可变说话人数,解决 EEND 在 speaker-count 灵活性方面的痛点。
链接:https://arxiv.org/abs/2106.10654
4.2 工程与精度并重(2023+)
-
pyannote pipeline(Interspeech 2023)
pyannote.audio 2.1 speaker diarization pipeline
要点:非常贴近工程落地,强调 pipeline 原则、benchmark 和 recipe。
链接:https://www.isca-archive.org/interspeech_2023/bredin23_interspeech.html -
Powerset 损失(Interspeech 2023)
Powerset multi-class cross entropy loss for neural speaker diarization
要点:把 overlap 处理从多标签改为 powerset 多分类,减少阈值敏感性。
链接:https://arxiv.org/abs/2310.13025 -
EEND-TA(ASRU 2023)
Transformer Attractors for Robust and Efficient End-to-End Neural Diarization
要点:替换 EDA 中的 LSTM attractor,报告更快推理与 DER 改善。
链接:https://arxiv.org/abs/2312.06253
4.3 与多说话人 ASR 更直接耦合(2024+)
-
Sortformer(ICML 2025)
Sortformer: ... Permutation-Resolved Speaker Supervision in Speech-to-Text Systems
要点:直接桥接时间戳与 token 的说话人监督,对“ASR+diarization 一体化”很关键。
链接:https://arxiv.org/abs/2409.06656 -
Streaming Sortformer(Interspeech 2025)
Streaming Sortformer: ... Online Speaker Diarization with Arrival-Time Ordering
要点:强调低延迟在线跟踪(AOSC 机制),面向实时场景。
链接:https://arxiv.org/abs/2507.18446
5. 端侧落地架构建议
5.1 纯端上(极致隐私/离线)
推荐链路(推断/建议):VAD -> 说话人分段 -> embedding -> 聚类/VBx -> ASR 对齐
建议组合:
sherpa-onnxdiarization(优先 int8)- 说话人嵌入可用 3D-Speaker/NeMo 兼容模型(按 sherpa 文档)
- 再将 diarization 片段与本地 ASR 输出做时间对齐
风险:
- 多说话人重叠和快速抢话仍是端上难点
- 电量与热限制可能导致长音频性能抖动
5.2 端云协同(推荐)
推荐链路(推断/建议):端上轻量预分段 + 云端高精 diarization 重排 + 回传 speaker 标签
优点:
- 端上延迟低、隐私风险可控
- 云端可用 pyannote/NeMo 做复杂场景纠错
- 便于持续迭代模型而不频繁发版 App
5.3 云优先实时(会议纪要/客服)
建议使用:
- 云端 Streaming Sortformer(NeMo)输出在线 speaker turns
- 端上只做采集、上屏和断网重传缓冲
6. 最小评测清单(应先固定)
- DER(必须)
- JER(建议)
- WDER / SA-WER(和 ASR 联动时建议)
- RTF(端上与云端都测)
- 端侧峰值内存、平均功耗、温升
- 长音频稳定性(30min/60min)
- 重叠说话占比切片评估(<10%、10-20%、>20%)
建议先做“三组对照”:
- 安静双人对话
- 会议室 3-6 人重叠
- 手机近讲 + 环境噪声(地铁/咖啡厅)
7. 已知风险与规避
-
许可风险
NeMo框架是 Apache-2.0,但具体预训练模型卡许可证可能不同(如diar_sortformer_4spk-v1为 CC-BY-NC-4.0,diar_streaming_sortformer_4spk-v2为 CC-BY-4.0),商用前要逐个核验。 -
导出与部署风险
社区曾报告过diar_streaming_sortformer_4spk-v2ONNX 导出问题(Issue #15077,已关闭)。这类问题即使关闭也建议你们在目标设备链路重新验证。 -
跨域泛化风险
不同语种/麦克风/噪声条件下 DER 会明显波动。建议固定内部评测集并周更回归。
8. 给项目的建议起步路线(两周)
- 第 1-3 天:用
sherpa-onnx在目标手机 SoC 跑通 diarization + ASR 对齐,拿到 RTF/功耗基线。 - 第 4-7 天:用
pyannote community-1跑同一批数据,作为精度上界对照。 - 第 8-10 天:引入
NeMo streaming sortformer做云端流式对照。 - 第 11-14 天:按 DER/JER/WDER + 端侧功耗做决策,定“端上/端云”技术路线。
9. 评测数据集介绍
- 按
pyannote-audioREADME 中的 benchmark 列表整理。 AMI (IHM)和AMI (SDM)是同一语料库的两种常见评测条件:IHM指单人头戴麦克风,SDM指单远场麦克风。CALLHOME这一项结合了pyannoteREADME 中给出的 LDC 链接与CALLHOME_sublists元数据仓库做说明;其中“CALLHOME part 2 / 常见 diarization 评测拆分”属于基于这些来源的 benchmark 习惯性表述。
| 数据集 | 简要介绍 | 获取备注 |
|---|---|---|
| AISHELL-4 | 中文真实会议语音数据集,使用 8 通道麦克风阵列录制,覆盖小/中/大三种会议室条件。总时长约 120 小时,包含 211 场会议、每场约 4 到 8 名说话人,适合会议场景下的语音增强、分离、识别和说话人日记化。 | 公开可下载,OpenSLR 111。 |
| AliMeeting | 中文多通道会议语音数据集,来自真实会议,既有 8 通道远场阵列录音,也有参会者头戴麦近场录音。总时长约 118.75 小时,适合多说话人会议转写、说话人日记化和多通道语音识别。 | 公开可下载,OpenSLR 119。 |
| AMI (IHM) | AMI Meeting Corpus 是经典多模态会议语料,约 100 小时,包含会议音频、视频、转写和多种标注。IHM 条件使用每位说话人的近讲头戴麦,语音质量通常高于远场设置,因此常被用作较容易的会议 diarization 基线。 |
语料公开,但完整音频需按 AMI 官方流程获取。 |
| AMI (SDM) | 与上面的 AMI 同源,但 SDM 条件使用单远场麦克风,更接近真实会议室收音,也更难。该设置常用于评估混响、串扰和重叠语音条件下的说话人日记化系统。 |
与 AMI (IHM) 相同,按官方流程获取音频。 |
| AVA-AVD | 面向“野外场景”的音视频说话人日记化数据集,目标是解决电影、纪录片、综艺等复杂视频中的“谁在什么时候说话”。它强调多样化场景、复杂声学环境以及大量离屏说话人,对音视频联合 diarization 很有代表性。 | 数据依赖 AVA/YouTube 相关资源,通常需要按作者发布方式准备。 |
| CALLHOME | 在 diarization benchmark 里,CALLHOME 通常指英语电话对话场景的经典评测集或其常用子集,强调自然对话、电话信道和频繁说话人切换。电话场景和会议场景差异明显,因此它常被用来衡量系统在窄带、远程会话条件下的泛化能力。 |
常见评测拆分会配合 CALLHOME_sublists 使用;原始音频通常需要 LDC 授权。 |
| DIHARD 3 | DIHARD 3 是著名的“困难说话人日记化”评测集,专门强调在复杂、异质、低资源条件下的 diarization。数据覆盖会议、访谈、餐馆对话、临床录音、电话和网络视频等多种来源,包含英语和中文,是衡量系统鲁棒性的高难度基准。 | 需要通过 LDC 获取。 |
| Ego4D | 大规模第一视角多模态视频数据集,覆盖 74 个地点、9 个国家、923 名参与者,视频总时长超过 3670 小时。它面向 egocentric 感知研究,包含视频、音频及多种附加标注;在 diarization 任务中更偏向真实日常生活环境下的第一视角音频。 | 需要先接受许可协议,审批后获取下载凭证。 |
| MSDWild | 面向“野外场景”多模态说话人日记化与唇动-语音同步任务的数据集。它同时提供音频、RTTM 标注以及与人脸相关的辅助材料,适合研究音频和视觉联合建模下的说话人跟踪与聚类。 | 元数据仓库公开,主 wav 包通常通过 Google Drive 分发。 |
| RAMC | MagicData-RAMC 是带丰富标注的中文会话语音数据集,约 180 小时,全部由手机录制,包含 663 名来自中国不同口音区的说话人。对话主题覆盖科技与日常生活,适合中文会话 ASR、说话人识别及相关任务。 |
公开可下载,OpenSLR 123。 |
| REPERE | 法语广播电视领域的多模态评测数据,围绕新闻节目中的人物识别与多媒体信息处理构建。公开描述显示其包含约 60 小时法国新闻电视节目的视觉标注,因此常被用于广播媒体场景下的人物识别、说话人与视觉信息联合分析。 | phase2 通常需要按资源提供方的许可流程获取。 |
| VoxConverse | 大规模“in-the-wild”音视频说话人日记化数据集,音频片段从 YouTube 多人视频中提取,总规模超过 50 小时。它提供音频和 RTTM 标注,背景噪声、重叠语音、说话人数变化都比较复杂,是当前非常常见的开放式 wild diarization 基准。 | 音频和标注可按官方仓库与 VGG 页面获取,常用版本为 v0.3。 |
参考链接(按类别)
A. 工具与文档
-
pyannote.audio(GitHub)
https://github.com/pyannote/pyannote-audio -
NVIDIA NeMo Speaker Diarization(官方文档)
https://docs.nvidia.com/nemo-framework/user-guide/latest/nemotoolkit/asr/speaker_diarization/intro.html -
NeMo diarization 配置文档(含 Sortformer/MSDD)
https://docs.nvidia.com/nemo-framework/user-guide/latest/nemotoolkit/asr/speaker_diarization/configs.html -
NeMo speaker diarization checkpoints(含 streaming 示例)
https://docs.nvidia.com/nemo/speech/nightly/asr/speaker_diarization/results.html -
Hugging Face:
nvidia/diar_sortformer_4spk-v1
https://huggingface.co/nvidia/diar_sortformer_4spk-v1 -
Hugging Face:
nvidia/diar_streaming_sortformer_4spk-v2
https://huggingface.co/nvidia/diar_streaming_sortformer_4spk-v2 -
sherpa-onnx diarization 文档
https://k2-fsa.github.io/sherpa/onnx/speaker-diarization/index.html -
sherpa-onnx(GitHub)
https://github.com/k2-fsa/sherpa-onnx -
WeSpeaker(GitHub)
https://github.com/wenet-e2e/wespeaker -
DiariZen(GitHub)
https://github.com/BUTSpeechFIT/DiariZen -
ESPnet(GitHub)
https://github.com/espnet/espnet -
FunASR(GitHub)
https://github.com/modelscope/FunASR -
ONNX 导出问题跟踪(NeMo Issue #15077)
https://github.com/NVIDIA-NeMo/NeMo/issues/15077
B. 论文
-
SA-EEND 2019
https://arxiv.org/abs/1909.06247 -
TS-VAD 2020
https://arxiv.org/abs/2005.07272 -
VBx 2020
https://arxiv.org/abs/2012.14952 -
EEND-EDA 2021/2022
https://arxiv.org/abs/2106.10654 -
pyannote pipeline(Interspeech 2023)
https://www.isca-archive.org/interspeech_2023/bredin23_interspeech.html -
Powerset diarization(Interspeech 2023)
https://arxiv.org/abs/2310.13025 -
EEND-TA(ASRU 2023)
https://arxiv.org/abs/2312.06253 -
Sortformer(ICML 2025)
https://arxiv.org/abs/2409.06656 -
Streaming Sortformer(Interspeech 2025)
https://arxiv.org/abs/2507.18446
C. 数据集
-
AISHELL-4:
https://www.openslr.org/111/ -
AliMeeting:
https://www.openslr.org/119/ -
AMI:
https://groups.inf.ed.ac.uk/ami/corpus/ -
AVA-AVD:
https://arxiv.org/abs/2111.14448 -
CALLHOME 相关 benchmark 入口:
https://catalog.ldc.upenn.edu/LDC2001S97 -
CALLHOME 子列表:
https://github.com/BUTSpeechFIT/CALLHOME_sublists/issues/1 -
DIHARD 3:
https://catalog.ldc.upenn.edu/LDC2022S14 -
Ego4D:
https://ego4d-data.org/ -
MSDWild:
https://github.com/X-LANCE/MSDWILD -
RAMC:
https://www.openslr.org/123/ -
REPERE:
https://www.islrn.org/resources/360-758-359-485-0/ -
VoxConverse:
https://github.com/joonson/voxconverse -
VoxConverse 项目页:
https://www.robots.ox.ac.uk/~vgg/data/voxconverse/
更多推荐



所有评论(0)