Speaker diarization explained

What is speaker diarization, and how does it work?

Speaker diarization turns a transcript into a conversation by showing who spoke when. This guide explains how voice segments become speaker labels, why those labels sometimes change, and how NotchLive keeps the entire workflow local and reviewable on your Mac.

Clear definitions · Local speaker attribution · Real-world limits · Reviewed August 2026

Three people in conversation around a Mac, each lit with a distinct color accent
From one audio stream to distinct voices Diarization maps each part of a conversation to an anonymous speaker.
Diarization meaning

A transcript gives you the words. Diarization restores the conversation.

A diarization system divides meeting audio into speaker turns and assigns anonymous labels such as Speaker 1 and Speaker 2. It does not need to know anyone's identity. Its job is to keep each part of the transcript connected to the voice that most likely produced it.

That makes a long transcript easier to follow, search, review, and measure. When a real name matters, the safest workflow is to let a person confirm it instead of presenting an acoustic guess as fact.

NotchLive Timeline with named participants, speaker-label coverage, and transcript reassignment controls
Anonymous first. Reviewable by design.NotchLive keeps uncertain speech visible, then lets you name participants, reassign turns, or leave a caption unresolved.
How it works

Five steps turn audio into a speaker-aware transcript.

Diarization is not one model making one guess. It is a sequence that finds speech, compares voices, groups similar segments, aligns those groups with words, and leaves the result ready for review.

  1. 01Find

    Locate the speech

    Detect where people are speaking and estimate where one turn ends and another begins.

  2. 02Compare

    Represent each voice

    Turn each useful speech segment into an embedding that can be compared with other segments.

  3. 03Group

    Build speaker clusters

    Place acoustically similar segments together as anonymous speakers within the meeting.

  4. 04Align

    Connect speakers to words

    Match cluster timing with the transcript so every turn can carry a speaker label.

  5. 05Review

    Confirm the meeting record

    Name people, merge duplicates, fix mixed turns, and keep unresolved speech visibly unknown.

Local model stack signals combined

One model hears the words. Another follows the voices.

NotchLive runs both jobs locally. WhisperKit produces transcript words and timing. SpeakerKit groups remote speech by voice. NotchLive aligns the two results and keeps uncertain attribution visible for review.

How the local models work together
WhisperKitRecognizes what was said and when each word occurred.
SpeakerKitEstimates which anonymous remote voice produced each speech segment.
NotchLiveAligns words and speakers, preserves the local microphone as You, and gives you the final review.
Words aloneA searchable transcript without reliable participant structure.
Words plus speakersA conversation you can follow, correct, measure, and reuse.
When labels need review

Six moments that can confuse an automatic speaker label.

People use faces, names, language, and memory to recognize a voice. A diarization model usually receives audio alone, often before the conversation is finished. These are the moments where a quick human check matters most.

Speech gives the model weak evidence

  • Overlapping speechThe system may hear both voices but still attach a boundary word to the wrong participant.
  • Short repliesA quick “yes” or “right” may be too brief to produce a confident speaker match.
  • Similar voicesRelated voices, similar pitch, or the same device processing can pull two people together.

The meeting changes around the model

  • Changing audioNoise, distance, emotion, or a microphone change can make one person look like several speakers.
  • Limited live contextLater speech can provide better evidence and legitimately improve an earlier provisional label.
  • Wrong group sizeToo many or too few clusters can split one person or combine several people until context corrects it.

Speaker labels get better when the whole meeting is available.

Live captions have to be useful now. A finished meeting gives the model more evidence and gives you the chance to confirm the result.

  1. Useful while people are speaking

    Rolling audio windows keep labels stable enough to follow the conversation, while uncertain speech stays visible instead of being forced into a confident answer.

  2. More complete after the meeting

    The finished audio provides stronger evidence across the whole conversation. Your review then becomes the source for saved history, exports, and participant analytics.

NotchLive meeting transcript with speaker labels, participant review, conversation share, and attribution coverage
Known lanes, model evidence, and your reviewNotchLive keeps the transcript, speaker-label coverage, participant corrections, and meeting analytics connected in one local workspace.
Three evidence layers

How NotchLive makes SpeakerKit useful in a real meeting.

SpeakerKit provides anonymous voice clusters. NotchLive surrounds that result with information the Mac already knows, whole-meeting evidence, and a review you control.

  1. Start with separate audio lanes

    Your microphone remains You. Only remote app audio needs anonymous speaker clustering.

  2. Add meeting-scale evidence

    Auto, 1:1, or Group context and the complete final audio help SpeakerKit refine its remote voice clusters.

  3. Let a person confirm the record

    Names, merges, splits, reassignments, and unresolved speech feed the reviewed transcript used by analytics and exports.

Models that ship with the app

The speaker stack stays local and predictable.

NotchLive builds on the open-source Argmax OSS SpeakerKit stack. Selected Core ML models ship with the app at a pinned revision, so a meeting does not depend on fetching a new speaker model at runtime.

  1. Speech segmentation

    Finds useful speech regions and estimates where speaker turns begin and end.

  2. Voice embeddings

    Represents each speech segment so voices can be compared without assigning an identity.

  3. Speaker clustering

    Groups similar segments into anonymous, meeting-local participants for transcript alignment.

NotchLive verifies one known model set instead of changing the speaker stack during your meeting.

A speaker label belongs to one meeting.

NotchLive uses temporary voice centroids in memory to keep anonymous labels stable during the active run, then discards them. It does not build a silent voice identity that follows someone into later meetings.

A saved session can retain anonymous labels and the names you explicitly confirm. Those names belong to the reviewed transcript, not to a hidden cross-meeting voiceprint.

One correction, every output

Fix a speaker once. Improve the whole meeting record.

Participant corrections update the names and turns used by Meeting Analytics, copy, exports, and future Meeting Intelligence generation. The Raw transcript remains available, so a cleaner result does not erase what was captured.

Conversation share updates

Words, turns, speaking time, and attribution coverage follow the reviewed participants.

Exports use confirmed names

Copy, TXT, Markdown, and JSON reflect the reviewed transcript you approved.

Meeting notes can catch up

On supported Macs, regenerate Meeting Intelligence after participant corrections.

A reviewable first pass

Treat automatic labels as a draft you can verify.

Overlap, short replies, noise, similar voices, and changing microphones can still produce a wrong or unresolved label. NotchLive does not hide that uncertainty. It uses known audio lanes, meeting context, a final pass, visible unknowns, and reversible corrections to help you reach a better record.

Go deeper

Explore the open-source speaker stack.

These primary references cover SpeakerKit, diarization examples, and the segmentation, embedding, and clustering concepts behind the local pipeline.

Speaker diarization FAQ

What is speaker diarization?

Speaker diarization is the process of determining who spoke when in an audio recording or live conversation. It segments speech, represents voices as embeddings, groups similar segments into anonymous speaker clusters, and aligns those clusters with a transcript.

How does speaker diarization work?

A diarization pipeline detects speech regions, divides them into speaker-homogeneous segments, creates numerical speaker embeddings, clusters similar embeddings, and maps the resulting labels back to timed transcript words.

What is the difference between transcription and speaker diarization?

Transcription answers what was said. Speaker diarization answers who spoke when. A speaker-aware transcript combines word recognition and timing with anonymous speaker labels.

What is the difference between speaker diarization and speaker identification?

Diarization separates voices into anonymous labels such as Speaker 1 and Speaker 2. Speaker identification attempts to connect a voice to a known identity. NotchLive does not silently create persistent voiceprints or automatically recognize people across meetings.

Can Whisper identify different speakers?

Whisper transcribes speech but does not by itself provide a complete speaker-diarization pipeline. Applications commonly combine Whisper transcription and timing with a separate diarization model, then align speaker segments with transcript words.

How does AI distinguish one voice from another?

A speaker-embedding model converts a short speech segment into a numerical vector that represents voice characteristics useful for comparison. Clustering groups vectors that appear to come from the same speaker. These similarities are probabilistic, not proof of identity.

Can speaker diarization handle overlapping speech?

Some diarization systems can detect overlapping speakers, but assigning the correct transcript words at an overlap boundary remains difficult. NotchLive can leave uncertain speech unresolved so the transcript does not hide that uncertainty.

Why can speaker labels change during a meeting?

Live diarization works with incomplete rolling windows. New speech can provide stronger evidence that two segments belong together or that one cluster contains multiple voices. NotchLive treats live labels as provisional and performs a more complete final pass after the meeting ends.

How does NotchLive use SpeakerKit?

On Apple silicon, NotchLive applies SpeakerKit to the remote system-audio lane, keeps microphone speech assigned to You, stabilizes anonymous labels across rolling windows, and aligns final speaker clusters with the locally transcribed timeline.

Does NotchLive run speaker diarization locally?

Yes. NotchLive bundles its selected SpeakerKit Core ML models and disables runtime speaker-model downloads. Speech recognition and remote-speaker attribution run on the Mac rather than through a NotchLive cloud transcription service.

Can I correct diarization mistakes in NotchLive?

Yes. Recorded sessions support participant rename, merge, utterance reassignment, unknown marking, new participants, selected-word splitting, and undo. Analytics and exports use the reviewed transcript while the captured source remains available.

Does NotchLive store voiceprints or recognize people across meetings?

No. Automatic labels are anonymous and meeting-local. Voice centroids used to stabilize labels remain in memory for the active run and are discarded with it. NotchLive does not silently create persistent cross-meeting voice identities.

See speaker diarization inside a private Mac transcript.

NotchLive combines live captions, local speaker attribution, participant review, Meeting Analytics, and optional Meeting Intelligence in one Mac app.