@NFTCPS: 给你们扒一个 macOS 终端神器,专治开会听不懂英文: 麦克风或者会议声音进去,实时字幕加中文翻译直接出来,全程不碰网络,隐私党狂喜 吃 Apple Silicon 的 GPU 本地跑,英文转写完直接喂给混元 MT 翻译成中文 还能分谁…
摘要
介绍一个macOS本地实时英文转录和中文翻译的命令行工具livecaption,利用Apple Silicon GPU本地运行,支持说话人分离、two-pass纠偏,无需联网,保护隐私。
查看缓存全文
缓存时间: 2026/06/17 13:58
给你们扒一个 macOS 终端神器,专治开会听不懂英文:
麦克风或者会议声音进去,实时字幕加中文翻译直接出来,全程不碰网络,隐私党狂喜 吃 Apple Silicon 的 GPU 本地跑,英文转写完直接喂给混元 MT 翻译成中文 还能分谁在说话,标 S1、S2,直播开会同时录自己麦克风和对方扬声器 two-pass 纠偏,先出低延迟字幕,整句说完再重解一遍纠错,体验拉满
模型首次自动下载 3GB 多,结果能丢终端也能存成 Markdown。英语苦手赶紧码住。
https://github.com/six-ddc/livecaption…
six-ddc/livecaption
Source: https://github.com/six-ddc/livecaption
简体中文 | English
livecaption
macOS 本地实时英文转录 + 中文翻译的命令行工具,无 UI,输出到终端或文本文件。

- ASR:mlx-audio 跑 NVIDIA
nemotron-3.5-asr-streaming-0.6b(cache-aware 真流式 transducer),Apple Silicon GPU / MLX;端点检测用 Silero VAD(mlx 版)。 - 说话人分离(默认开,
--no-diarize关):NVIDIA Sortformer v2.1 流式模型,最多 4 人;句子按说话人切分、标 S1/S2/…、各自翻译,编号全程稳定。 - 翻译:mlx-lm 跑
Hy-MT2-1.8B-8bit(腾讯混元 MT 第三代),Apple Silicon GPU。 - 音源:麦克风,或会议系统音频(Zoom/Teams/浏览器扬声器输出),或两者双流分轨。
ASR 和翻译都跑 Apple GPU(统一内存);VAD 把静音段挡在 encoder 之外,只有说话时才耗 GPU;翻译只处理 ASR 的定稿句,不反压音频。定稿句经过 two-pass 纠偏:实时字幕用低延迟流式解码,句子结束时用最大 look-ahead 整句重解一遍,定稿和翻译都用更准的重解结果。
前置要求
- macOS 14.2+(系统音频捕获用到 Core Audio process tap;Tahoe 建议 ≥ 26.1)
- Apple Silicon
- uv
- 仅
system/both音源需要:Swift 5.9+(编译 audiotee)
安装
uv sync
# 仅在需要捕获会议/系统音频时,编译 audiotee:
bash scripts/build_audiotee.sh
首次运行会自动从 Hugging Face 下载 ASR(约 1.2GB)、Silero VAD(很小)、说话人分离模型 Sortformer(约 225MB,默认开启,--no-diarize 可关)和翻译模型(约 2GB)。
用法
# 麦克风实时转录 + 翻译,输出到终端
uv run livecaption --source mic
# 转录会议输出(系统音频),写入文件
uv run livecaption --source system --out meeting.md
# 双流分轨:同时转录自己的麦克风和对方的声音
uv run livecaption --source both --out meeting.md
# 转录音频文件(会议录音复盘 / 端到端测试;wav/mp3/m4a,自动重采样,跑完即退出)
uv run livecaption --source file --file recording.m4a --out recording.md
# 翻译默认带前 3 句上下文(提升代词指代/术语连贯);如需关闭或调整:
uv run livecaption --source system --context 0
# 只转录不翻译
uv run livecaption --source mic --no-translate
# 翻成日语、换更大的翻译模型
uv run livecaption --target-lang ja-jp --mt-model mlx-community/Hy-MT2-7B-4bit
# 非英语会议:指定说话语言(40 个 locale,传错会列出全部可选值)
uv run livecaption --asr-lang de-de --target-lang zh-cn
# 只捕获某个 App(先用 `ps`/活动监视器拿到 Zoom 的 PID)
uv run livecaption --source system --include-pid 12345
# 列出麦克风设备
uv run livecaption --list-devices
# 配色:默认 auto(探测终端背景明暗,探测不到则用高对比保底配色);
# 浅色背景看不清时显式指定,深色终端同理
uv run livecaption --theme light
# 监控 MLX 统一内存占用(终端底部状态行显示 active/cache/peak;默认关闭,诊断用)
uv run livecaption --source mic --mem
终端里:底部灰色行是实时中间结果;定稿句向上滚动为原文,下方是译文(加粗或彩色,取决于主题)。说话人 S1–S4 各用一种颜色便于辨认。
配色不清楚时:默认 --theme auto 会尝试从 COLORFGBG 探测背景明暗,但多数 macOS 终端(Terminal/iTerm/VS Code)不设这个变量,探测不到就回退到“默认前景色 + 加粗”的保底方案(任何背景都和正文一样清楚,但译文不带专属颜色)。想要彩色译文就显式指定 --theme light(浅色背景,译文深青蓝)或 --theme dark(深色背景,译文亮青)。
权限
-
麦克风:首次运行系统弹窗,授权落在你的终端 App 上。
-
系统音频(重要):audiotee 是裸二进制、又经 Python 子进程启动,macOS 的授权弹窗经常不出现。如果跑
--source system看到「正在监听」却完全没有转录(约 8 秒后程序会打印静音警告),几乎可以肯定是「屏幕与系统录制」权限没给——Core Audio 在无权限时会静默返回静音流,不报错也不弹窗。手动授权:- 打开 系统设置 > 隐私与安全性 > 屏幕与系统录制
- macOS 15(Sequoia)及以上这一栏分上下两个子区:往下滚到 「仅系统音频录制」(System Audio Recording Only) 子区——不是顶部那个「屏幕与系统录制」子区——把运行本工具的终端 App(Terminal / iTerm / VS Code 等)加进去并打开开关;没有就点
+手动添加(如/System/Applications/Utilities/Terminal.app)。audiotee 只做音频 tap、不录屏,加错子区会照样全 0 静音。(macOS 14 只有单一列表,无此区分。) - 完全退出并重启该终端 App(TCC 权限变更必须重启进程才生效),然后重跑
- 仍不行就先用 macOS 自带的 Terminal.app(而非 iTerm/VS Code 终端)跑一次,它更容易触发授权弹窗
「上下两个子区」这个细节连 audiotee 自己的 README 都没写,只见于作者在 audiotee#7 的回复。
验证权限是否生效:播放任意声音,跑
uv run python scripts/diag_system_audio.py,看max |amplitude|是否 > 0。
选型说明
nemotron-3.5-asr-streaming 是 nemotron-speech-streaming-en 的官方多语言后继(同为 cache-aware 真流式,0.6B 参数预算不变),不是用滑窗模拟离线模型。运行时选 mlx-audio:MLX 原生跑 Apple GPU(sherpa-onnx 在 mac 上只能 CPU,CoreML 对流式 transducer 算子覆盖不全)。mlx-audio 只提供 pull 式接口,本项目把它的 streaming 内核改写成了 push 式实时 stepper(asr.py),端点检测由 Silero VAD 按 sherpa 的 rule1/2/3 语义重实现。默认说话语言是 en-us(内部映射到模型的 en-US key),避免 auto 检测在混杂语流里跳变。语言参数同时支持小写短代码和英文语言名,如 zh-cn / Chinese、ja-jp / Japanese、de-de / German。
已知风险与退路
- ASR 流式质量不满意 → 调大
ASR_ATT_CONTEXT(如[56,13],精度最好但 1.12s 一刷、partial 延迟更大)。 - ASR 与翻译同抢 GPU 出现卡顿 → 翻译换更小 / 更低精度的模型,
--no-diarize关掉说话人分离,或--no-translate只转录,让 ASR 独占 GPU。 - 显存吃紧 → ASR 换 8bit 量化版
--asr-model mlx-community/nemotron-3.5-asr-streaming-0.6b-8bit。 - 翻译质量不够 →
--mt-model mlx-community/Hy-MT2-7B-4bit(约 4.2GB,更准)。 - 单独 tap 某个 App 偶发静音 → 默认 tap 全系统输出更稳(不传
--include-pid)。
相似文章
@GitHub_Daily: GitHub 上一款专为 Mac 打造的纯本地语音转文字开源工具:MacParakeet,识别准确率颇高。 支持直接拖拽音视频文件,或者贴个 YouTube 链接,就能快速输出带时间戳和说话人标签的文稿。 还能同时录制电脑系统声音和麦克风…
MacParakeet is a new open-source Mac application that provides fast, fully local voice transcription using Apple's Neural Engine and NVIDIA's Parakeet model, ensuring privacy by keeping audio data on-device.
@VincentLogic: 有人开源了一个隐形提词器,藏在 MacBook 的刘海里 开视频会议的时候最尴尬的一件事就是:你要么看屏幕上的内容,要么看摄像头。两个不可能同时做到,对面看你的眼神永远是飘的 这个工具的思路很聪明。把提词内容显示在刘海区域,因为摄像头就在…
有人开源了隐藏在MacBook刘海区域的隐形提词器,让视频会议时看提词内容就自然看向摄像头,保持眼神交流,免费开源且支持AI辅助。
@XChatScout: https://x.com/XChatScout/status/2056622783761899644
详细教程,介绍如何利用 MacBook、Mac mini、Codex、OpenClaw(龙虾)和 Tailscale 搭建一套个人专属的超级 AI 系统,实现远程协作与自动化任务。
@sitinme: 有一个挺有意思的开源项目,叫 Cider,专门给 Apple Silicon 芯片的 Mac 做本地 AI 推理加速。 很多人买了 Mac mini、MacBook Pro ,想在本地跑模型,但总会出现速度不够快、内存吃得猛的情况 其实 …
Cider 是一个开源项目,专为 Apple Silicon Mac 设计,通过充分利用 M 系列芯片的算力来加速本地 AI 推理,适配 MLX 生态,支持 Qwen、Llama 等模型,安装简单。
@geekbb: 一个专为 AI 编码设计的 macOS 终端,把工作区管理、分屏和 AI agent 启动流程整合到一起。支持横竖分屏,一键启动 Claude Code、Codex、Gemini CLI 等七个 AI agent,右键选中内容直接提交给 …
kooky 是一个专为 AI 编码设计的 macOS 终端,整合工作区管理、分屏和 AI agent 启动流程,支持一键启动多个 AI agent 和右键提交内容。