Context: for a research project I have at regular times a batch of wav files with recordings of voice. The hypothesis is that all speakers in a batch are the same, but there might be 1 or a few “others” in it. There are 5 to 10 files in a batch.
My goal is to obtain a similarity matrix for all wav files (speakers) in a batch.
What I got so far: I calculate MFCC (16 values) with an existing tool, I have between 2000 and 4000 frames per wav file. Simply taking the average of MFCCx is not meaningful. Next I perform a GMM clustering on each wav and obtain something like this: (MFCC0 discarded)
Wav1
Class Mean (MFCC1) Mean (MFCC2) … Proportion
1 -44 6 0,09
2 46 -23 0,37
3 20 -26 0,10
4 43 -43 0,06
5 57 -52 0,06
6 66 -55 0,18
7 108 -46 0,15
And here I am stuck, what do I do next to get a similarity matrix, can I calculate some “distance” between the different wavs and how?
Voice is natural talk. Recordings are under various channel conditions (sometimes background noise) and can be with varying emotional status (eg laughter, some excitement,..). Speakers are of random nature (man, woman, old, young, …).
I would like to avoid more difficult algorithms for speaker recognition because that is beyond my current knowledge. Given that speakers are random, it will be rare that the other(s) is very similar to the normal speaker, and some error rate is acceptable, so a basic method should be ok.