Skip to main content

How to get “who said what” in a transcript

Diarization is a separate step from transcription: the speech-to-text model produces words, and a diarization model works out how many people are speaking and which segment belongs to whom. It gives you “Speaker 1 / Speaker 2”, not names — mapping those to real names is a manual step, usually done once from the first minute of audio.

Step by step

  1. 1

    Decide whether you need it

    For interviews, panels, and meetings it changes the output from unusable to quotable. For a solo narrator it adds cost and a chance of spurious speaker splits for no benefit.

  2. 2

    Tell it how many speakers to expect

    Most diarization models accept a speaker count or a range. Supplying it is the single biggest accuracy improvement available — left to guess, models tend to over-split one person into several.

  3. 3

    Map speaker labels to names once

    Listen to the first minute, note that Speaker 1 is the host, and find-and-replace across the transcript. There's no reliable automatic way to learn names from audio alone.

  4. 4

    Expect trouble at crosstalk

    Interruptions and people talking over each other are where diarization degrades, because the audio genuinely contains two speakers at once. Short interjections often get attached to whoever was speaking around them.

  5. 5

    Format for reading

    Group consecutive segments from one speaker into a paragraph with the name in bold. Per-segment labels every few seconds are technically accurate and miserable to read.

Doing it by hand

The whole process without any particular tool, if you'd rather build it yourself:

  1. Transcribe the audio with a model that returns word timings.
  2. Run a diarization model (pyannote is the common choice) over the same audio.
  3. Align the two by timestamp overlap to label each segment.
  4. Replace the generic speaker labels with real names.
  5. Merge consecutive same-speaker segments into paragraphs.

Common questions

Why does it think there are five speakers when there are two?

Usually background noise, music, or a phone-quality caller being treated as a distinct voice. Passing an expected speaker count fixes most of it; cleaning the audio first fixes much of the rest.

Can it identify people by name automatically?

Not from audio alone. It can tell voices apart, not whose they are. Naming requires either you doing it once or an enrolled voiceprint per person, which is a much bigger undertaking.

Does diarization slow transcription down?

It's a second pass over the audio, so it adds time and cost roughly proportional to length. Worth enabling per-project rather than globally.

The shortcut

SourceWeaver does every step above in one pass — reusing existing captions and transcripts, transcribing the rest on a GPU with optional speaker labels, and exporting in the format your destination tool actually wants. You can see real output before signing up.

Process content you own or created, content you're licensed or have permission to use, or openly-licensed and public-domain material. Whether any particular use is permitted depends on copyright law and the rights you hold — it's worth being sure before you start.

Related guides