ERes2Net模型是在Res2Net的基础上,对全局和局部特征进一步融合,从而提高说话人识别性能。局部特征融合将一个单一残差块内的特征融合提取局部信号;全局特征融合使用不同层级输出的不同尺度声学特征聚合全局信号;为了实现有效的特征融合,ERes2Net架构中采用了注意力特征融合模块。 ERes2Net局部融合如下图黄色部分所示,使用Attetiaal feature fusio阶梯式融合各分组特征来增强局部信息连接,获取更细粒度特征;全局融合如下图绿色部分所示,通过自底向上的全局特征融合来增强说话人信息。 本模型使用公开的英文说话人数据集VoxCeleb2开发集进行训练,共计5994个说话人,可以对16k采样率的英文音频进行说话人识别。 在页面右侧,可以在“在线体验”栏内看到我们预先准备好的示例音频,点击播放按钮可以试听,点击“执行测试”按钮,会在下方“测试结果”栏中显示相似度得分(范围为[-1,1])和是否判断为同一个人。如果您想要测试自己的音频,可点“更换音频”按钮,选择上传或录制一段音频,完成后点击执行测试,识别内容将会在测试结果栏中显示。 本项目已在3D-Speaker开源了训练、测试和推理代码,使用者可按下面方式下载安装使用: 运行ERes2Net在VoxCeleb集上的训练脚本 如果你觉得这个该模型有所帮助,请引用下面的相关的论文ERes2Net 说话人识别模型
模型简述
训练数据
模型效果评估
如何快速体验模型效果
在线体验
在Notebook中体验
from modelscope.pipelies import pipelie
sv_piplie = pipelie(
task='speaker-verificatio',
model='damo/speech_eres2et_sv_e_voxceleb_16k'
)
speaker1_a_wav = 'https://modelscope.c/api/v1/models/damo/speech_ecapa-td_sv_e_voxceleb_16k/repo?Revisio=master&FilePath=examples/speaker1_a_e_16k.wav'
speaker1_b_wav = 'https://modelscope.c/api/v1/models/damo/speech_ecapa-td_sv_e_voxceleb_16k/repo?Revisio=master&FilePath=examples/speaker1_b_e_16k.wav'
speaker2_a_wav = 'https://modelscope.c/api/v1/models/damo/speech_ecapa-td_sv_e_voxceleb_16k/repo?Revisio=master&FilePath=examples/speaker2_a_e_16k.wav'
# 相同说话人语音
result = sv_piplie([speaker1_a_wav, speaker1_b_wav])
prit(result)
# 不同说话人语音
result = sv_piplie([speaker1_a_wav, speaker2_a_wav])
prit(result)
# 可以自定义得分阈值来进行识别
result = sv_piplie([speaker1_a_wav, speaker2_a_wav], thr=0.356)
prit(result)
训练和测试自己的ERes2Net模型
git cloe https://github.com/alibaba-damo-academy/3D-Speaker.git && cd 3D-Speaker
coda create - 3D-Speaker pytho=3.8
coda activate 3D-Speaker
pip istall -r requiremets.txt
cd egs/sv-eres2et/voxceleb
# 需要在ru.sh中提前配置训练使用的GPU信息,默认是8卡
bash ru.sh
相关论文以及引用信息
@article{eres2et,
title={A Ehaced Res2Net with Local ad Global Feature Fusio for Speaker Verificatio},
author={Yafeg Che, Siqi Zheg, Hui Wag, Luyao Cheg, Qia Che, Jiaju Qi},
booktitle={Iterspeech 2023},
year={2023},
orgaizatio={IEEE}
}
3D-Speaker 开发者社区钉钉群
点击空白处退出提示
评论