ERes2Net模型结合全局特征和局部特征,从而提高说话人识别性能。局部特征融合将一个单一残差块内的特征融合提取局部信号;全局特征融合使用不同层级输出的不同尺度声学特征聚合全局信号。ERes2Net-Large是参数量较小的ERes2Net模型,可实现快速训练和推理。
ERes2Net局部融合如下图黄色部分所示,使用Attentianal feature fusion阶梯式融合各分组特征来增强局部信息连接,获取更细粒度特征;全局融合如下图绿色部分所示,通过自底向上的全局特征融合来增强说话人信息。
更详细的信息见
本模型使用大规模中英文数据集进行训练,包含中文CN-Celeb中文数据集和Voxceleb英文数据集。
在集外测试集的语种识别准确率结果:
Language | ACC |
---|---|
Chinese | % |
English | % |
对于有开发需求的使用者,特别推荐您使用Notebook进行离线处理。先登录ModelScope账号,点击模型页面右上角的“在Notebook中打开”按钮出现对话框,首次使用会提示您关联阿里云账号,按提示操作即可。关联账号后可进入选择启动实例界面,选择计算资源,建立实例,待实例创建完成后进入开发环境,输入api调用实例。
from modelscope.pipelines import pipeline
lre_pipeline = pipeline(
task='language-recognition',
model='damo/speech_eres2net_large_lre_en-cn_16k',
model_revision='v1.0.0'
)
example_wav = 'https://modelscope.cn/api/v1/models/damo/speech_campplus_lre_en-cn_16k/repo?Revision=master&FilePath=examples/example_lre1_cn_16k.wav'
# 识别语种
result = lre_pipeline(example_wav)
print(result)
本项目已在3D-Speaker开源了训练、测试和推理代码,使用者可按下面方式下载安装使用:
git clone https://github.com/alibaba-damo-academy/3D-Speaker.git && cd 3D-Speaker
conda create -n 3D-Speaker python=3.8
conda activate 3D-Speaker
pip install -r requirements.txt
运行ERes2Net语种识别样例
cd egs/3dspeaker/lid
# 变换模型结构ERes2Net
# 需要在run.sh中提前配置训练使用的GPU信息,默认是4卡
bash run.sh
如果你觉得这个该模型有所帮助,请引用下面的相关的论文
@article{eres2net,
title={An Enhanced Res2Net with Local and Global Feature Fusion for Speaker Verification},
author={Yafeng Chen, Siqi Zheng, Hui Wang, Luyao Cheng, Qian Chen, Jiajun Qi},
booktitle={Interspeech 2023},
year={2023},
organization={IEEE}
}