Vocco / Guides

Offline speaker diarization on a Mac

Speaker diarization splits a recording by voice so the transcript shows who said what. Vocco does it on the Mac, with the two models it needs built into the app.

Updated October 28, 2026 · Written by the developer of Vocco

Short answer: drop an audio or video file into Vocco's Files view. Vocco first works out who is speaking when, then transcribes each stretch with the engine you picked. You get a transcript with a speaker label and a timestamp on every segment, which you can export as SRT or copy as text. Nothing is uploaded.

Known issue (still in 1.0.8): on long recordings, one person is often split into several speaker numbers. A fix is coming. For long meetings you can turn speaker separation off for now and get a plain transcript.

How it works

  1. Find the speech turns. A segmentation model (pyannote segmentation 3.0, 6 MB) marks where speech starts, stops and changes voice.
  2. Make a voiceprint for each turn. A speaker-embedding model (3D-Speaker ERes2Net, 39 MB) turns each turn into a vector that represents how the voice sounds.
  3. Group the voiceprints. Turns whose vectors are close are treated as the same person. With no speaker count given, a distance threshold decides where one speaker ends and the next begins. We set it to 0.9 after testing on a 57-second recording of four real people, which it splits correctly. On long recordings that threshold splits too eagerly; see below.
  4. Transcribe each turn. Each segment then goes to your speech engine. Separating speakers first, then transcribing, keeps one person's words from bleeding into another's line.

Both models run through sherpa-onnx on the CPU and come bundled with the app, so diarization works the first time you open it, offline.

What you get

Supported inputs are the audio and video formats macOS can open, including MP3, WAV, M4A, MP4 and MOV.

Where it goes wrong

Turning it on

Speaker separation is a Pro feature, included in every new install's first 14 days; the free version transcribes without speaker labels. It is on by default (Settings → Transcription). When it is on, Vocco labels speakers automatically after each file transcription and after you stop a real-time recording. Turning it off also makes long files faster: on an M5 Pro an hour of audio takes about 6 minutes without speaker labels and about 11 with them.

Questions

Is anything uploaded during diarization?

No. Both diarization models ship inside the app (about 45 MB together), and transcription runs on the Mac with the engine you chose.

Do I need to tell it how many speakers there are?

No. Vocco estimates the number of speakers by grouping similar voiceprints. There is no setting for a fixed speaker count yet. On long recordings the current version tends to find too many speakers; see the known issue above.

Does it work on live recordings?

Yes, after the fact. When you stop a real-time recording, Vocco runs diarization on it and labels the speakers. It does not label speakers while you are still recording.

Can it tell apart two synthetic voices?

Often not. Text-to-speech voices from the same vendor sound alike to the voiceprint model and tend to be merged, so test it with real people.

How this page was made: model names, sizes and settings come from Vocco 1.0.5's code; speaker counts and timings come from our own test runs of that code on October 26–27, 2026. Drafted with AI assistance and checked against those sources.

Transcribe your next meeting by speaker

Speaker labels run on your Mac, nothing is uploaded. The first 14 days are full Pro.

macOS 14 or later · Apple silicon

Vocco for Mac · freeDownload free