A biometric like a fingerprint, iris, or voice, can be used to verify or identify a person. Gaussian Mixture Models are used to model a person’s voice.
A person starts with enrollment to create a GMM. The person reads aloud a few sentences from a book or magazine, or responds to a bunch of prompts by speaking. The speech is used to train their model.
Features are extracted from frames into feature vectors. The features are MFCCs and their deltas. They’re derived from frequencies and energies in the audio spectrum of voice. Feature vectors are like points in space forming clouds or clusters. It’s a 38 dimension space.
A model contains hundreds of Gaussians. For each vector, each Gaussian decides how likely the vector could be generated from it. A normalized score is computed for each Gaussian. Those normalized scores for all vectors are used to adapt the shapes and weights of the Gaussians. This cycle repeats until Gaussians parameters converge.
The model is ready for verification or identification. A person speaks, their feature vectors are extracted and compared to a model, and a score is generated. Scoring uses a log-likelihood ratio.
log ( P(voice | user model) / P(voice | universal model) )
The higher the score, the more likely the person and model are a match.