WeSpeaker
路线图 | 文档 | 论文 | 运行时 | 预训练模型 | Huggingface演示 | Modelscope演示
WeSpeaker主要专注于说话人嵌入学习,应用于说话人验证任务。我们支持在线特征提取或加载kaldi格式的预提取特征。
安装
安装Python包
pip install git+https://github.com/wenet-e2e/wespeaker.git
命令行用法(使用-h
查看参数):
$ wespeaker --task embedding --audio_file audio.wav --output_file embedding.txt
$ wespeaker --task embedding_kaldi --wav_scp wav.scp --output_file /path/to/embedding
$ wespeaker --task similarity --audio_file audio.wav --audio_file2 audio2.wav
$ wespeaker --task diarization --audio_file audio.wav
Python编程用法:
import wespeaker
model = wespeaker.load_model('chinese')
embedding = model.extract_embedding('audio.wav')
utt_names, embeddings = model.extract_embedding_list('wav.scp')
similarity = model.compute_similarity('audio1.wav', 'audio2.wav')
diar_result = model.diarize('audio.wav')
请参阅Python用法了解更多命令行和Python编程用法。
安装用于开发和部署
- 克隆此仓库
git clone https://github.com/wenet-e2e/wespeaker.git
- 创建conda环境:建议使用pytorch版本 >= 1.12.1 !!!
conda create -n wespeaker python=3.9
conda activate wespeaker
conda install pytorch=1.12.1 torchaudio=0.12.1 cudatoolkit=11.3 -c pytorch -c conda-forge
pip install -r requirements.txt
pre-commit install # 用于保持代码整洁
🔥 新闻
- 2024.05.15:添加对质量感知分数校准的支持,详见#320。
- 2024.04.25:添加对gemini-dfresnet模型的支持,详见#291。
- 2024.04.23:在运行时支持MNN推理引擎,详见#310。
- 2024.04.02:发布Wespeaker文档,包含详细的模型训练教程、各种运行时平台介绍等。
- 2024.03.04:支持达摩院的eres2net-cn-common-200k和campplus-cn-common-200k模型#281,详见Python用法。
- 2024.02.05:支持ERes2Net #272和Res2Net #273模型。
- 2023.11.13:支持wespeaker的CLI用法,详见Python用法。
- 2023.07.18:支持与kaldi兼容的PLDA和无监督适应,详见#186。
- 2023.07.14:支持NIST SRE16配方,详见#177。
技术方案
- VoxCeleb:在VoxCeleb数据集上进行说话人验证的方案
- 🔥 2024年5月15日更新:我们支持VoxCeleb的分数校准,并取得了更好的性能!
- 🔥 2023年7月10日更新:我们支持VoxCeleb上的自监督学习方案!在vox1-O-clean测试集上,无需任何标签即可达到2.627%(ECAPA_TDNN_GLOB_c1024)的EER。
- 🔥 2022年10月31日更新:我们支持深度r-vector,最高可达293层版本!在vox1-O-clean测试集上达到0.447%/0.043的EER/mindcf
- 🔥 2022年7月19日更新:我们应用了与CNCeleb方案相同的设置,并在考虑开源系统的情况下获得了最先进的性能
- 在vox1-O-clean测试集上,经过LM微调和AS-Norm后,EER/minDCF分别为0.723%/0.069(ResNet34)和0.728%/0.099(ECAPA_TDNN_GLOB_c1024)
- CNCeleb:在CnCeleb数据集上进行说话人验证的方案
- NIST SRE16:用于2016 NIST说话人识别评估计划的说话人验证方案。类似的方案可以在Kaldi中找到。
- 🔥 2023年7月14日更新:我们支持NIST SRE16方案。经过PLDA适应后,我们在Pooled、塔加洛语和粤语试验中分别达到了6.608%、10.01%和2.974%的EER。
- VoxConverse:在VoxConverse数据集上进行说话人分类的方案
讨论
对于中国用户,您可以扫描左侧的二维码关注我们的WeNet社区
官方账号。
我们还创建了一个微信群,以便更好地讨论和更快地响应。请扫描右侧的二维码加入聊天群。
引用
如果您觉得wespeaker有用,请按以下方式引用
@inproceedings{wang2023wespeaker,
title={Wespeaker: A research and production oriented speaker embedding learning toolkit},
author={Wang, Hongji and Liang, Chengdong and Wang, Shuai and Chen, Zhengyang and Zhang, Binbin and Xiang, Xu and Deng, Yanlei and Qian, Yanmin},
booktitle={IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)},
pages={1--5},
year={2023},
organization={IEEE}
}
寻找贡献者
如果您有兴趣贡献,请随时联系@wsstriving或@robin1001