Mac ASR + Translate
Personal / macOS AI Utility
A native macOS Skill and CLI for private speech recognition, translation, and bilingual subtitle generation.
- Recognition
- On-device
- Language pair
- EN-US / ZH-HANS
The model runs locally on your Mac.
模型在你的 Mac 上本地运行。
In brief
A native macOS command-line workflow and reusable Agent Skill for transcribing local audio or video, translating the result, and producing timestamped subtitle artifacts.
Built on Apple Speech and Apple Translation without requiring a cloud API key.
Local recordings often need to become searchable transcripts or bilingual subtitles without sending sensitive audio to a third-party transcription API.
Mac ASR + Translate packages that workflow as both a native CLI and a reusable Agent Skill. It discovers the current Mac's language capabilities, validates the requested language pair, extracts audio from video when needed, and returns structured artifacts for downstream use.
A useful local transcription workflow has to coordinate native speech permissions, installed language assets, video audio extraction, stable timestamps, translation-model availability, and terminal-friendly error handling.
What it includes
- 01On-device speech recognition by default with explicit server opt-in
- 02Native Apple Translation using installed system language models
- 03Timestamped JSON, SRT, VTT, and bilingual subtitle output
- 04LaunchServices-based helper for correct macOS privacy permission handling
How it works
- 01Diagnose the environment
Check the macOS version, on-device Speech locale, and installed Translation model for the requested language pair.
- 02Prepare local media
Accept audio directly or extract a compatible audio track from a local video with AVFoundation.
- 03Transcribe on device
Run Apple Speech locally by default and retain timestamped recognition segments.
- 04Translate with system models
Use Apple Translation and the language models already installed on the Mac.
- 05Render reusable outputs
Produce JSON, SRT, VTT, or bilingual subtitles for review and downstream workflows.
Build notes
Keep speech recognition local by default
privacy by default- Context
- Audio and video may contain private conversations or unpublished material.
- Approach
- Require on-device Apple Speech unless the caller explicitly enables server-backed recognition.
- What it enables
- The default path avoids sending source media to an external transcription API.
Launch the helper through macOS LaunchServices
native permissions- Context
- Directly executing a permission-sensitive helper attributes Speech authorization to the terminal host and can fail macOS privacy checks.
- Approach
- Package the native executable as a signed app helper, launch it through LaunchServices, and return stdout, stderr, and exit status through a temporary IPC directory.
- What it enables
- Speech permission is attributed to the correct app identity while the tool still behaves like a command-line program.
Expose capability checks before long runs
runtime diagnostics- Context
- Available Speech locales and Translation pairs depend on the current macOS installation and downloaded system models.
- Approach
- Provide `locales` and `doctor` commands that inspect the live machine instead of relying on a hard-coded support claim.
- What it enables
- Users can discover missing assets or unsupported language pairs before processing a long recording.
Capability summary
- 62
- Speech locales reported on the tested Mac
Evaluation basisRuntime locale discovery on macOS 27
- 19
- Common translation target languages
Evaluation basisSupported target-language selection
- 3
- Timestamped output formats
DefinitionJSON, SRT, and VTT, with optional bilingual subtitle rendering
Compatibility
- Transcription requires macOS 15 or newer; direct Apple Translation requires macOS 26 or newer.
- Usable languages depend on installed Dictation resources and Apple Translation models.