/

What Is Speaker Diarization?

Speaker Diarization

Quick Answer

Speaker diarization is the process of partitioning an audio stream into segments according to who is speaking. It answers the question "who spoke when" by detecting speaker changes, grouping speech segments by identity, and labeling each segment with a speaker tag, without requiring prior knowledge of the speakers' voices or the number of participants.

How Speaker Diarization Works

Speaker diarization combines several signal-processing and machine-learning stages to determine which speaker is active at each point in a recording. The core pipeline typically includes voice activity detection (VAD), speaker segmentation, embedding extraction, and clustering.

Key Stages

  • Voice Activity Detection: Identifies regions of the audio that contain speech, filtering out silence and background noise.

  • Speaker Segmentation: Divides continuous speech into short, homogeneous segments where only one speaker is active. Change-point detection algorithms locate boundaries where the speaker identity shifts.

  • Embedding Extraction: Each segment is converted into a fixed-length vector (speaker embedding) using a neural network trained to capture voice characteristics. Common architectures include x-vectors and ECAPA-TDNN models.

  • Clustering: Embeddings are grouped so that segments from the same speaker share a cluster. Agglomerative hierarchical clustering and spectral clustering are widely used approaches.

Speaker Segmentation vs. Diarization

Speaker segmentation refers specifically to detecting the time boundaries where a speaker change occurs. Diarization is the broader task that includes segmentation plus the assignment of a consistent speaker label across all segments belonging to the same person. Segmentation is one component within the full diarization pipeline.

Real-Time Speaker Diarization

Real-time (or online) speaker diarization processes audio incrementally as it arrives, rather than waiting for a complete recording. This is essential for live transcription, virtual meetings, and contact-center analytics. Online systems face additional challenges such as latency constraints and the need to handle new speakers appearing mid-stream without re-processing the entire audio history.

Tools and Frameworks

Several open-source projects make speaker diarization accessible to developers. Python libraries such as pyannote.audio (available on Hugging Face) provide pretrained pipelines that can be fine-tuned on custom data. OpenAI's Whisper model handles speech recognition but does not natively perform diarization; however, community integrations combine Whisper transcription with separate diarization modules to produce speaker-attributed transcripts. Repositories on GitHub offer end-to-end solutions and benchmarks for evaluating diarization accuracy using metrics like Diarization Error Rate (DER).

Common Applications

  • Meeting transcription and summarization

  • Call-center analytics and compliance monitoring

  • Media indexing and podcast production

  • Medical documentation and courtroom recording

Related resources

What does enable speaker diarization mean?

What is the difference between speaker segmentation and diarization?

What is speaker diarization real time?

How is speaker diarization accuracy measured?