On-device
0 bytes
sent over the network
Your audio never leaves this Mac. All five models run on its own CPU and GPU, and once they are downloaded, it works offline.
UnderText
Live English subtitles with a Chinese translation, running entirely on your Mac.
No internet. No cost. Almost no delay.
Requires a Mac with Apple silicon (M1 or later) and macOS 13 or later
Recorded on a MacBook Air M4 during an English podcast. Faded words are still being recognised or translated.
On-device
0 bytes
sent over the network
Your audio never leaves this Mac. All five models run on its own CPU and GPU, and once they are downloaded, it works offline.
Free
$0
no account, no subscription
No API keys either. The code is MIT-licensed, and every model it uses is openly released.
Near real time
< 0.1 s
from English to Chinese draft
The Chinese draft appears almost with the English (median). When a sentence ends, the accurate translation follows in about 0.4 s (power saving).
Grey words are still being recognised and may change. Once they turn white, they stay.
The same goes for the Chinese: confirmed text on screen is never rewritten.
A fast model goes first, and a better one confirms it. That is how it is both quick and accurate.
1
Opus-MT, on the CPU
Translates the whole sentence so far right away, including words not yet confirmed. Results come in tens of milliseconds, and each new draft replaces the last.
2
Qwen3.5-2B, on the GPU
After every 3 newly confirmed words, or at a comma or semicolon, Qwen continues from the Chinese already confirmed, with the previous 3 sentences as context. Characters two answers agree on are confirmed.
3
Qwen3.5-2B, on the GPU
When the sentence ends, Qwen gets the complete sentence and translates the rest after the confirmed Chinese.
Silero VAD
Finds where speech is
Parakeet-TDT 0.6B
Speech to English, updated every 0.5 s
Opus-MT
Chinese draft
Qwen3.5-2B
Final translation
TitaNet
Voice prints for speaker labels
0.4 s
of silence ends a segment
0.5 s
between English updates
2×
a word must match twice to turn white
Every 1.5 s, TitaNet listens to the latest audio and compares its voice print with everyone heard so far. A familiar voice is labelled in about 1.5 s; a voice that matches no one becomes a new speaker after about 4.5 s. A new paragraph starts when the speaker changes or after a 1.2 s pause.
A fanless MacBook Air M4, translation and speaker labels on, running for 30 minutes.
With power saving, Qwen is called less often with shorter prompts: lower latency, steady throughout.
Qwen time per call (average per minute)
313 ms
Qwen per call with power saving (median). 730 ms with the default settings.
0.37 s
From the end of a sentence to the final Chinese (median). 0.92 s with the default settings.
25%
Share of time Qwen keeps the GPU busy with power saving. 69% with the default settings.
Your microphone, a WAV file, or anything playing on your Mac (Zoom, Teams, YouTube) through BlackHole.
The subtitle window floats above everything. Drag it anywhere, and it opens in the same place next time.
English above Chinese, or the two side by side. Set each text size and the background opacity separately.
Saves everything since the last clear as text, with the real time and speaker for each paragraph.
Made for the fanless MacBook Air: less computing, a cooler Mac, and even lower latency.
On first launch it lists the models and their sizes, picks the faster server, and resumes if the download stops.
Free and open source. Three steps to install.
Download the .dmg from GitHub Releases
Requires a Mac with Apple silicon (M1 or later), macOS 13 or later, and about 2.2 GB of disk space.
The app is not signed by Apple: the first time, click Open Anyway in System Settings → Privacy & Security.
It only needs the internet once, to download the models (about 2.2 GB) on first launch. After that, recognition, translation and speaker labels all happen on your Mac, and no audio or text is sent anywhere.
The code is open source under the MIT License, with no account, subscription or paid features. Silero VAD, Parakeet-TDT, Opus-MT, Qwen3.5 and TitaNet are all openly released models; their licences are listed on GitHub.
It recognises English and translates into Simplified Chinese. You can also turn translation off for English subtitles only.
Yes. Install the free BlackHole driver, create a Multi-Output Device in Audio MIDI Setup, then choose BlackHole as the audio source in UnderText.
Not yet. The app and the model runtimes are built for Apple silicon (M1 or later), and the translation model needs the Apple GPU to keep up in real time.
For long sessions, turn on power saving. In a 30-minute test it cut the time Qwen keeps the GPU busy from 69% to 25%, with lower latency too.