---
title: speech_ecapa-tdnn_sv_en_voxceleb_16k
canonical_url: "https://www.modelscope.cn/models/damo/speech_ecapa-tdnn_sv_en_voxceleb_16k"
md_url: "https://www.modelscope.cn/models/damo/speech_ecapa-tdnn_sv_en_voxceleb_16k.md"
repository: damo/speech_ecapa-tdnn_sv_en_voxceleb_16k
chinese_name: "ECAPATDNN说话人确认-英文-VoxCeleb-16k"
last_updated: 2023-10-13
license: "Apache License 2.0"
pipeline_tag: speaker-verification
tasks:
  - speaker-verification
model_type:
  - ecapa-tdnn
library_name:
  - pytorch
frameworks:
  - pytorch
language:
  - cn
domain:
  - audio
downloads: 24859
stars: 9
tags:
  - "speaker verification"
  - ECAPA-TDNN
  - VoxCeleb
---

# speech_ecapa-tdnn_sv_en_voxceleb_16k

> speech_ecapa-tdnn_sv_en_voxceleb_16k - damo 在 ModelScope 开源的模型。ECAPA TDNN模型是说话人识别领域的常用模型之一，该模型在公开数据集VoxCeleb2上进行训练，VoxCeleb-O上的EER指标为0.862。该模型适用于16k英文测试数据，可以用于说话人确认、说话人日志等任务。

damo/speech_ecapa-tdnn_sv_en_voxceleb_16k 是 ModelScope 魔搭社区上的speaker-verification模型，采用 Apache License 2.0 许可。

- **Repository**: damo/speech_ecapa-tdnn_sv_en_voxceleb_16k
- **License**: Apache License 2.0
- **Tasks**: speaker-verification
- **Tags**: speaker verification, ECAPA-TDNN, VoxCeleb
- **Downloads**: 24859
- **Stars**: 9
- **Last updated**: 2023-10-13

Source: https://www.modelscope.cn/models/damo/speech_ecapa-tdnn_sv_en_voxceleb_16k

---

## ECAPA-TDNN说话人模型
ECAPA-TDNN模型是基于时延神经网络构建的说话人模型，由于识别性能优异，已经被广泛使用在说话人识别领域中。该模型还可以用于说话人确认、说话人日志等任务。
### 模型结构简述
ECAPA-TDNN在传统的TDNN模型上有3种改进。第一，融合了一维的Res2Net层和Squeeze-and-Excitation模块，对特征channel之间的关系进行建模。第二，融合多个层级特征，同时利用网络浅层和深层的信息。第三，采用了基于attention机制的pooling层，生成基于全局attention的说话人特征。

<div align=center>
<img src="images/ecapa_tdnn.jpg" width="260" />
</div>

更详细的信息见
- ECAPA-TDNN论文：[ECAPA-TDNN: Emphasized Channel Attention, Propagation and Aggregation in TDNN Based Speaker Verification](https://arxiv.org/abs/2005.07143)

### 训练数据
本模型使用公开的英文说话人数据集VoxCeleb2进行训练，可以对16k采样率的英文音频进行说话人识别。
### 模型效果评估
- 选择EER、minDCF作为客观评价指标。
- 在VoxCeleb1-O测试集上，EER = 0.862%，minDCF(p_target=0.01, c_miss=c_fa=1) = 0.094。

## 快速体验模型效果
### 在Notebook中体验
对于有开发需求的使用者，特别推荐您使用Notebook进行离线处理。先登录ModelScope账号，点击模型页面右上角的“在Notebook中打开”按钮出现对话框，首次使用会提示您关联阿里云账号，按提示操作即可。关联账号后可进入选择启动实例界面，选择计算资源，建立实例，待实例创建完成后进入开发环境，输入api调用实例。
```python
from modelscope.pipelines import pipeline
sv_pipeline = pipeline(
    task='speaker-verification',
    model='damo/speech_ecapa-tdnn_sv_en_voxceleb_16k'
)
speaker1_a_wav = 'https://modelscope.cn/api/v1/models/damo/speech_campplus_sv_en_voxceleb_16k/repo?Revision=master&FilePath=examples/speaker1_a_en_16k.wav'
speaker1_b_wav = 'https://modelscope.cn/api/v1/models/damo/speech_campplus_sv_en_voxceleb_16k/repo?Revision=master&FilePath=examples/speaker1_b_en_16k.wav'
speaker2_a_wav = 'https://modelscope.cn/api/v1/models/damo/speech_campplus_sv_en_voxceleb_16k/repo?Revision=master&FilePath=examples/speaker2_a_en_16k.wav'
# 相同说话人语音
result = sv_pipeline([speaker1_a_wav, speaker1_b_wav])
print(result)
# 不同说话人语音
result = sv_pipeline([speaker1_a_wav, speaker2_a_wav])
print(result)
# 可以自定义得分阈值来进行识别
result = sv_pipeline([speaker1_a_wav, speaker2_a_wav], thr=0.6)
print(result)
```
### 训练和测试自己的ECAPA-TDNN模型
已在[3D-Speaker](https://github.com/alibaba-damo-academy/3D-Speaker)开源了训练、测试和推理代码，使用者可按下面方式下载安装使用：
``` sh
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
```

运行ECAPA-TDNN在VoxCeleb集上的训练脚本
``` sh
cd egs/voxceleb/sv-ecapa
bash run.sh
```
### 使用本预训练模型快速提取embedding
``` sh
pip install modelscope
cd 3D-Speaker
# 配置模型名称并指定wav路径，wav路径可以是单个wav，也可以包含多条wav路径的list文件
model_id=damo/speech_ecapa-tdnn_sv_en_voxceleb_16k
# 提取embedding
python speakerlab/bin/infer_sv.py --model_id $model_id --wavs $wav_path
```


### 3D-Speaker 开发者社区钉钉群
<div align=left>
<img src="images/ding.jpg" width="280" />
</div>
```
