Diarization Explained

How speaker attribution works across platforms and providers
View as Markdown

“Diarization” answers one question: who said what? MeetStream gives you two independent layers of it — pick per use case, or combine them.

Layer 1: platform-level stream capture

The bot captures speaker-attributed audio directly from the meeting platform. Isolation quality depends on what each platform exposes:

PlatformIsolationHow
ZoomFull — each file contains only that speaker’s microphoneZoom SDK provides a dedicated raw PCM stream per participant
Google MeetPartial — speaker-attributed captureUp to 3 concurrent speaker streams via WebRTC CSRC demuxing
Microsoft TeamsPartial — speaker-attributed captureBrowser-bot stream capture, same model as Meet

This layer powers per-participant audio files, the speaker timeline (byte-level who-spoke-when), and the speaker-tagged frames of real-time audio streaming — attribution comes from the platform’s own identity, not from acoustic guessing.

Layer 2: provider diarization in transcripts

Post-call transcription providers run their own diarization on the mixed recording and label the transcript:

ProviderDiarization controlDefault
Deepgramdiarizeon
AssemblyAIspeaker_labelson
Sarvamwith_diarizationon
JigsawStackby_speakeron

Formatted transcripts return segments as {speaker, transcript, start_time, end_time, words[]} with per-word speaker attribution and confidence.

Which layer should I use?

  • Building voice AI / real-time coaching → platform layer: live speaker-tagged frames, no transcription latency.
  • Readable meeting notes → provider layer: diarized transcripts out of the box.
  • Compliance-grade attribution → combine: the speaker timeline’s platform IDs are ground truth; use them to verify or correct provider labels.
  • Cleanest per-speaker audio → Zoom, where isolation is at the SDK level.