Atul-Anand-Jha / Speaker-Identification-Python

Speaker Identification System (upto 100% accuracy); built using Python 2.7 and python_speech_features library
GNU Lesser General Public License v3.0
207 stars 75 forks source link

How can I verify speaker using GMM? #1

Closed akshat9425 closed 4 years ago

akshat9425 commented 6 years ago

Does this repo works with verification i.e the speaker not present in dataset is predicted as invalid voice i need to integrate this for login and registration with voice

please reply thanks

Atul-Anand-Jha commented 6 years ago

Hey akshat, Glad that you showed interest in my project. We have two categories in Speaker Recognition:

  1. Speaker Verification 2. Speaker identification.

Since this project is intended only for the identification part. we need to add on some code to customize it for the 'Verification' process.

Yes, this model will tell you answers only based on stored GMM files of trainer speech samples.

For verification, instead of the model predicting the Speaker's identity for you; You need to pass a sample to be verified, And match the log error difference between the two GMM models(files). if the difference si significantly low, you can say the identity of the speaker is 'VERIFIED'.

Yes, You need to add voice samples of newly to be tested speaker first, and then train the model to build its GMM file. only then, you can identify or verify that speaker.

I hope it resolves your query.

cmlooi commented 6 years ago

Hi Atul Anand, I am trying out the speaker verification too.

I tried several speakers without gmm files. The software always pick the speaker with the smallest figure in log_likelihood although it is the wrong one. By right, it should indicate "not recognised".

I can see the figure in log_likelihood is indeed significantly lower as compared to those speaker that are being recognised. Do you have recommendation for the cutoff vaue?

akshat9425 commented 6 years ago

@cmlooi i am doing research on the same task you are doing, i found GMM model is not suitable for our task
UBM model is suitable for our task but i was confused there that how they used to verify speakers on the basis of single voice

please make use of UBM model and let me know if any usefull thing occurs we can do it if we find solution together

Atul-Anand-Jha commented 6 years ago

Hello akshat,

Different models are suitable for different tasks. I hope, even GMM model was working. May be UBM would give you more precision and accuracy.

Let me know for collaborations; if possible.

akshat9425 commented 6 years ago

thanks for reply @Atul-Anand-Jha will you please tell me that how could i use GMM for verification

what i did is that after analysis of results from speaker identification i put threshold but its difficult to find out where to put threshold i will share screenshot with you after some days

Atul-Anand-Jha commented 6 years ago

Cmlooi has already found the code for threshold point. But. for verification, You need to do little tweaking with this code.

cmlooi commented 6 years ago

I have misled everybody. I did more testing and found the threshold point is not a good way to verify the speaker.

cmlooi commented 6 years ago

@akshat9425 I am new to GMM-UBM. Can share some useful links for research papers and GitHub?

tragu commented 6 years ago

https://appliedmachinelearning.blog/2017/11/14/spoken-speaker-identification-based-on-gaussian-mixture-models-python-implementation/

akshat9425 commented 6 years ago

@tragu i already implemented this let me explain you the problem:

it works well for trained voices but if untrained voice is given to it than it will find the voice have somewhere score value near to this predict wrong voice

this issue is resolved with UBM model but i unable to find any code or algorithm for UBM see: https://www.researchgate.net/publication/263467680_Efficient_GMM-UBM_System_in_Text_Independent_Speaker_Verification_Using_Structural_Gaussian_Mixture_Models

@cmlooi please visit this two links for understanding of GMM-UBM

https://appliedmachinelearning.blog/2017/11/14/spoken-speaker-identification-based-on-gaussian-mixture-models-python-implementation/

https://www.researchgate.net/publication/263467680_Efficient_GMM-UBM_System_in_Text_Independent_Speaker_Verification_Using_Structural_Gaussian_Mixture_Models

please find something about ubm

cmlooi commented 6 years ago

Tragu and Akshat9425, thanks for the info.

rattling commented 4 years ago

Hi, very interested to know if anyone has solved the speaker verification problem. i.e. can this model, whether by setting a threshols or another method, help us to give a good "Yes/No" answer to whether a speaker equals a particular speaker or one of the set of speakers in our list.

ramyasree0299 commented 4 years ago

Hey, I'm following up on the above issue. I researched about speaker validation, but failed. I have read few articles about Google Diarization. Is that useful in this aspect?

Spearo1996 commented 4 years ago

Anyone found anything on speaker verification?

Atul-Anand-Jha commented 4 years ago

Anyone found anything on speaker verification?

Try UBM models for verifiication purpose. I m closing this thread to be done and complete. Feel free to re-open if you have a continuous doubt or query in the same thread.