Updated 6 October朗读译文,并支持旁白朗读译文

你的 Mac 播放什么,就配上实时字幕。

通话、视频、播客和课程,边播边转写,字幕显示在始终置顶的浮层里。需要的话还能实时翻译。一切都留在这台 Mac 上。

  • 免费用 7 天,不用绑卡,不用注册账号
  • 一次性 $19,包含日后所有更新
  • 14 天内无理由退款
  • 下载:需搭载 Apple silicon、运行 macOS 14.2 或更高版本的 Mac
  • 在 Gumroad 上评分 5.0

按住 ⇧ 拖动字幕就能挪动它们,和在 app 里一样。

把指针移到字幕上,指针下面的字幕就会淡去,和在 app 里一样。

按住 ⌥,最近几个字幕块会重新叠起来。

点一下菜单栏里的 :标有试试的项目在这个演示里都能用。

使用场景

专为一时跟不上的时候而做

开会时,不管是不是第二语言,漏听一个词,接下来三个也跟着丢。Subtitles 给你的 Mac 正在播放的任何内容实时配字幕,你跟得上,不用请任何人再说一遍。按住 ⌥ 可以回溯并搜索过去的字幕。无论你是聋人或听障者、听得见却跟不上、在用第二语言听,还是只是待在一个吵闹的地方工作,有三种情况会一再出现。

01

会议和通话

Zoom、Google Meet、Teams、Slack huddle、Discord 通话、浏览器标签页里的通话:说到底都只是从某个 app 里出来的音频,所以全都能配上字幕。没有机器人加入,没人会被告知,参与者列表里也不会多出什么。读一眼那几个只听到一半的词,比开口再问一遍快,而且不用打断任何人。

02

边听边干活

切到你的备忘录、代码编辑器、AI 智能体或者浏览器。浮层始终在所有窗口之上,点击会直接穿透,你不用盯着它,对话也照样在字幕里继续,你可以照常操作底下的内容。像 Granola 这样的笔记工具负责在会后整理纪要,它的实时转写要把指针悬停上去才显示;Subtitles 负责的是必须当场完成的那一半,不用你费心,也不用你盯着。

03

视频、播客和讲座

一个没有字幕的视频。一档播客,用的是你还在学的语言。一节录播或者直播的课、一场访谈、一部对白很轻的电影。只要在播,就一边播一边配上字幕,用原本的语言,或者译成你的语言。需要的话,Subtitles 也可以改听麦克风,面对面交谈时同样能用,双方说同一种语言或两种语言都行。

隐私

数据不出这台 Mac,IT 也无需审核。

你之所以可以放心在工作通话里用它,是因为它不是一项在线服务。没有服务器,没有账号,除非你自己在 Mac 上保存一份,否则也没有文字记录,所以没有东西要发出去,也没有第三方参与。想了解更多,可以读完整说明。源代码已公开,一切都不必凭信任。

  • 没有机器人加入通话。它采集的是你的 Mac 本来就在播放的声音,所以参与者列表里不会多出任何人,也不会有人收到通知,因为它从不录下这场通话。这类产品大多会派一个人人可见的参会者进会议,不少公司干脆明令禁止。
  • 不录音,你不要求也不写入磁盘。声音直接送进语音模型,用完当场丢弃。字幕在屏幕上出现,然后就消失了;用 ⌥ 调出的字幕块只保存在内存里,保留多久由你设置,而且退出 app 就一定清空。它唯一会写的文件,是你选择保存的文字记录,存在你选的地方。
  • 麦克风只在你选中时才打开。默认它听的是你的 Mac 播放的声音。在“声音来源”里选中麦克风,macOS 会在第一次时请求一次权限;麦克风听到的内容在 Mac 上处理完就丢弃,和其他声音一样,所以无论听哪一路,你说的话都不会传到任何地方。
  • 没有账号,没有遥测,不联网。没有要登录的地方,也不会上报任何使用情况。模型只下载一次,之后唯一的请求是每天检查一次有无新版本,而且会先征求你的同意:把 Wi-Fi 关掉,字幕照样出。

功能

围绕三个前提设计

实时音频没法暂停,没法重来,也不该离开你的 Mac。这里的一切都是从这一点推出来的。

一切都留在这台 Mac 上

它在本地离线运行:没有账号,没有遥测,没有任何网络请求带走你的东西。音频从系统采集后直接进入识别器,然后被丢弃。它只会下载两样东西:模型,只下载一次;还有更新,在你自己选择更新的时候。

用 Neural Engine,不用 CPU

实时率约 0.15:计算一秒,就能转写六秒语音。同一个模型放在 CPU 上,实测慢了大约 100 倍,根本跟不上实时的音频流。

所有 app,或者只挑一个

默认情况下它听的是你的 Mac 播放的一切,所以不用先配置什么就能用。如果两个 app 同时在出声,可以从菜单栏把范围缩小到某一个 app。它会连同那个 app 派生的所有辅助进程一起捕获,所以浏览器和 Electron 应用也能用,这些应用的音频从来不是从主进程出来的。

音乐不会变成歌词

识别器前面有一个人声检测器,伴奏根本进不了识别器。没有它,音乐会塞满模型的上下文,音乐之后的头几个词就丢了。

换人说话就换一块字幕

可以选择在换人说话时另起一块字幕,就像遇到停顿时那样。默认关闭,因为这要额外再跑一个模型。换了人说话,大约一两秒后才能识别出来。

十六种语言

默认模型会自己判断语种。英语另外还有七个专用模型可选,让你从 160 ms 起,在延迟和准确率之间取舍。

听译文

“朗读翻译”用该语言自己的声音把每句译文读出来,同时原来的 app 音量降到四分之一。旁白开启时它会自动打开,旁白也能读出字幕块;旁白自己的语音永远不会被配上字幕。

指针到哪,哪里就透出来

把指针移近浮层,指针下方的部分就会淡去,你正在读的字幕永远不会挡住你正在写的字。淡去多少、范围多大,都可以在设置里调。按住 ⇧ 则保持不透明,还能拖动换位置。

按住 ⌥,找回漏看的字幕

字幕像电视字幕那样一屏一屏地出:写满、清空、重新开始,所以你一移开视线,那一行就没了。按住 ⌥ 往回翻:之前的字幕会重新叠在当前字幕上方,往上滚可以看更早的,还能用 ⌥F 搜索。一松手,它们又消失了。全程不写入任何文件。

边调边看的设置

打开菜单按 ⌘, 进入设置:一块字幕写满几行再清空、底板有多不透明、指针下淡出的范围多大、⌥ 能往回翻多远。拖动每个滑块时,预览和真正的浮层都会同步变化,所以这些都是看着效果调,而不是凭数字挑。

这个 app 能配字幕、也能互相翻译的十六种语言

  • English 英语
  • Español 西班牙语
  • Français 法语
  • Italiano 意大利语
  • Português 葡萄牙语
  • Deutsch 德语
  • Nederlands 荷兰语
  • Türkçe 土耳其语
  • Русский 俄语
  • العربية 阿拉伯语
  • हिन्दी 印地语
  • 日本語 日语
  • 한국어 韩语
  • Tiếng Việt 越南语
  • Українська 乌克兰语
  • 中文(普通话) 普通话

工作原理

从 app 的音频到你的屏幕,四步走完

一个只负责复制的实时音频线程,一个从不转写的可移植内核,再加上一个跑在最合适硬件上的模型。

  1. 1

    Core Audio 的 process tap

    48 kHz 立体声,每 10.7 ms 一次回调。实时线程把数据复制进一个无锁环形缓冲区,别的什么都不做。

  2. 2

    重采样与门限

    在工作线程上降到 16 kHz 单声道,跳过静音,并在语音开始前多回放大约一秒,这样每个词的开头都不会被截掉。

  3. 3

    在 Neural Engine 上跑 Parakeet

    这是流式模型,不是 30 秒窗口的那种:区别就在于字幕是跟着音频走,还是晚好几秒才到。

  4. 4

    浮层

    两行一屏,可以在设置里改,像电视字幕那样清空再重来,在最后一次出现新文字的四秒后淡出,而不是在音频停下之后。

从环形缓冲区到模型边界之间的所有东西,都是可移植的 Rust,而且刻意不做转写:它只负责递出音频帧。process tap 和浮层是仅有的两个 Mac 专属部分。

对比

为什么不用 Apple 的“实时字幕”?

macOS 自带免费的“实时字幕”功能,在系统设置 ▸ 辅助功能 ▸ 实时字幕里,前提是 Apple silicon Mac 设成了 Apple 已开放的语言:macOS 14 和 15 上只有英语,macOS 26 起支持八种语言。如果它够用,那就用它。下面是它满足不了我的地方;想看完整版,还有一份逐项对比。

对比项 Subtitles Apple 实时字幕
语言 十六种,14.2 起的每个 macOS 上都有,由多语言模型自动识别语种,在菜单栏里切换,任意两种之间实时翻译 macOS 14 和 15 上只有英语;26 起八种语言,每种都绑定一个国家或地区,一次只能用一种,要到系统设置里手动切换,而且不翻译
浮层 点击穿透,在指针底下淡开,始终在所有窗口之上,从不碍着你同时干别的 也是一个置顶的窗口,但它会拦截点击,挡住底下的东西
声音来源 Mac 播放的一切,你要的话也可以是麦克风,或者你指定的某一个 app Mac 播放的一切,或者麦克风
音乐 被人声检测器跳过,所以伴奏永远不会变成歌词 照样转成字幕
换人说话 可选:换人说话时另起一块字幕 没有对应功能
之前的字幕 过去的每一条字幕,排成一列占满可用空间,可以滚动翻看,按 ⌥F 搜索 滚动的三行,一次最多只能看到三行
模型 七个英语模型可选,在延迟和准确率之间取舍,外加一个多语言模型;需要的话,“多语言”也可以固定在某一种语言上 一个,固定不变,要换语言得打开系统设置,钻进三层深的设置里去改。
价格 免费用 7 天,之后一次性 $19,包含日后所有更新 免费,系统自带

大家怎么说

在真实通话中用过

So smooth, very useful during meetings on different apps (slack, zoom, google), so well integrated on the screen, doesn't block interacting with the other windows, love it!
Remi Santos Verified purchase on Gumroad
Almost no setup, no tweaking around: you install it and it just works. Simple, useful and really effective.
Jérôme Blondon Verified purchase on Gumroad
Very handy! I love how it can be connected to any audio source on my laptop, which helps not only for meetings and videocalls, but also for all those streaming services that do not support subtitles, like news websites or even some YouTube videos. The model supports many languages, so it's also useful if you're learning a foreign language and need subtitles to help you understand what's being said.
Bruno Verified purchase on Gumroad
Awesome app and the translation support makes it even better. Working with French colleagues has never been easier. Highly recommend!
Stef Kors Verified purchase on Gumroad
Definitely a game changer for me! A must have for remote workers
Kai Cotias Verified purchase on Gumroad
Much better than macOS live captions. I love how fluid the UX is, the searchable history when pressing option and all the shortcuts are really well thought, you can feel the author really cares about nailing all the details for a useful live caption app. The gorgeous audio glow is chef's kiss
Johnathan Verified purchase on Gumroad
5.0

Average rating on Gumroad

14-day refund, no questions asked

购买 $19

为什么会有这个 app

我在一家美国公司上班,开会说的是英语。英语不是我的母语,对我大多数同事来说也不是。要紧的那句话说出口的时候,我往往正忙着别的事,等回过神来,它已经没了:某个词没听清,某种口音不习惯,或者一分钟前说过的什么话。请人再说一遍,所有人都要搭进去三十秒,正在说话的那个人也被打断了。

所以字幕必须在我干着别的事的时候也能读。这就是为什么它是一层压在所有窗口之上的浮层,而不是某一个 app 里的一块面板;为什么它不拦截点击;为什么有一叠可以搜索的回溯字幕;也为什么它会在指针底下淡开,而不是要你动手把它挪走。其他的一切,都是从这一点来的。

Mathieu Jouhet,做这个 app 的人。

价格

一次付费,没有续费。

先免费用 7 天,不用绑卡,也不用注册账号。之后一次性 $19:不用买时长,不按席位收费,也不用续费,日后所有更新都包含在内,价格大约相当于转写服务一个月的订阅费。

翻译就在价格里,不是另外加钱。十六种语言、其中任意两种之间的实时翻译,还有流式模型,都随这一份授权一起给你,没有需要再解锁的第二档。日后所有更新都包含在内。

  • 结账由 Gumroad 处理。增值税、收据和退款都在那边办理,授权密钥也由 Gumroad 发送给你。
  • 已签名并经过公证,所以你授予的权限在每次更新后都还在。
  • 源代码公开。可以读,也可以自己编译。
  • 团队采购?给我写信,我会为你准备一组授权密钥。

Mac 版 Subtitles

$19 一次性

  • 先免费用 7 天,不需要密钥
  • 字幕不限量,想用多久用多久
  • 包含日后所有更新
  • 十六种语言,外加实时翻译
  • 一把授权密钥,覆盖你用的每一台 Mac。不用账号,不用订阅,没有遥测
  • 14 天内无理由退款

一次性 $19 · macOS 14.2 或更高版本 · Apple silicon
首次启动时下载约 633 MB。

常见问题

大家最先问的问题

Subtitles 支持 Zoom、Teams 和 Google Meet 吗?
可以。它捕获的是某个 app 播放的音频,而不是去对接某一项服务,所以 Zoom 窗口、Slack huddle、浏览器标签页里的通话,配字幕的方式都一样。浏览器和 Electron app 也包括在内:它会一并捕获这些程序派生的辅助进程,它们的音频其实就出自那里。
这个 app 能给哪些语言配字幕?
十六种:英语、西班牙语、法语、意大利语、葡萄牙语、德语、荷兰语、土耳其语、俄语、阿拉伯语、印地语、日语、韩语、越南语、乌克兰语和普通话。这个 app 会自己认出正在说的是哪种语言,你也可以在菜单里指定语言,省去自动识别。在所有受支持的 macOS 版本上,这份列表都一样,不设国家或地区条件;从 macOS 15 起,其中任意一种都能译成其余任意一种。
Subtitles 能翻译听到的内容吗?
可以,从 1.3 版起。菜单里的 “翻译为” 能把十六种语言中的任意一种译成其余十五种中的任意一种,用的是 Apple 的设备端翻译,所以译文和原文一样,从不离开这台 Mac。选定目标语言之前,翻译一直是“关闭”;翻译时按住 ⌃,原文会显示在下面。你也可以让浮层同时显示译文和原文;“翻译为”下面一项的“朗读翻译”还会把译文读出来,原声则调低了垫在底下。翻译需要 macOS 15,只配字幕的话 14.2 依旧可用。
它能配合旁白(VoiceOver)使用吗?
可以。旁白能读出字幕块,也能按下上面的按钮;“朗读翻译”在旁白运行时默认打开,会把译文读出来,所以另一种语言的通话或电影,只靠耳朵也能跟上。app 问你的事情,比如要不要保存文字记录,一出现就会被念出来;旁白自己的语音则永远不会被配上字幕或翻译。
字幕浮层不会碍事吗?
它完全不拦截点击,你可以隔着它直接工作;指针移上去它还会淡去,让你看得见、也点得到下面的内容。淡去多少、范围多大、字幕块有多不透明、能容纳几行,都可以设置。按住 ⇧,它就保持不透明,还能拖到别处;你把它放在屏幕哪里,下次还在那里。
Subtitles 会给我自己的声音配字幕吗?
除非你在“声音来源”里选了麦克风,否则不会。默认它听的是你的 Mac 播放的声音,所以在通话里你读到的是别人说的话,不是你自己的。选了麦克风,它就改为给身边的人说话配字幕,macOS 会在第一次时请求麦克风权限;再在“翻译为”里打开“同时显示两种语言”,两个人就可以各说一种语言,各自读自己那一种。
Subtitles 需要联网吗?
只需要一次,首次运行时下载模型,大约 633 MB。之后它完全离线运行。它还能发出的请求只有两样:每天一次的新版本检查,而且会先征求你的同意,你可以拒绝;以及隔一段时间一次的授权密钥核对。
我能保存或导出转写文本吗?
可以,只要你要。有了一分钟以上的语音之后,声音停下时,或者在安静得够久、回溯记录被清空之前,字幕块会提出保存这次会话;菜单里的“存储文字记录…”则随时都能保存。格式可以是纯文本、Markdown 或 SRT 字幕;除此之外什么都不会写入磁盘。在 app 运行期间按住 ⌥ 能往回翻看已结束的字幕块,⌥F 能在里面搜索,用来找回你刚才没看到的那一行。如果你需要的是对话的笔记或摘要,这个工具不合适,它本来就是设计来配合记笔记类 app 使用的。
需要 IT 部门批准吗?
这里没有什么供应商需要批准:没有账号,没有服务器,转写内容不会离开 Mac,也没有任何东西以参会者身份加入通话,所以会议里没有人被录音。它只是一台 Mac 上一个已签名、已公证的 app,模型下载一次之后,它能发出的请求只有两种:可以关掉的版本检查,以及授权密钥核对。是否符合你们公司的规定由你判断,但其中没有需要审核的第三方。
戴耳机或 AirPods 也能用吗?
可以。它捕获的是 app 产生的音频,而不是从扬声器里出来的声音,所以你用什么设备听都没有区别。
Subtitles 会拖慢我的 Mac 吗?
转写跑在 Neural Engine 上而不是 CPU 上,实时率约 0.15,也就是计算一秒就能处理六秒语音。同一个模型放在 CPU 上,实测慢了大约 100 倍,根本跟不上。
Subtitles 能在哪些 Mac 上运行?
Apple silicon,macOS 14.2 或更高版本。这个版本下限来自 Core Audio 的 process tap,整个程序都建立在这个 API 之上。翻译功能要 macOS 15 或更高版本。
Subtitles 是实时的吗?
是的。这是一个流式语音识别(ASR)模型,所以字幕在一句话还没说完时就会出现,而不是等它说完之后。它读取的是 app 播放的系统音频,不用装任何回环驱动;英语的那几个可选模型让你从 160 ms 起,在延迟和准确率之间取舍。如果你搜的是 Mac 的语音转文字或实时转写,这就是,只不过是一边播一边画在屏幕上,而不是存成文件。
Subtitles 是订阅制吗?
不是。下载下来就是 7 天免费试用。授权密钥一次性 $19,包含日后所有更新,不用注册账号,也不用买时长;一把密钥可用于你的所有 Mac,app 大约每月向 Gumroad 核对一次,只发送密钥本身,不带任何关于你的信息。如果不合用,14 天内可以无理由退款。
我能看到源代码吗?
可以。它以 FSL-1.1-ALv2 发布,每个版本在两年后转为 Apache 2.0。想读代码或者自己编译,都在 github.com/daformat/subtitles。

任何声音都能配上字幕,音频不出这台 Mac。

14 天内无理由退款

免费用 7 天,不用绑卡,之后一次性 $19,包含日后所有更新 · macOS 14.2 或更高版本 · Apple silicon
无限量实时字幕,只要这台 Mac 还在你手上。不用买时长,不用注册账号,不用订阅。读一读安装指南。