项目作者: nghiapq77

项目描述 :
Zalo AI Challenge 2020 - Top 2 @ Voice Verification
高级语言: Python
项目地址: git://github.com/nghiapq77/voice-verification.git
创建时间: 2020-11-30T07:09:50Z
项目社区:https://github.com/nghiapq77/voice-verification

开源协议:Other

下载


Zalo AI Challenge - Voice Verification

This repository contains the framework for training speaker verification model described in [2]
with score normalization post-processing described in [3].

Dependencies

  1. pip install -r requirements.txt

Data Preparation

  1. Download the public dataset
    then put the training speakers data in dataset/wavs and public-test folder in dataset/public-test

  2. Convert data (this will overwrite original data)

    1. python dataprep.py --save_path dataset/wavs --convert
  3. Prepare the augment data

    1. python dataprep.py --save_path dataset --augment
  4. Generate train, validate list

    1. python dataprep.py --save_path dataset/wavs --generate --split_ratio -1

In addition to the Python dependencies, wget and ffmpeg must be installed on the system.

Pretrained models

Pretrained models and corresponding cohorts can be downloaded from here.

Training

Training from pretrained with augmentation for 500 epochs.

  1. python train.py --augment --max_epoch 500 --batch_size 320 --initial_model checkpoints/baseline_v2_ap.model

Inference

  1. Prepare cohorts

    1. python inference.py --prepare --save_path checkpoints/cohorts_final_500_f100.npy --initial_model checkpoints/final_500.model
  2. Evaluate and tune thresholds

    1. python inference.py --eval --cohorts_path checkpoints/cohorts_final_500_f100.npy --initial_model checkpoints/final_500.model
  3. Run on test set

    1. python inference.py --test --cohorts_path checkpoints/cohorts_final_500_f100.npy --test_threshold 1.7206447124481201 --test_path dataset --initial_model checkpoints/final_500.model

Citation

[1] In defence of metric learning for speaker recognition

  1. @inproceedings{chung2020in,
  2. title={In defence of metric learning for speaker recognition},
  3. author={Chung, Joon Son and Huh, Jaesung and Mun, Seongkyu and Lee, Minjae and Heo, Hee Soo and Choe, Soyeon and Ham, Chiheon and Jung, Sunghwan and Lee, Bong-Jin and Han, Icksang},
  4. booktitle={Interspeech},
  5. year={2020}
  6. }

[2] Clova baseline system for the VoxCeleb Speaker Recognition Challenge 2020

  1. @article{heo2020clova,
  2. title={Clova baseline system for the {VoxCeleb} Speaker Recognition Challenge 2020},
  3. author={Heo, Hee Soo and Lee, Bong-Jin and Huh, Jaesung and Chung, Joon Son},
  4. journal={arXiv preprint arXiv:2009.14153},
  5. year={2020}
  6. }

[3] Analysis of score normalization in multilingual speaker recognition

  1. @inproceedings{inproceedings,
  2. title = {Analysis of Score Normalization in Multilingual Speaker Recognition},
  3. author = {Matejka, Pavel and Novotny, Ondrej and Plchot, Oldřich and Burget, Lukas and Diez, Mireia and Černocký, Jan},
  4. booktitle = {Interspeech},
  5. year = {2017}
  6. }