01
会议和通话
Zoom、Google Meet、Teams、Slack huddle、Discord 通话、浏览器标签页里的通话:说到底都只是从某个 app 里出来的音频,所以全都能配上字幕。没有机器人加入,没人会被告知,参与者列表里也不会多出什么。读一眼那几个只听到一半的词,比开口再问一遍快,而且不用打断任何人。
通话、视频、播客和课程,边播边转写,字幕显示在始终置顶的浮层里。需要的话还能实时翻译。一切都留在这台 Mac 上。
10 月 31 日前:$9,原价 $19 · 14 天内无理由退款
按住 ⇧ 拖动字幕就能挪动它们,和在 app 里一样。
把指针移到字幕上,指针下面的字幕就会淡去,和在 app 里一样。
按住 ⌥,最近几个字幕块会重新叠起来。
点一下菜单栏里的 :标有试试的项目在这个演示里都能用。
Mac 上任何能出声的 app,都能配上字幕
使用场景
开会时,不管是不是第二语言,漏听一个词,接下来三个也跟着丢。Subtitles 给你的 Mac 正在播放的任何内容实时配字幕,你跟得上,不用请任何人再说一遍。按住 ⌥ 可以回溯并搜索过去的字幕。无论你是聋人或听障者、听得见却跟不上、在用第二语言听,还是只是待在一个吵闹的地方工作,有三种情况会一再出现。
01
Zoom、Google Meet、Teams、Slack huddle、Discord 通话、浏览器标签页里的通话:说到底都只是从某个 app 里出来的音频,所以全都能配上字幕。没有机器人加入,没人会被告知,参与者列表里也不会多出什么。读一眼那几个只听到一半的词,比开口再问一遍快,而且不用打断任何人。
02
切到你的备忘录、代码编辑器、AI 智能体或者浏览器。浮层始终在所有窗口之上,点击会直接穿透,你不用盯着它,对话也照样在字幕里继续,你可以照常操作底下的内容。像 Granola 这样的笔记工具负责在会后整理纪要,它的实时转写要把指针悬停上去才显示;Subtitles 负责的是必须当场完成的那一半,不用你费心,也不用你盯着。
03
一个没有字幕的视频。一档播客,用的是你还在学的语言。一节录播或者直播的课、一场访谈、一部对白很轻的电影。只要在播,就一边播一边配上字幕,用原本的语言,或者译成你的语言。需要的话,Subtitles 也可以改听麦克风,面对面交谈时同样能用,双方说同一种语言或两种语言都行。
隐私
你之所以可以放心在工作通话里用它,是因为它不是一项在线服务。没有服务器,没有账号,除非你自己在 Mac 上保存一份,否则也没有文字记录,所以没有东西要发出去,也没有第三方参与。想了解更多,可以读完整说明。源代码已公开,一切都不必凭信任。
功能
实时音频没法暂停,没法重来,也不该离开你的 Mac。这里的一切都是从这一点推出来的。
它在本地离线运行:没有账号,没有遥测,没有任何网络请求带走你的东西。音频从系统采集后直接进入识别器,然后被丢弃。它只会下载两样东西:模型,只下载一次;还有更新,在你自己选择更新的时候。
实时率约 0.15:计算一秒,就能转写六秒语音。同一个模型放在 CPU 上,实测慢了大约 100 倍,根本跟不上实时的音频流。
默认情况下它听的是你的 Mac 播放的一切,所以不用先配置什么就能用。如果两个 app 同时在出声,可以从菜单栏把范围缩小到某一个 app。它会连同那个 app 派生的所有辅助进程一起捕获,所以浏览器和 Electron 应用也能用,这些应用的音频从来不是从主进程出来的。
识别器前面有一个人声检测器,伴奏根本进不了识别器。没有它,音乐会塞满模型的上下文,音乐之后的头几个词就丢了。
可以选择在换人说话时另起一块字幕,就像遇到停顿时那样。默认关闭,因为这要额外再跑一个模型。换了人说话,大约一两秒后才能识别出来。
默认模型会自己判断语种。英语另外还有七个专用模型可选,让你从 160 ms 起,在延迟和准确率之间取舍。
“朗读翻译”用该语言自己的声音把每句译文读出来,同时原来的 app 音量降到四分之一。旁白开启时它会自动打开,旁白也能读出字幕块;旁白自己的语音永远不会被配上字幕。
把指针移近浮层,指针下方的部分就会淡去,你正在读的字幕永远不会挡住你正在写的字。淡去多少、范围多大,都可以在设置里调。按住 ⇧ 则保持不透明,还能拖动换位置。
字幕像电视字幕那样一屏一屏地出:写满、清空、重新开始,所以你一移开视线,那一行就没了。按住 ⌥ 往回翻:之前的字幕会重新叠在当前字幕上方,往上滚可以看更早的,还能用 ⌥F 搜索。一松手,它们又消失了。全程不写入任何文件。
打开菜单按 ⌘, 进入设置:一块字幕写满几行再清空、底板有多不透明、指针下淡出的范围多大、⌥ 能往回翻多远。拖动每个滑块时,预览和真正的浮层都会同步变化,所以这些都是看着效果调,而不是凭数字挑。
这个 app 能配字幕、也能互相翻译的十六种语言
工作原理
一个只负责复制的实时音频线程,一个从不转写的可移植内核,再加上一个跑在最合适硬件上的模型。
48 kHz 立体声,每 10.7 ms 一次回调。实时线程把数据复制进一个无锁环形缓冲区,别的什么都不做。
在工作线程上降到 16 kHz 单声道,跳过静音,并在语音开始前多回放大约一秒,这样每个词的开头都不会被截掉。
这是流式模型,不是 30 秒窗口的那种:区别就在于字幕是跟着音频走,还是晚好几秒才到。
两行一屏,可以在设置里改,像电视字幕那样清空再重来,在最后一次出现新文字的四秒后淡出,而不是在音频停下之后。
从环形缓冲区到模型边界之间的所有东西,都是可移植的 Rust,而且刻意不做转写:它只负责递出音频帧。process tap 和浮层是仅有的两个 Mac 专属部分。
对比
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!
Almost no setup, no tweaking around: you install it and it just works. Simple, useful and really effective.
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.
Awesome app and the translation support makes it even better. Working with French colleagues has never been easier. Highly recommend!
Definitely a game changer for me! A must have for remote workers
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
我在一家美国公司上班,开会说的是英语。英语不是我的母语,对我大多数同事来说也不是。要紧的那句话说出口的时候,我往往正忙着别的事,等回过神来,它已经没了:某个词没听清,某种口音不习惯,或者一分钟前说过的什么话。请人再说一遍,所有人都要搭进去三十秒,正在说话的那个人也被打断了。
所以字幕必须在我干着别的事的时候也能读。这就是为什么它是一层压在所有窗口之上的浮层,而不是某一个 app 里的一块面板;为什么它不拦截点击;为什么有一叠可以搜索的回溯字幕;也为什么它会在指针底下淡开,而不是要你动手把它挪走。其他的一切,都是从这一点来的。
Mathieu Jouhet,做这个 app 的人。
价格
先免费用 7 天,不用绑卡,也不用注册账号。之后一次性 $19:不用买时长,不按席位收费,也不用续费,日后所有更新都包含在内,价格大约相当于转写服务一个月的订阅费。
翻译就在价格里,不是另外加钱。十六种语言、其中任意两种之间的实时翻译,还有流式模型,都随这一份授权一起给你,没有需要再解锁的第二档。日后所有更新都包含在内。
常见问题