I have read that i-vectors and x-vectors are widely used in speaker recognition tasks but I don't get the difference between them and how exactly they work. Can someone explain it starting from the ground to a bit technical?
I came across following papers talking about these terms:
https://www.danielpovey.com/files/2018_icassp_xvectors.pdf
https://arxiv.org/pdf/1611.00514.pdf
https://dl.acm.org/citation.cfm?id=2846832
The i-vectors and x-vectors share the ability to represent speech utterance in a compact way (as a vector of fixed size, regardless of length of the utterance).
The extraction algorithms of i-vectors and x-vector are quite different. The x-vector concept is newer and the name of the method is similar to "i-vector" to suggests that this representation can be used instead of i-vectors in state-of-the-art speaker (or language) recognition systems.
There are many good sources explaining how i-vectors work, I recommend this presentation from Najim Dehak (who is the inventor of the i-vector concept).
The x-vectors are embeddings extracted with DNN, but more detailed explanation can be found here (there is also a youtube lecture explaining the concepts presented in this paper).