← All nodes
Audio Analysis

Diarization (Who Spoke When)

Works out who spoke when: one row per speaker turn (Speaker 1, Speaker 2…) with its start and end — or tags incoming rows, such as ASR segments, with the speaker talking at that moment.

When to use it

Split interviews, meetings and two-party calls by voice, measure talk time per speaker, or attribute each transcript line.

In a pipeline

Settings

SettingTypeRequiredDefault or hint
Resultsselect—turns
Number of speakers (0 = detect)number—0
Speaker separation (0–1, higher = fewer speakers)number—0.3
Engineselect—builtin
Model (Hugging Face id)text—microsoft/wavlm-base-plus-sv
Run onselect—auto
Time limit (seconds)number—900

Example

A call, by speaker turn

  • Results=One row per speaker turn
  • Number of speakers (0 = detect)=2
One row per turn
File NameSpeaker IDStart (s)End (s)
call-0142.mp3Speaker 10.412.9
call-0142.mp3Speaker 213.120.6

Worth knowing

  • Give the number of speakers when you know it — it is the biggest single gain in accuracy.
  • Built in needs no account: speech is found, voiceprints are taken every 0.75 s and grouped. Raise Speaker separation if one person is split in two; lower it if two people are merged.
  • pyannote.audio 3.1 is more accurate on crosstalk; it needs pip install pyannote.audio, an HF_TOKEN on the server and its terms accepted on huggingface.co.
  • Models run on the server in FlowDoo's Python and are downloaded once, on first use, into the data folder. A GPU is used when the server has one.

Others in Audio Analysis