Open source · 100% on-device

Live captions for everything your Mac plays

Calls, videos and podcasts, captioned as they're spoken by a speech model running on your Mac. No cloud, no account, no bot in your meeting.

Download for macOS

Free · v0.4.0 · Apple silicon · macOS 14.2+ · English speech

Measured on a MacBook Air M4, with real speech through the speakers

A word is on screen about half a second after it is spoken

0.45sMedian, speech to screen

Errors per word over a 30-minute session of 2,750 words

2.3%Word error rate

Silence produces no text: 621 s of pauses in one session

0Words invented in silence

One pass of the model over a sliding window, on the GPU

179msInference, median

The system audio tap delivers sound to the app quickly

32msTap to app

Even the slow words arrive within about a second and a half

1.3s95th percentile, speech to screen

Whisper engine, standard model (base.en), over a 30-minute session. The new default engine, Parakeet, made fewer errors in our file comparison (0.4 % vs 2.6 %). Methods, raw numbers and what isn't verified yet: RESULTS.md

How it works

From a Zoom call to a YouTube video, Spokemark captions what your Mac plays, on your Mac.

LIVEjfk.wav · public domainListening

And so my fellow Americans!

Ask not!

What your country can do for you? Ask what you can do for your country

Real output, replayed at its real timing: dim words are provisional and can still change (log).

Why Spokemark?

Built for reading. Captions that keep up with the voice.

Spokemark sits in your menu bar and puts a clean caption over whatever is on screen, with a transcript you can search later.

A CoreAudio process tap hears the Mac's output, so there's nothing to install in Zoom or Meet and playback stays audible.

An overlay above full-screen apps and every Space. Standard, High contrast and Cinema presets; 2–3 lines, top or bottom.

Every session as text, never audio. Full-text search and export to .txt, .srt or .md. Deleted after 30 days by default.

The translation under the original, or alone, by Apple's on-device Translation framework. Needs macOS 26.

Experimental: a separate speaker model tells voices apart on the Neural Engine, with any engine. A new line with a dash starts when someone else talks, and each speaker's translation goes right under their line. Nothing about voices is saved.

TRIGGERSound plays on your Mac⌥⌘C

STEPRecognize speech as it streamsParakeet

STEPTell speakers apartoptional

STEPTranslate each finished sentenceoptional

OUTPUTA caption over every app, a searchable transcript, and an optional on-device translation.

Open source

Built in the open

No paid tier and no telemetry to trust. The app, the audio helper and the speech engine are all in one MIT repository you can read and build.

MMIT License

Use it, change it, ship it, sell it. The Spokemark name and logo stay with the project, so forks pick their own.

Read license

RMeasured results

Every number on this page comes from a documented run on real hardware, with what hasn't been verified listed too.

See results

BBuild from source

Clone, npm install, build the Swift and C++ helpers, download the model, package. Pull requests welcome.

Contribute
Apps & Privacy

Works with anything your Mac plays

Spokemark listens to the system output, not to a specific app. Recognition, translation and history all stay on your Mac; the only network request is the one-time model download.

How capture works

Calls, browsers, players and podcasts: if the Mac plays it, Spokemark can caption it

See all features
  • Zoom
  • Google Meet
  • Microsoft Teams
  • Discord
  • YouTube
  • Podcasts
  • Safari
  • Chrome
  • Any other app

Privacy built into how it works, not a setting you turn on

Security policy
  • No account
  • No telemetry
  • Audio never saved
  • On-device recognition
  • On-device translation
  • Text-only history
  • 30-day retention
  • SHA-256 model check
  • Open source, MIT

Calls haven't been tested end to end yet; YouTube in Chrome and local playback have.

Menu bar first

A caption engine in your menu bar.

Start with one click or ⌥⌘C, pause to keep the last captions on screen or stop to hide them, and fix problems like a missing permission or model right from the panel.

Shortcuts
Start, pause, stop

⌥⌘C starts or stops captions from anywhere. Pause keeps the last captions on screen; Stop hides them. ⌥⌘O shows or hides them, ⌥⌘E moves them.

Silent when nothing is said

A voice detector gates the model, so pauses stay empty: 0 words in 621 s of silence.

Knows what's playing

The caption shows the icon and name of the app the audio comes from, with waves that follow the voice.

Native on macOS

The same look as this page, dark by default with light and system options; full keyboard navigation and VoiceOver labels; English and Portuguese UI.

Ready to read along?

Download Spokemark, allow System Audio Recording, and play anything. The speech model downloads on first launch.

Builds aren't notarized yet (no Apple Developer ID). On macOS 15 or later: open it, click Done, then System Settings › Privacy & Security › Open Anyway. On macOS 14: right-click › Open.

Version0.4.0 · released 2026-10-15

MacApple silicon (M1 or later)

macOS14.2 or later · translation needs 26

.dmg

Size149 MB · speech model 626 MB

PermissionSystem Audio Recording only

Download for macOS

Captures what the Mac plays, not your microphone. Verify with SHA256SUMS.txt · all releases