Speaker labels

Can a bot-free meeting recorder tell who said what?

Partly. A recorder that doesn't join the call can't see the meeting app's participant list, so it doesn't know names on its own. It can tell your microphone from the call audio and separate the distinct voices in each, and then you put a name on each voice. LokalBot does all of this on your Mac.

Why bots know names and local recorders don't

A meeting bot is a participant, so the meeting platform can tell it who is talking. A bot-free recorder hears what your Mac hears: your microphone, and the meeting app's audio with every remote participant mixed into one stream. To split that stream it has to group voices by how they sound, which is called speaker diarization. Diarization can say “three different people spoke, and here is when,” but not who they are.

How LokalBot labels speakers

  1. Two tracks first. Your microphone and the meeting app are recorded separately, so your side and the call stay apart before any model runs. By default, speech on the microphone counts as yours (My microphone is me), which also puts your commitments first in action items.
  2. Voices within each track. After the meeting, Separate voices by speaker, on by default, groups the voices in both tracks on your Mac. New installs use Nemotron 3.
  3. Names from you. When you rename a speaker, calendar attendees appear as suggestions. They stay suggestions: even a one-on-one invite doesn't prove who spoke, so LokalBot never applies a calendar name on its own.
  4. Voices on this Mac, remembered. The optional Remember speakers on this Mac setting can suggest names for voices you've confirmed on this Mac's microphone in later recordings. Remote participants' voices are never enrolled or matched, so you name them in each meeting.

All of these settings are in Settings → Meetings → Speaker names.

How accurate is it?

The test used four public AMI meeting recordings, each scored twice (headset mix and distant microphone), for 184.55 minutes of audio with four speakers per meeting. Nemotron 3 had a 14.6% diarization error rate with no forgiveness collar, against 43.4% for the previous default, Pyannote Community-1. It found the right number of speakers in all eight cases and ran about 500 times faster than real time. The error rate adds up missed speech, false alarms, and speech credited to the wrong person. See the benchmarks for methods and raw results.

The test has limits: English only, four speakers, and meeting-room recordings rather than audio that went through a video call. Larger calls and other languages haven't been measured.

When labels go wrong

When a label is wrong, correct it in the transcript. Your names and corrections stay with the meeting.

FAQ

Questions about this guide

Does LokalBot read participant names from Zoom, Meet, or Teams?

No. It doesn't read the meeting app's participant list or who is speaking. Names come from you, with calendar attendees offered as suggestions.

Does speaker separation upload audio?

No. It runs on your Mac. The speaker model downloads once on first use, and with Qwen3-ASR a word-timing model of about 1 GB downloads too.

Can I turn speaker separation off?

Yes. Turn off Separate voices by speaker in Settings → Meetings → Speaker names. Your microphone and the call audio stay on separate tracks either way.

Try it locally

Meeting notes that stay on your Mac by default.

Free, open source, and no account. Apple Silicon · macOS 15.0+

Download for macOS

Or with Homebrew: brew install --cask stevyhacker/tap/lokalbot