Skip to content
Dictanta
← Back to blog · · 11 min read

Google Meet Transcription on Mac: The On-Device, No-Bot Way

Capture and transcribe Google Meet calls on your Mac without a bot in the call, without a Workspace upgrade, and without audio leaving the laptop.

Mac Google Meet transcription privacy no-bot

Google Meet’s native transcription is one of those features that sounds like it’s available and then turns out to be available on the plan you don’t have. Workspace Business Standard and above can turn on “meeting transcripts,” and the resulting transcript lands in the meeting organizer’s Drive. Workspace Starter, Individual, and personal Gmail accounts get nothing. Most one-person companies, contractors, and freelancers on Workspace Individual are in exactly that gap — they live in Meet for client calls and have no built-in way to walk away with a transcript.

The usual answer is to point Otter, Fireflies, Read.ai, or Granola at the calendar and let the bot show up. That works. It also means a third party sits in the call and ships every minute of audio to a cloud transcription pipeline. For some calls that’s fine. For others — the client intake interview, the prospect discovery call, the internal one-on-one — it is the wrong default.

This post is about the third path: capturing a Google Meet call locally on a Mac running macOS 26 Tahoe, transcribing it on-device, and ending up with a Markdown transcript and an audio-anchored summary that never left the laptop. No Workspace upgrade. No bot in the call. No cloud pipeline.

What Google Meet does and doesn’t give you natively

Worth getting precise about the gap, because the answer depends on which plan you’re on:

  • Workspace Business Standard, Business Plus, Enterprise, Education Plus, Teaching & Learning Upgrade. Meeting hosts can turn on transcription from the Meet UI. The resulting transcript saves to the organizer’s Drive after the call. Quality is acceptable. Speakers are labeled because Meet knows who is logged into which account.
  • Workspace Business Starter, Workspace Individual, personal Gmail, and any visitor joining without a Google account. No native transcription. No native recording either on Starter and Individual (recording is Business Standard+).
  • Gemini in Meet “take notes for me.” Gated to specific Gemini Business / Enterprise / AI Pro add-ons. Generates a recap document. Same Drive destination, similar quality to the transcription feature, but processes the audio in Google’s cloud.

If you are on a plan that has native transcription and that’s enough for you, you do not need any of what follows. The rest of this post is for the case where you are on a plan that doesn’t, or you are on one that does but you don’t want the transcript living in your employer’s Drive, or you are a guest joining someone else’s Meet and have no host permissions at all.

The on-device alternative on a Mac

Two macOS frameworks introduced in macOS 26 Tahoe do all the heavy lifting:

  • ScreenCaptureKit with audio-only content filters. Captures the system audio output of a specific running process — in this case, the Google Meet tab in Chrome, Safari, Arc, or Edge. Audio capture is scoped to that process, so nothing else on the Mac (your Music app, Slack notifications, AirPods system sounds) ends up in the recording.
  • SpeechAnalyzer, Apple’s on-device automatic speech recognition framework introduced at WWDC 2025. Apple’s published benchmarks have it ~55% faster than Whisper v3 Turbo on the same Apple silicon, running entirely on the Neural Engine, with no network round trip.

These are the same primitives used to record Zoom calls without a bot and to capture Teams meetings on Mac. ScreenCaptureKit doesn’t care which meeting app is producing the audio — it sees Meet, Zoom, Teams, Webex, Discord, and a podcast playing in Safari the same way.

Dictanta is the Mac/iPhone/iPad/Vision Pro app that wires the two frameworks together with Apple’s Foundation Models on-device LLM for the post-meeting summary. The rest of this post walks the Meet-specific flow.

The full Google Meet capture flow

Assume a fresh install on macOS 26.

1. Join the Meet call however you normally do

Meet runs in the browser. Whether you use Chrome, Safari, Arc, Edge, or Brave doesn’t matter for the recording path — they all send audio to the Mac’s audio output the same way. Personal Gmail and Workspace accounts both work. So do guest links where you’re not signed in to a Google account at all.

You don’t need to enable Meet’s native transcription. You don’t need to be the host. You don’t need a Workspace plan with the right tier. None of those gates apply to capturing the system audio your Mac is already producing.

2. Start recording from the menu bar

Dictanta lives in your menu bar. Default global hotkey is ⇧⌘R. Press it. The icon turns coral and pulses. A short live-captions strip drops down under the menu bar with the transcript scrolling in real time. The strip is invisible to a screen share if you have one running, but you can also hide it entirely with ⌘⇧K.

The first time you record system audio, macOS prompts for screen recording permission. This is Apple’s TCC entitlement gating — ScreenCaptureKit’s audio path lives under the same entitlement as the video path, even though no video frames are captured. Grant it once, never again.

3. Dictanta scopes the capture to the Meet tab

Because audio capture is per-process, Dictanta lets you point it at the browser running Meet rather than at “anything making noise on this Mac.” If Chrome is the only thing on, that’s automatic. If you have Spotify playing in another app, or a YouTube video paused in another tab, none of that ends up in the transcript — the capture is scoped to the process producing the Meet audio.

If you have two browsers open and Meet running in one, you can pick the source in Dictanta’s source picker before pressing record. Default is “the foreground browser with active audio.”

You also pick whether to include your microphone in the mix. For meetings the default is both: capture Meet’s audio (everyone else) plus your mic (you), and let SpeechAnalyzer transcribe the combined stream so the transcript covers all sides. For solo recordings — a voice memo, a Loom-style narration, a dictated draft — flip to mic-only.

4. Live captions during the call

Two surfaces:

  • Menu-bar strip. Glanceable, about three lines, won’t appear in a screen share if you mute it.
  • Live transcript window. Open with ⌥⌘T. Larger, scrollable, useful when someone is spelling out an email address or a company name and you want to verify you heard it.

Both update with about 300ms latency on an M-series Mac. The same latency holds on Apple silicon iPads and visionOS, but the system-audio path itself is Mac-only — iOS and iPadOS don’t let third-party apps subscribe to other apps’ audio output.

5. Stop the recording, get a finished summary

When the Meet call ends — or when you press ⇧⌘R again, or click stop in the Dictanta window — three things happen locally:

  1. Final transcript with per-segment timestamps. Each segment is tap-to-seek; clicking a line jumps the audio player to that moment.
  2. Structured summary via Apple Foundation Models. TL;DR, decisions, action items (best-effort owner and due-date inference), open questions, follow-ups. The LLM runs on the Neural Engine — same chip path as the transcription — and never leaves the Mac.
  3. Audio-anchored bullets. Every summary bullet links back to the audio span it came from. Click a bullet, the audio scrubs to that moment, and the matching transcript line highlights. This is the part that separates verified summaries from plausible ones — when an AI-generated bullet says “we agreed to ship by July 12,” you click it and hear whether anyone actually agreed or whether the model inferred.

6. Export, or just leave it

Dictanta v1.0 exports to Markdown, JSON, and plain text. Markdown drops cleanly into Notion, Obsidian, Bear, Apple Notes, Logseq, Craft. JSON is what you want for Shortcuts flows or your own automation. Plain text is for the simplest cases.

DOCX, PDF, and SRT export ship in v1.1.

Transcripts and summaries sync to your other Apple devices through CloudKit by default. The audio itself does not sync unless you turn on iCloud Drive backup explicitly — audio defaults to local-only with a seven-day auto-delete, both configurable in Settings → Privacy.

Google Meet-specific things worth flagging

Meet has its own quirks that shape the flow slightly.

Browser vs. native isn’t a thing. Meet has no native macOS app. Whether you join from Chrome, Safari, Arc, Edge, or a PWA install of Meet, you are looking at a web page. All of them produce system audio the same way. The capture path is identical.

Multiple Google accounts. A lot of Mac users have a personal Gmail and one or two Workspace accounts. Meet links scoped to a specific account open in whichever Chrome profile is signed in to that account. Dictanta doesn’t care — it captures the audio of whichever Meet tab is producing sound, regardless of which Google account is signed in to it.

Guest links. Many of the most useful Meet calls are guest links from someone else’s calendar — a prospect’s Meet link, a recruiter’s Meet link, a vendor demo. You have zero host permissions on a guest link, so you cannot enable Meet’s native transcription. You can still record the audio your Mac is playing locally. The recording is yours; the call is theirs.

Captions in Meet vs. transcription. Meet has had live captions for years. Captions are a visual overlay during the call; they are not a saved transcript. People sometimes conflate the two. Dictanta is the transcript layer — captions during the call (if you also want a glanceable overlay) plus a saved, searchable transcript and summary after.

Background noise suppression helps you. Meet’s noise suppression cleans the audio each participant’s mic produces before it reaches the call. By the time it lands on your Mac’s output device, the audio is already cleaner than the raw mic stream would have been — and ASR error rates drop meaningfully on noise-suppressed audio.

Where the on-device path has limits

Honest list, same as in the Otter alternative breakdown:

  • No speaker tagging in v1.0. Meet labels speakers natively (when you have the transcription feature licensed) because Meet knows which account is talking. Dictanta on the audio-output path doesn’t have that signal — all it sees is the mixed audio Meet produces. Diarization from a system-audio mix on short clips is on the v1.1 roadmap. If “who said what” is a must-have today, Otter’s calendar bot or Meet’s native transcription with a Workspace upgrade is the better tool.
  • You have to be at the Mac. Bots can sit in calls you’ve skipped. Local recording needs your Mac present, awake, and in the call. If you delegate meeting attendance to an AI notetaker, the local path doesn’t substitute.
  • No automatic Drive push. Meet’s native transcript drops in the organizer’s Drive. Dictanta exports to Markdown/JSON/plain text on your Mac. If you specifically need the transcript to land in Drive for downstream Workspace tooling, Meet’s native flow (with the right plan) is structurally easier.
  • AirPods bonded only to your iPhone. If you join the Meet call on the Mac but route audio to AirPods paired only to your iPhone, the audio bypasses the Mac’s audio output and there is nothing for ScreenCaptureKit to capture. Pair the AirPods to the Mac (or use wired headphones, or the Mac’s built-in speakers) and the path works fine.

If those gaps don’t matter to your meetings, the on-device path is the cleaner default.

When the native Meet transcript is the right call

Three cases where Meet’s built-in transcription is genuinely the better answer:

  • Your team standardizes on Drive. If everyone in the company expects the transcript to be in the meeting organizer’s Drive folder by 5pm, swimming against that current costs more than you gain.
  • You need speaker labels today, on every call, with no setup. Meet’s transcription labels speakers automatically because of the account-level signal. Local recording can’t see that signal.
  • You are recording every Workspace internal meeting at scale. A company-wide policy of “all meetings transcribed and retained in Drive for 90 days” is genuinely better served by the native flow. Local recording on each person’s Mac is a worse fit for org-wide compliance retention.

If you are not in any of those buckets — and a solo founder, a contractor, a freelancer, a recruiter doing intake calls, or a manager doing one-on-ones usually isn’t — the local path is better.

What this unlocks that Meet’s native flow doesn’t

  • No Workspace upgrade required. Workspace Individual doesn’t include meeting transcription. Business Standard does, at $14/user/mo. The on-device path runs on the macOS 26 you already paid for.
  • Recording calls that aren’t yours. Joining a vendor’s or prospect’s Meet as a guest gives you no transcription rights on their end. The local capture path is the only one that lets a guest walk away with a transcript at all.

Trying it on your next Meet call

Practical first-time flow:

  1. Install Dictanta from the Mac App Store. Small download. The SpeechAnalyzer language model ships as part of macOS 26 and is already on your Mac.
  2. Open Dictanta once. Grant microphone and screen recording permissions when prompted. Either accept the default hotkey ⇧⌘R or rebind it from Settings → Hotkeys.
  3. On your next Meet call, press the hotkey when the call starts. Don’t think about it again during the meeting.
  4. After the meeting, open Dictanta. The recording is in the meetings list labeled with the browser source, the timestamp, and the duration. Click into it for transcript and summary.
  5. Export to Markdown if you want it in Notion or Obsidian, or leave it in Dictanta and rely on the on-device full-text search across all your recordings.

The free tier gives you three full recordings, no length cap, which is enough to compare the result against whatever Meet recap (or Otter cloud recap) you would otherwise be reading. Paid tiers are $9.99/mo, $79.99/yr, or $149.99 lifetime. No per-minute meter and no length cap at any tier — a three-hour all-hands transcribes the same way a ten-minute customer check-in does.

Bottom line

Google Meet’s native transcription is fine when you have the right Workspace plan and the call belongs to your account. Most of the time, on most calls, one of those two conditions is missing. The third-party cloud-bot answer (Otter, Fireflies, Granola, Read.ai) closes the gap by inserting a participant in the call and shipping the audio to a cloud pipeline. Acceptable for some calls. Increasingly not for others — customer intake, recruiting, vendor pitches, anything covered by an NDA.

The on-device answer on a Mac is: capture Meet’s system audio with ScreenCaptureKit, transcribe with SpeechAnalyzer, summarize with Apple Foundation Models, all locally, no bot, no upload. That is what Dictanta ships, the same way it ships the Zoom no-bot flow and the Teams no-bot flow.

If you are on Workspace Business Standard or higher and the native transcript working well, keep it. If you are not, or if even one call a week is the kind you would rather not hand to a cloud vendor, the local path is the missing option — and it costs nothing to install and try on the next call.