I am new to speaker recognition and now starting from the GMM-UBM algorithm.
Say I have a pre-trained
UBM and speech from target speakers
tarsph to derive target speaker model
tarmod. And I could get a loglikelihood ratio
LLR as score of speech from unknow speakers
uksph by pesudo code below:
LLR = get_LLR(uksph, tarmod, UBM);
I think there should be a (set of) threshold of
LLR to decide if
uksph is/isn't from one of the target speakers. But how to decide the threshold(s)?
The classical way comes to my mind is to partition the
tarsph to adaptation and validation set, the former is used to derive target speaker model, and the latter could be used to get some value of
LLRs. Then we can use average(or other statistics) of these as a empirically threshold. It could be better to have speech from non-target speaker from which we can know the risk of false alarm.
What I am wondering is:
- Is my concept about GMM-UBM algorithm right or there is some misunderstanding?
- Is there a standard/most commonly used method to decide the
- In a practical situation, it is possible to get less speech data(maybe only a few seconds per target speaker) than an experimental corpus. Will this be a problem to this algorithm?