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
Audio File InputASR (Speech-to-Text)Diarization (Who Spoke When)Metadata Joiner
Settings
| Setting | Type | Required | Default or hint |
|---|---|---|---|
| Results | select | — | turns |
| Number of speakers (0 = detect) | number | — | 0 |
| Speaker separation (0–1, higher = fewer speakers) | number | — | 0.3 |
| Engine | select | — | builtin |
| Model (Hugging Face id) | text | — | microsoft/wavlm-base-plus-sv |
| Run on | select | — | auto |
| Time limit (seconds) | number | — | 900 |
Example
A call, by speaker turn
- Results=One row per speaker turn
- Number of speakers (0 = detect)=2
| File Name | Speaker ID | Start (s) | End (s) |
|---|---|---|---|
| call-0142.mp3 | Speaker 1 | 0.4 | 12.9 |
| call-0142.mp3 | Speaker 2 | 13.1 | 20.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.