Neural Sync Active
Learning Objectives
Registry Synced
Learning Objectives
428 words
2 min read
Reading compass
Now · 1. Speaker Recognition Tasks
Learning Objectives
- Understand speaker verification and identification
- Apply i-vectors and x-vectors
- Evaluate speaker recognition systems
- Weeks 3-5: Features, GMMs
- Understanding of binary classification
1. Speaker Recognition Tasks
Speaker Identification: Who is speaking? (N-class classification) Speaker Verification: Is this the claimed speaker? (Binary: Accept/Reject)
2. Feature Extraction
MFCCs: Capture vocal tract shape (speaker-dependent) F0 statistics: Pitch range, mean, variation Spectral features: Formants, spectral tilt Prosodic features: Speaking rate, rhythm patterns
Key requirement: Features should capture speaker characteristics but NOT linguistic content.
3. i-Vectors (Total Variability)
Map variable-length utterance to fixed-length vector (i-vector):
- Universal Background Model (UBM): GMM trained on many speakers
- Baum-Welch statistics: Collect sufficient statistics per utterance
- Total variability matrix T projects statistics to low-dimensional i-vector Scoring: Cosine distance or PLDA (Probabilistic Linear Discriminant Analysis)
4. x-Vectors (DNN Embeddings)
Deep neural network extracts speaker embeddings:
- Input: MFCCs with context window
- Frame-level layers (TDNN): Process temporal context
- Statistics pooling: Aggregate frame-level into utterance-level
- Embedding layer (x-vector): Speaker representation
- Output layer: Speaker classification during training PLDA Scoring: Compares two x-vectors for verification.
Q1: What is the difference between speaker identification and verification?Identification: who is speaking? 1:N matching. Verification: is this who they claim to be? 1:1 matching. Verification has threshold (accept/reject), identification returns ranked list. Q2: What are i-vectors and how are they extracted?Fixed-length speaker vectors from variable-length utterances. Steps: UBM (universal GMM), compute sufficient statistics, project using total variability matrix T. I-vectors capture both speaker and channel variability but can be compensated. Q3: How do x-vectors differ from i-vectors?x-vectors: DNN-based embeddings. Use time-delay neural network (TDNN) to process temporal context. Statistics pooling converts frame-level to utterance-level. Generally better than i-vectors with sufficient data. Q4: What is PLDA scoring?Probabilistic Linear Discriminant Analysis. Computes likelihood ratio: same speaker vs different speakers given two embeddings. Accounts for within-speaker and between-speaker variability. Standard scoring method for both i-vectors and x-vectors. Q5: How is speaker verification evaluated?Equal Error Rate (EER): where false acceptance = false rejection. Lower is better. Detection Cost Function (DCF): weighted sum of errors (different costs for FA and FR). MinDCF = minimum achievable at optimal threshold. Q6: X-vector extraction example:pythonimport speechbrain as sb # Pretrained x-vector model classifier = sb.inference.SpeakerRecognition.from_hparams( source="speechbrain/spkrec-ecapa-voxceleb") embedding = classifier.encode_file("speech.wav") # embedding is a 192-dimensional x-vector