mycrazycracy / tf-kaldi-speaker

Neural speaker recognition/verification system based on Kaldi and Tensorflow
Apache License 2.0
32 stars 16 forks source link

About Enrollment and Testing #7

Closed zxynbnb closed 4 years ago

zxynbnb commented 4 years ago

I didn't find the process of enrolment and testing. How can I distinguish between these two parts? I want to separate the enrollment utterances from the testing utterances. What should I do?

mycrazycracy commented 4 years ago

Hi,

You have your own dataset? In the modern speaker verification system, there is no adaptation step for enrollment (as in GMM-UBM). You just need to extract x-vectors from the enrollment utterances and store them as the speaker model. When testing, extract x-vectors from the test utterances. The verification can be done by scoring between the x-vectors of the enrollment and test utterances.

Specifically, there is no enrollment set in VoxCeleb. The dataset just compare a pair of utterances in the test set. If you want to know what the enrollment set looks like, you can refer to egs/sre.

In your own dataset, simply split the utterances of a speaker to enrollment and test. Say, a utterance for enrollment and the others for test. Make sure the split refers to the real applications.