Speaker Diarization: Who Said What, and When
Transcription tells you what was said. Diarization tells you who said it and when, by clustering voices before it ever aligns them to the transcript.

Transcription tells you what was said. Diarization tells you who said it, and when. Run them together and a flat wall of text becomes a conversation: Speaker A at 00:14 moving the launch to Q3, Speaker B at 00:18 worried about the market window, Speaker C at 00:22 proposing a soft launch in May. The labels are what make the transcript answerable.
The standard pipeline is four stages. Voice activity detection finds the speech regions first (Silero VAD is a 2MB model that runs 500x real-time on a CPU at around 95% accuracy on noisy audio). Speaker embedding extraction turns 1.5 to 3 second sliding windows into vectors (ECAPA-TDNN, 192 or 256 dimensions) that capture pitch, timbre, and speaking rate, so the same speaker looks the same regardless of the words. Spectral clustering over a cosine similarity matrix reads the number of speakers from the eigenvalue gap and assigns each window. Overlap detection then allows more than one label where people talk at once. Only after clustering does diarization join with ASR word timestamps (Whisper, Canary-Qwen): each word takes the speaker whose turn its midpoint falls into.
The field scores itself with diarization error rate, the sum of false alarm, missed speech, and speaker confusion divided by total speech duration. Under 10% is production quality, and the benchmarks fan out by difficulty: about 5% on clean broadcast (VoxConverse), 11% on phone calls (CALLHOME), 18% on far-field 4 person meetings (AMI). One caveat worth stating up front: the labels are not names. Mapping Speaker A to a real identity needs enrolled reference audio, typically 10 to 30 seconds of clean speech per person.
Where this diagram appears
Run this on your own data
Mixpeek turns video, images, audio, and documents in your object storage into searchable, timestamped results through one API.
Search your own data, free

