“We agreed to move the deadline” means one thing if the client said it and another if your intern did. A transcript without speakers tells you what was said. Speaker diarization adds who said it, which is what you need for meeting minutes with owners, interviews with clear questions and answers, and podcast transcripts that read as dialogue.

The short version

  • Runs on your Mac. The pyannote community-1 pipeline runs as Core ML on the Neural Engine. Audio and voice data stay on the device, and it works offline.
  • No speaker limit. You never enter a speaker count. The pipeline detects it, for a two-person interview or a twelve-person all-hands.
  • Speaker identification with Voice Profiles. Save a voice once and that person is named automatically in later recordings.
  • Names carry through. Speaker labels flow into AI summaries, per-speaker chat and every export format. Diarization is part of Pro ($39 once).
~65×real time, about a minute for an hour of audio*
10.6%diarization error rate on AMI meetings*
12 of 16test meetings with the exact speaker count*

*From benchmarks published by the maintainers of the Core ML diarization pipeline TranscribeX uses (AMI single-microphone test set, measured on Apple Silicon). Your results depend on your Mac and on the audio.

What speaker diarization does

In one audio stream, voices interrupt, overlap and trail off. Diarization works out which stretches of sound belong to the same person. It looks at the character of each voice (pitch, timbre, rhythm), splits the recording into speech regions, computes a compact voice fingerprint for each region, and groups the fingerprints so each group is one speaker.

The result is a transcript in blocks: Maya, then Daniel, then Priya, each in their own colour. You can search for what one person said about the budget, credit a decision to the right person, or skip to the guest’s answers in an interview.

How TranscribeX separates voices

When diarization runs, either automatically after a meeting or on demand from the Speakers panel, TranscribeX goes through four stages on your Mac:

  1. Segment the audio into fine-grained speech regions, including places where people talk over each other.
  2. Fingerprint each region as a voice embedding.
  3. Cluster the fingerprints to decide how many speakers there are and which speech belongs to whom.
  4. Label each transcript segment with the speaker whose speech overlaps it most, then merge consecutive segments from the same person into one paragraph.

Under the hood this is the open pyannote community-1 pipeline: powerset segmentation, WeSpeaker embeddings and VBx clustering. These are published research methods, converted to Core ML so they run on Apple’s Neural Engine. TranscribeX runs the pipeline at its higher-accuracy setting, which scans the recording with heavily overlapping windows instead of a faster, sparser pass.

Diarization works on the finished recording as a whole, so it can hear the entire conversation before deciding who is who. It runs after any local transcription model, whether you used Whisper, Parakeet or another engine. During live transcription, live diarization labels speakers as the call happens.

TranscribeX dashboard on macOS showing transcribed meetings, recordings and imports with speaker labels
The dashboard shows colour-coded speaker avatars for each diarized recording.

Speaker identification with Voice Profiles

Separating voices is half the job. The other half is knowing whose voices they are. After any diarization, select a speaker and save them as a Voice Profile. From then on, each new diarization compares every detected speaker with your saved profiles and applies the matching name and colour. Your weekly stand-up comes back with real names instead of “Speaker 1”.

That last point is the main reason to do speaker identification locally. A cloud service that recognises your colleagues’ voices has to keep their voiceprints somewhere. With TranscribeX, that somewhere is your own disk.

“TranscribeX has been great! I am on 20+ calls weekly and this tool has become invaluable for call transcripts, and without any subscription or sending my data off to the cloud! I've emailed support on a few occasions and Ethan has been extremely responsive, top notch support!”

★★★★★ Tim · verified purchase, Gumroad

What named speakers make possible

Once speakers have names, the rest of the app uses them:

It also scales past one file. Bulk imports have a diarization toggle, and the tx command line tool and the MCP server accept a diarize flag, so scripts and AI agents get speaker-labelled transcripts too.

Diarization in other Mac transcription apps

AppSpeaker diarizationNotes
TranscribeX Pro✓Local, no speaker limitLive and after the call, Voice Profiles, $39 once
MacWhisper Pro✓Up to 8 speakersWorks live since version 15.2, €64 once
Superwhisper Pro✓“Speaker separation”Its docs say cloud Nova models give the most accurate results; labels are not carried into AI summaries
Meetily?Pro onlyCommunity edition is free; diarization needs Pro at $120/year per device
Anarlog Free?Manual labellingLocal, open source
Aiko✗Not supported, per its site

From each vendor’s own site and docs (macwhisper.com and 9to5Mac coverage of 15.2, superwhisper.com/docs, meetily.ai/pricing, anarlog.so/pricing, sindresorhus.com/aiko), checked October 2026. Cloud note takers such as Otter process recordings on their own servers, so any speaker labels they produce are made there too.

MacWhisper is a good app, and for small meetings its eight-speaker limit rarely matters. If your calls regularly have more than eight people, or the same people every week, unlimited speakers and Voice Profiles are where TranscribeX pulls ahead. Full MacWhisper comparison.

Who uses it

Speaker diarization: FAQ

What is speaker diarization?

Speaker diarization is the process of splitting a recording by speaker, so a transcript shows who spoke when. Speaker identification goes a step further and puts a real name on each voice. TranscribeX does both: diarization finds the speakers, Voice Profiles name them.

How many speakers can TranscribeX handle?

There is no fixed limit, and you do not enter a count. The pipeline detects the number of speakers automatically.

Does diarization work offline?

Yes. After a one-time download of the Core ML models, diarization, Voice Profile matching and storage all run on your Mac with no connection. What else works offline.

Is speaker diarization in the free version?

No. Diarization and Voice Profiles are part of TranscribeX Pro, a $39 one-time purchase with a 7-day refund. The free version transcribes without limits but does not label speakers.

What if it gets a speaker wrong?

Rename speakers inline, merge two that were split, or select segments and reassign them in bulk. Corrections carry through to summaries and exports.