← Blog

Meeting Transcription with Speaker Labels

Hovor records a meeting, transcribes it, and labels every sentence with who said it — entirely on your Mac or iPhone, with no audio sent to any server. Speaker separation runs on-device via FluidAudio, and on Mac calls it uses a dual-stem capture technique that keeps your own voice from ever being confused with the other participants.

Last updated: July 19, 2026

What Hovor's meeting transcription actually does

Hovor records a meeting to a local audio file, transcribes the speech with word-level timing, runs an on-device diarizer to identify who was speaking at each moment, and merges the two into a transcript tagged by speaker id ("Speaker 1", "Speaker 2"…). Recording, transcription, and speaker separation all happen locally on macOS and iOS, gated behind the Local Unlock purchase.

Who said what: how speaker separation (diarization) works

Diarization is the process of splitting an audio recording into segments and assigning each segment a speaker identity, without knowing in advance who is in the recording. Hovor uses FluidAudio, an on-device diarizer, to produce these speaker spans, then aligns them word-by-word against the transcript: each transcribed word gets the speaker id of whichever diarized span covers its timestamp, and consecutive words from the same speaker are grouped into one labeled segment.

Short gaps between spans from the same speaker (up to 2 seconds) are bridged automatically, so a brief pause mid-sentence doesn't fracture one person's turn into two separate segments.

Mac vs. iPhone: two different capture strategies

Hovor uses a different capture strategy per platform. On iPhone, only the microphone is available, so every participant — including you — gets a generic "Speaker 1/2/3" label from diarization, which you can rename or let Enrolled Voices match automatically. On Mac, capturing a call's system audio alongside the mic lets Hovor identify your own voice automatically, without diarizing it at all.

CapabilitymacOSiOS
Audio sourcesMic + System audio (dual-stem), or Mic onlyMic only
How your own voice is identifiedAlways the mic stem — never diarized, never mistaken for a guestDiarized like any other speaker; rename manually or auto-match via Enrolled Voices
Requires Screen Recording permissionYes, for Mic + System modeNo
Maximum recording length90 minutes90 minutes
Diarization / transcription engineFluidAudio (on-device)FluidAudio (on-device)
Minimum device RAM for on-device engine~4 GB (Parakeet gate)
Requires Local UnlockYesYes

Dual-stem capture: how Mac avoids mixing up your own voice

When Hovor records a Mac call in "Mic + System" mode, it writes two separate audio files: your microphone (voice only) and the system audio (remote participants). Instead of diarizing one mixed recording and guessing which parts are "you," Hovor transcribes each stem independently and diarizes only the system stem. Every mic-stem word is trivially yours; every system-stem word gets a speaker id from diarization. Both streams merge onto one timeline, sorted by timestamp.

This also solves an acoustic problem specific to calls played through external speakers: your microphone often re-captures that loudspeaker output as echo — the remote participant's voice bouncing around your room and back into your mic. Hovor detects mic-stem words that fall within 0.5 seconds of a remote speaker's diarized span and drops them as echo, since that same speech is already transcribed cleanly from the system stem. If Mic + System capture isn't available (no Screen Recording permission, or a mid-call capture failure), Hovor falls back to mic-only recording automatically and labels the source accordingly.

Recognizing the same person across meetings: Enrolled Voices

By default every new meeting starts from a blank slate: speakers are labeled "Speaker 1," "Speaker 2," and so on. Renaming a speaker once teaches Hovor that voice for future meetings. Hovor computes a 256-dimensional voice embedding for each speaker (via FluidAudio's WeSpeaker-based embedding space) and saves it locally under the name you gave that speaker — never the raw audio, only the vector.

In later meetings, Hovor compares each new speaker's embedding against your saved voice profiles using cosine similarity and auto-applies a name when the similarity score clears a 0.55 threshold. Matching is one-to-one: each recognized voice is assigned to at most one enrolled profile per meeting, and vice versa, so two different speakers can't both be matched to the same saved name. All of this — the embeddings, the matching, the storage — happens on the device; nothing is synced to a server.

Where your meeting data actually lives

Meetings are stored locally. The transcript, segments, speaker names, and processing state live in SwiftData on your device; the recorded audio file (and, on Mac dual-stem recordings, the temporary voice/system side files used only for diarization) is deleted once processing finishes, unless you opt into keeping it for diagnostics. Enrolled voice profiles — 256-d vectors, not audio — live in a local JSON file. None of it is uploaded.

You can copy a full transcript (each segment as "Name: text," separated by a blank line) or copy a single segment's text to reply to — both actions go straight to the system clipboard, not through any server round-trip.

Pricing: what unlocks meeting transcription

Meeting recording and speaker-labeled transcripts require Local Unlock: a one-time, family-shareable purchase, not a subscription, priced at $49.99 (1,999 UAH). The same purchase also unlocks unlimited on-device dictation and unlimited dictionary replacements, snippets, and custom workflows — one payment covers every feature that runs entirely on your device, including meetings.

ItemPriceWhat it includes
Local Unlock (one-time)$49.99 / 1,999 UAHMeeting transcription + speaker labels, unlimited offline dictation, unlimited replacements/snippets/workflows
BYOK Unlock (one-time)$24.99 / 999 UAHUse your own OpenAI/Anthropic/custom API keys for other Hovor features (not required for meetings)
Local + BYOK Bundle (one-time)$69.99 / 2,799 UAHBoth of the above, bundled
Free tier$02,000 cloud dictation words/week — does not include meeting recording

Local Unlock is sold through the App Store on both iOS and macOS, and through Monobank on the web; it's family-shareable and does not expire.

Frequently asked questions

Does Hovor's meeting transcription work on Windows?

No, not yet. Meeting recording and speaker-labeled transcription ship only on macOS and iOS today. Hovor's Windows client is being rebuilt on Tauri and does not have a meetings feature in the current codebase. If you need speaker-labeled meeting transcripts, use Hovor on a Mac or an iPhone with at least 4 GB of RAM.

How does Hovor tell different speakers apart in a meeting?

Hovor runs an on-device diarizer (FluidAudio) that assigns each stretch of speech a speaker id (S1, S2, S3…) based on voice characteristics, then aligns those spans against the word-level transcript so every sentence is tagged with who said it. On Mac calls with system audio, Hovor also separately transcribes your microphone and the call's system audio, so your own voice is never confused with the other participants and does not need to be diarized at all.

Is my meeting audio sent to a server?

No. Meeting transcription and speaker separation run entirely on-device using FluidAudio's Parakeet-based transcriber and diarizer — the same on-device engine Hovor uses for offline dictation. The recorded audio, the transcript, the segment text, and the speaker voiceprints (256-dimensional vectors, never raw audio) are all stored locally via SwiftData and local app storage. On Mac dual-stem recordings, the temporary voice and system audio files used only for diarization are deleted once processing finishes unless you explicitly opt into keeping them for diagnostics. Nothing about a meeting's audio or text is uploaded to Hovor's servers at any point in the pipeline.

How long can a single meeting recording be?

Up to 90 minutes. Hovor's recorder automatically stops and finalizes the recording once it reaches the 90-minute cap, so nothing is left running unbounded or lost if you forget to stop it yourself. The same single completion path handles every way a recording can end — a manual Stop, the 90-minute cap, or an interruption. On iPhone, if a phone call, alarm, or Siri request interrupts the system audio engine mid-recording, Hovor detects it and finalizes gracefully instead of leaving the recording frozen, so whatever was captured up to that point is still transcribed and diarized.

Can Hovor automatically put a person's real name on their speaker label instead of "Speaker 2"?

Yes, through Enrolled Voices. When you rename a speaker in a past meeting, Hovor saves a 256-dimensional voice embedding for that person — never the raw audio. In later meetings, it compares each new speaker's voice embedding against your enrolled voices using cosine similarity and applies a match automatically above a 0.55 similarity threshold. Matching happens on-device; enrolled voice data is stored only on that device.

What do I need to buy to use meeting transcription?

Meeting recording and diarized transcripts are gated behind Local Unlock, a one-time, family-shareable purchase of $49.99 (or 1,999 UAH), available through the App Store on iOS and macOS and through Monobank on the web. Local Unlock also covers unlimited on-device dictation and unlimited dictionary replacements, snippets, and custom workflows — it is a single purchase, not a subscription.

Never lose track of who said what

Record a meeting on Mac or iPhone, get a transcript labeled by speaker, entirely on-device. One-time Local Unlock purchase, family-shareable, no subscription.

Get Hovor