Mac ASR + Translate

Personal / macOS AI Utility

A native macOS Skill and CLI for private speech recognition, translation, and bilingual subtitle generation.

Local processing sessionMac ASR + Translate
Recognition
On-device
Language pair
EN-US / ZH-HANS
talk.m4a00:18.42

The model runs locally on your Mac.

模型在你的 Mac 上本地运行。

Input Local audioSpeech Apple SpeechTranslation Apple TranslationOutput Bilingual SRT
Local speech recognition, translation, and bilingual subtitle output preview

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

  1. 01On-device speech recognition by default with explicit server opt-in
  2. 02Native Apple Translation using installed system language models
  3. 03Timestamped JSON, SRT, VTT, and bilingual subtitle output
  4. 04LaunchServices-based helper for correct macOS privacy permission handling

How it works

  1. 01Diagnose the environment

    Check the macOS version, on-device Speech locale, and installed Translation model for the requested language pair.

  2. 02Prepare local media

    Accept audio directly or extract a compatible audio track from a local video with AVFoundation.

  3. 03Transcribe on device

    Run Apple Speech locally by default and retain timestamped recognition segments.

  4. 04Translate with system models

    Use Apple Translation and the language models already installed on the Mac.

  5. 05Render reusable outputs

    Produce JSON, SRT, VTT, or bilingual subtitles for review and downstream workflows.

Build notes

Note 01

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.
Note 02

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.
Note 03

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.
Next project12dsh-mac-visionPersonal / macOS AI Plugin

Project image

Interactive demo