说话人日志任务(Speaker Diarization)是指将音频划分为属于不同说话人的多个段落。其目标是确定音频中有多少个不同的说话人,并且识别出每个说话人在音频中的开始时间和结束时间。
3D-Speaker开源工具针对该功能进行了更新升级,在部分基准测试上获得优秀水平。
(图示:3D-Speaker提出的方法和其他部分开源工具效果对比)
📂 代码仓库
https://github.com/modelscope/3D-Speaker/blob/main/egs/3dspeaker/speaker-diarization
▎核心模型与算法亮点
说话人日志中最为常用的方法是基于“特征提取-无监督聚类”的框架,其一般串联语音活动端点检测(voice activity detection,VAD),划窗分段,特征提取,无监督聚类4个模块进行识别。由于该范式无法识别重叠语音说话人(overlapping speaker),最近基于端到端说话人日志(end-to-end diarization,EEND)网络的方法逐渐被提出并受到了广泛的关注。EEND网络输入语音帧后能直接输出每个说话人的语音活动检测结果,因而可以识别任意说话人重叠区域。但是EEND也受限制于真实标注对话数据稀少、人数估计困难和难以计算长时音频等因素,而无法在实际应用中单独使用。合适搭配两者通常能突破各自的效果上限而成为当前最佳说话人日志系统的主流方案。3D-Speaker针对此范式更新了Speaker diarization框架,从基于“特征提取-无监督聚类”的框架升级至和EEND并行处理框架,EEND分支负责检测局部的overlapping speaker,输出细粒度的帧级结果;“特征提取-无监督聚类”负责检测全局人数,输出粗粒度的说话人ID段落结果。后处理对齐模块将对齐两者的结果,输出每个说话人的语音活动区域。其中speaker embedding网络采用大规模说话人识别数据训练的CAM++模型,EEND采用来自于pyannote/segmentation开源的SincNet模型。该方法在多个基准测试中,部分识别结果达到优秀水平。由于该框架中采用的模型均为小参数量模型,整个流程推理速度在CPU设备上实际测试RTF达0.03,相比其他speaker diarization开源工具具有明显的效率优势,可用于大规模对话数据进行高效推理。(图示:当前部分开源Speaker diarization工具计算效率对比)▎效果体验
点击以下链接即可轻松上手🔗:https://github.com/modelscope/3D-Speaker/blob/main/egs/3dspeaker/speaker-diarization/run_audio.sh🎵样例1
原始音频:
识别结果(后端接funasr语音识别模型做文字转写):
发言人1: [0.39 23.50] 嗯,那么今天我们就简单的进行一下那个新生招聘的嗯讨论吧。因为现在不是好像就新生到校嘛,然后我们社团呢也需要招聘一些新的社员,然后就今天就大概就讨论一下嗯怎么招聘的内容吧。嗯,我们就首先想一下那个招聘的地点在哪里吧。
发言人2: [24.37 34.72] 嗯地点的话我们现在可以有三个选择。嗯,第一个的话我们可以选择在操场,因为那儿嗯学生流动量也挺大的。
发言人1: [34.92 40.57] 操场的话这这段时间太热了,我怕那个人流量有点少。
发言人2: [41.06 48.40] 嗯,那我们还可以有第二个选择呀。嗯,我们可以在图书馆楼下那里有一块可以遮阴的地方。
发言人1: [48.82 51.48] 哦,图书馆我觉得应该还可以吧。
🎵样例2
识别结果(后端接funasr语音识别模型做文字转写):发言人1: [0.27 13.03] 各位同学明天就放假了,在放假的时候,大家要听爸爸妈妈的话,把假期作业做好,注意交通安全,出去玩的时候不要跑的太远。
发言人2: [14.33 18.05] 慢羊羊村长到底要讲到什么时候啊?真是。
发言人3: [18.43 23.51] 沸羊羊。按照慢羊羊村长的速度,起码是今天晚上。
发言人1: [23.99 32.93] 啊,尤其是要小心的是外面会有可怕的大灰狼。大家要记住,见到这样的动物一定要逃跑啊。
相关文献参考:
【1】 H. Wang et al, "CAM++: A Fast and Efficient Network For Speaker Verification Using Context-Aware Masking," in Proc. Interspeech 2023.【2】A. Plaquet and H. Bredin, “Powerset multi-class cross entropy loss for neural speaker diarization,” in Proc. Interspeech 2023.【3】J. Han et al, “Leveraging Self-Supervised Learning for Speaker Diarization,”arXiv abs/2409.09408.