ppwwyyxx / speaker-recognition

A Speaker Recognition System
Apache License 2.0
675 stars 276 forks source link

How to Train UBM Model? #71

Closed chrisspen closed 6 years ago

chrisspen commented 6 years ago

I was able to train the system to very accurately recognize known speakers. The default command line interface doesn't seem to handle unknown speakers. Looking through the code, I see UBM.py, which seems to be the basis for identifying unknown speakers, by matching them with a universal model, generalized from the other speakers. However, I can't find any example of how to train the UBM, and this file doesn't appear to be referenced anywhere else in the code. Was this UBM functionality finished, or is it incomplete? How do you train it from your sample files?

andreaschandra commented 6 years ago

any update on this?

chrisspen commented 6 years ago

Yeah, I implemented a rudimentary solution. See my fork here. The general strategy is dual-train every sample with a "universal" label to create the UBM. Then, when you classify a sample, if the UBM label is given as the most likely class, that means the classifier doesn't recognize it.