wsstriving's picture
Create README.md
ff7d15c verified
|
raw
history blame
3.23 kB
metadata
license: cc-by-4.0
language:
  - en
pipeline_tag: summarization
tags:
  - speaker embedding
  - wespeaker
  - speaker modelling

Official model provided by Wespeaker project, ECAPA-TDNN based x-vector (After large margin finetune)

The model is trained on VoxCeleb2 Dev dataset, containing 5994 speakers.

Model Sources

Results on VoxCeleb

Model Params Flops LM AS-Norm vox1-O-clean vox1-E-clean vox1-H-clean
ECAPA_TDNN_GLOB_c512-ASTP-emb192 6.19M 1.04G × × 1.069 1.209 2.310
× √ 0.957 1.128 2.105
√ × 0.878 1.072 2.007
√ √ 0.782 1.005 1.824

Install Wespeaker

pip install git+https://github.com/wenet-e2e/wespeaker.git

for development install:

git clone https://github.com/wenet-e2e/wespeaker.git
cd wespeaker
pip install -e .

Command line Usage

$ wespeaker -p ecapa_tdnn512_download_dir --task embedding --audio_file audio.wav --output_file embedding.txt
$ wespeaker -p ecapa_tdnn512_download_dir --task embedding_kaldi --wav_scp wav.scp --output_file /path/to/embedding
$ wespeaker -p ecapa_tdnn512_download_dir --task similarity --audio_file audio.wav --audio_file2 audio2.wav
$ wespeaker -p ecapa_tdnn512_download_dir --task diarization --audio_file audio.wav

Python Programming Usage

import wespeaker

model = wespeaker.load_model_local(ecapa_tdnn512_download_dir)
# set_gpu to enable the cuda inference, number < 0 means using CPU
model.set_gpu(0)

# embedding/embedding_kaldi/similarity/diarization
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')

# register and recognize
model.register('spk1', 'spk1_audio1.wav')
model.register('spk2', 'spk2_audio1.wav')
model.register('spk3', 'spk3_audio1.wav')
result = model.recognize('spk1_audio2.wav')

Citation

@article{desplanques2020ecapa,
  title={Ecapa-tdnn: Emphasized channel attention, propagation and aggregation in tdnn based speaker verification},
  author={Desplanques, Brecht and Thienpondt, Jenthe and Demuynck, Kris},
  journal={arXiv preprint arXiv:2005.07143},
  year={2020}
}

@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}
}