适用场景:手机端或端云协同的多说话人语音识别(会议、访谈、通话、播客)

1. 结论速览(先给可落地建议)

  1. 如果要“最快上线可用”:优先用 pyannote.audio 做精度基线,再结合现有 ASR。
  2. 如果要“强实时/流式”:优先评估 NVIDIA NeMoSortformer / Streaming Sortformer
  3. 如果要“真手机端部署(Android/iOS)”:优先评估 sherpa-onnx(有 diarization 文档、int8 模型和 Android APK 示例)。
  4. 如果要“中文生态+可控工程栈”WeSpeaker + (VBx/聚类) 是稳妥路线,FunASR 可用于 ASR+说话人联动验证。
  5. 如果要“追前沿开源精度”:关注 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 第一层(优先上手)

  1. sherpa-onnx
    用途:端侧 PoC 和移动端部署主线。
    理由:官方 diarization 文档直接提供预训练、int8、Android APK 入口和多语言 API。

  2. pyannote.audio
    用途:做精度上限基线。
    理由:社区广泛使用,community-1 为开源管线,README 持续更新 benchmark。

  3. NeMo Sortformer / Streaming Sortformer
    用途:低延迟和在线 diarization 主线。
    理由:NeMo 文档与模型卡对流式训练/推理路径比较完整,且与 ASR 联动能力强。

3.2 第二层(增强/补强)

  1. WeSpeaker
    用途:增强说话人嵌入、聚类和中文域适配。
    理由:工程取向明显,recipe 和 runtime 都比较实用。

  2. DiariZen
    用途:作为新一代开源方案的对比实验。
    理由:实现清晰,便于快速替换 pipeline 组件做 ablation。

4. 论文推荐(从经典到前沿)

4.1 必读基础(理解范式迁移)

  1. SA-EEND (2019)
    End-to-End Neural Speaker Diarization with Self-attention
    要点:把 diarization 从“embedding+聚类”推到端到端建模,强化重叠说话处理。
    链接:https://arxiv.org/abs/1909.06247

  2. TS-VAD (2020)
    Target-Speaker Voice Activity Detection
    要点:目标说话人活动检测路线,在重叠说话和复杂场景中很有代表性。
    链接:https://arxiv.org/abs/2005.07272

  3. VBx (2020)
    Bayesian HMM clustering of x-vector sequences (VBx)
    要点:强力聚类后端基线,工程上常作为鲁棒聚类模块。
    链接:https://arxiv.org/abs/2012.14952

  4. 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+)

  1. pyannote pipeline(Interspeech 2023)
    pyannote.audio 2.1 speaker diarization pipeline
    要点:非常贴近工程落地,强调 pipeline 原则、benchmark 和 recipe。
    链接:https://www.isca-archive.org/interspeech_2023/bredin23_interspeech.html

  2. Powerset 损失(Interspeech 2023)
    Powerset multi-class cross entropy loss for neural speaker diarization
    要点:把 overlap 处理从多标签改为 powerset 多分类,减少阈值敏感性。
    链接:https://arxiv.org/abs/2310.13025

  3. 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+)

  1. Sortformer(ICML 2025)
    Sortformer: ... Permutation-Resolved Speaker Supervision in Speech-to-Text Systems
    要点:直接桥接时间戳与 token 的说话人监督,对“ASR+diarization 一体化”很关键。
    链接:https://arxiv.org/abs/2409.06656

  2. 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 对齐

建议组合:

  1. sherpa-onnx diarization(优先 int8)
  2. 说话人嵌入可用 3D-Speaker/NeMo 兼容模型(按 sherpa 文档)
  3. 再将 diarization 片段与本地 ASR 输出做时间对齐

风险:

  1. 多说话人重叠和快速抢话仍是端上难点
  2. 电量与热限制可能导致长音频性能抖动

5.2 端云协同(推荐)

推荐链路(推断/建议):
端上轻量预分段 + 云端高精 diarization 重排 + 回传 speaker 标签

优点:

  1. 端上延迟低、隐私风险可控
  2. 云端可用 pyannote/NeMo 做复杂场景纠错
  3. 便于持续迭代模型而不频繁发版 App

5.3 云优先实时(会议纪要/客服)

建议使用:

  1. 云端 Streaming Sortformer(NeMo)输出在线 speaker turns
  2. 端上只做采集、上屏和断网重传缓冲

6. 最小评测清单(应先固定)

  1. DER(必须)
  2. JER(建议)
  3. WDER / SA-WER(和 ASR 联动时建议)
  4. RTF(端上与云端都测)
  5. 端侧峰值内存、平均功耗、温升
  6. 长音频稳定性(30min/60min)
  7. 重叠说话占比切片评估(<10%、10-20%、>20%)

建议先做“三组对照”:

  1. 安静双人对话
  2. 会议室 3-6 人重叠
  3. 手机近讲 + 环境噪声(地铁/咖啡厅)

7. 已知风险与规避

  1. 许可风险
    NeMo 框架是 Apache-2.0,但具体预训练模型卡许可证可能不同(如 diar_sortformer_4spk-v1 为 CC-BY-NC-4.0,diar_streaming_sortformer_4spk-v2 为 CC-BY-4.0),商用前要逐个核验。

  2. 导出与部署风险
    社区曾报告过 diar_streaming_sortformer_4spk-v2 ONNX 导出问题(Issue #15077,已关闭)。这类问题即使关闭也建议你们在目标设备链路重新验证。

  3. 跨域泛化风险
    不同语种/麦克风/噪声条件下 DER 会明显波动。建议固定内部评测集并周更回归。

8. 给项目的建议起步路线(两周)

  1. 第 1-3 天:用 sherpa-onnx 在目标手机 SoC 跑通 diarization + ASR 对齐,拿到 RTF/功耗基线。
  2. 第 4-7 天:用 pyannote community-1 跑同一批数据,作为精度上界对照。
  3. 第 8-10 天:引入 NeMo streaming sortformer 做云端流式对照。
  4. 第 11-14 天:按 DER/JER/WDER + 端侧功耗做决策,定“端上/端云”技术路线。

9. 评测数据集介绍

  • pyannote-audio README 中的 benchmark 列表整理。
  • AMI (IHM)AMI (SDM) 是同一语料库的两种常见评测条件:IHM 指单人头戴麦克风,SDM 指单远场麦克风。
  • CALLHOME 这一项结合了 pyannote README 中给出的 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. 工具与文档

  1. pyannote.audio(GitHub)
    https://github.com/pyannote/pyannote-audio

  2. NVIDIA NeMo Speaker Diarization(官方文档)
    https://docs.nvidia.com/nemo-framework/user-guide/latest/nemotoolkit/asr/speaker_diarization/intro.html

  3. NeMo diarization 配置文档(含 Sortformer/MSDD)
    https://docs.nvidia.com/nemo-framework/user-guide/latest/nemotoolkit/asr/speaker_diarization/configs.html

  4. NeMo speaker diarization checkpoints(含 streaming 示例)
    https://docs.nvidia.com/nemo/speech/nightly/asr/speaker_diarization/results.html

  5. Hugging Face: nvidia/diar_sortformer_4spk-v1
    https://huggingface.co/nvidia/diar_sortformer_4spk-v1

  6. Hugging Face: nvidia/diar_streaming_sortformer_4spk-v2
    https://huggingface.co/nvidia/diar_streaming_sortformer_4spk-v2

  7. sherpa-onnx diarization 文档
    https://k2-fsa.github.io/sherpa/onnx/speaker-diarization/index.html

  8. sherpa-onnx(GitHub)
    https://github.com/k2-fsa/sherpa-onnx

  9. WeSpeaker(GitHub)
    https://github.com/wenet-e2e/wespeaker

  10. DiariZen(GitHub)
    https://github.com/BUTSpeechFIT/DiariZen

  11. ESPnet(GitHub)
    https://github.com/espnet/espnet

  12. FunASR(GitHub)
    https://github.com/modelscope/FunASR

  13. ONNX 导出问题跟踪(NeMo Issue #15077)
    https://github.com/NVIDIA-NeMo/NeMo/issues/15077

B. 论文

  1. SA-EEND 2019
    https://arxiv.org/abs/1909.06247

  2. TS-VAD 2020
    https://arxiv.org/abs/2005.07272

  3. VBx 2020
    https://arxiv.org/abs/2012.14952

  4. EEND-EDA 2021/2022
    https://arxiv.org/abs/2106.10654

  5. pyannote pipeline(Interspeech 2023)
    https://www.isca-archive.org/interspeech_2023/bredin23_interspeech.html

  6. Powerset diarization(Interspeech 2023)
    https://arxiv.org/abs/2310.13025

  7. EEND-TA(ASRU 2023)
    https://arxiv.org/abs/2312.06253

  8. Sortformer(ICML 2025)
    https://arxiv.org/abs/2409.06656

  9. Streaming Sortformer(Interspeech 2025)
    https://arxiv.org/abs/2507.18446

C. 数据集

  1. AISHELL-4:
    https://www.openslr.org/111/

  2. AliMeeting:
    https://www.openslr.org/119/

  3. AMI:
    https://groups.inf.ed.ac.uk/ami/corpus/

  4. AVA-AVD:
    https://arxiv.org/abs/2111.14448

  5. CALLHOME 相关 benchmark 入口:
    https://catalog.ldc.upenn.edu/LDC2001S97

  6. CALLHOME 子列表:
    https://github.com/BUTSpeechFIT/CALLHOME_sublists/issues/1

  7. DIHARD 3:
    https://catalog.ldc.upenn.edu/LDC2022S14

  8. Ego4D:
    https://ego4d-data.org/

  9. MSDWild:
    https://github.com/X-LANCE/MSDWILD

  10. RAMC:
    https://www.openslr.org/123/

  11. REPERE:
    https://www.islrn.org/resources/360-758-359-485-0/

  12. VoxConverse:
    https://github.com/joonson/voxconverse

  13. VoxConverse 项目页:
    https://www.robots.ox.ac.uk/~vgg/data/voxconverse/

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐