enroll → embed → cosine → EER
enrollment
3–5 clean clips
> 3 s each, same channel
embedder
ECAPA / WavLM-SV
192-d or 256-d, L2-normalized
anchor
mean of enroll embeds
single speaker vector
test utterance
1 clip (> 2 s)
channel-matched if possible
embedder
same model
L2-normalize output
score
cosine(anchor, test)
optional AS-norm for domain
threshold
accept / reject
tune on dev set
pick threshold at EER
EER
FA = FR
FR
FA
low threshold → high FA; high threshold → high FR
VoxCeleb1-O EER in 2026
ReDimNet (2024) 0.39%
WavLM-SV large 0.42%
Pyannote 3.1 0.65%
ECAPA-TDNN 0.87%
x-vector (classic) 3.10%
start with ECAPA; move to WavLM if domain needs it