指南
为什么转录在你的 Mac 上很慢
同一段录音、同一个应用,在不同的 Mac 上可能花两分钟,也可能花四十分钟。四个因素几乎解释了全部差异。
本地转录速度差异巨大,而且并不与你的 Mac 有多新、你花了多少钱成正比。同样一小时的录音、同一个应用,在一台机器上可能三分钟,在另一台上要半小时。
四个因素几乎解释了全部。
1. Apple Silicon 与 Intel #
这是最主要的一条,而且差距不小。
转录以矩阵运算为主。Apple Silicon 有两样东西特别适合它:一个专为这类运算打造的 Neural Engine,以及统一内存,因此模型权重不必在 CPU 内存和 GPU 内存之间来回复制。
Intel Mac 两样都没有。它完全没有 Neural Engine,所以编码器——模型中费劲的那一半——只能退回到 CPU,或者跨总线交给独立 GPU。在同一个文件上,结果往往慢好几倍。
如果你用的是 Intel Mac,转录仍然完全可用;只是它属于"启动之后过会儿再回来"的事,而不是守着看的事。软件层面没有什么能弥合这个差距,因为这个差距是一块芯片。
2. 应用到底有没有用上 Neural Engine #
同一台 M 系列 Mac 上的两个应用可能相差一个很大的倍数,因为使用 Neural Engine 不是自动发生的。
模型必须提前编译成 Core ML 的格式,编码器才能在那里运行。随权重一并附上 Core ML 编码器的应用走的是快车道;没有这么做的应用把一切都跑在 GPU 或 CPU 上,浪费了大量性能。
这一点从外面看不出来,但你能感觉到:如果在你的机器上,一个本地转录应用明显比另一个快得多,通常就是这个原因。
3. 模型规模 #
Whisper 各个规模之间,参数量每一级大约相差 3 倍,时间也随之缩放。从 Base 换到 Large,参数量大约是二十倍——在长文件上,这是"一杯咖啡"和"一个下午"的差别。
如果某个应用默认用大模型,或者你因为"越大听起来越好"而选了一个,光这一点就能解释你的等待。准确度的提升远小于规模差异给人的暗示,而对干净的语音来说,往往根本察觉不到。
4. 你花了多少代价去转录静音 #
一段两小时的录音里,九十分钟的会议之外还有三十分钟什么都没有。没有语音活动检测,模型会把它们全都处理一遍——解码静音的代价和解码语音一样,同时还会产出重复的垃圾文字。
先运行 VAD 的应用会完全跳过这些片段。在有大量空白的录音上,这可不是边角料级别的节省。
什么才真正让它变快 #
按效果排序:
- **用更小的模型。**对大多数干净语音来说 Base 就够了,而它比 Large 快很多倍。
- 如果你用的是 Apple Silicon,就用一个带 Core ML 编码器的应用。
- 裁掉空白,或者用一个会先检测语音的工具。
- **关掉其他在抢资源的东西。**转录会用上它能拿到的每一个核心。后台一个视频导出会让你的吞吐量减半。
- **给笔记本插上电源。**用电池时,macOS 会限制持续负载;低电量模式限制得更狠。
什么不会让它变快 #
更多内存,除非你原本在使用交换空间——实际工作集比人们以为的要小。
**更快的网速。**本地转录里没有网络这一步。如果你的速度取决于你的连接,那这项工作就不是在你的机器上进行的。
**重启它。**如果一次运行很慢,重启只是从零开始做同样的工作。
一个大致的预期 #
在一台使用 Base 模型和 Core ML 编码器的 Apple Silicon Mac 上,转录速度是实时的好几倍——一小时的录音几分钟就能完成。我们自己在一个两小时的文件上测得的端到端时间不到三分钟。
在 Intel Mac 上,预计要花掉录音时长中相当可观的一部分。仍然值得做,仍然免费,只是不适合守着看。
如果你在 Apple Silicon 上的表现远远超出这些区间,可能的原因按顺序是:用了大模型、应用没有使用 Neural Engine,或者有大量其他任务在抢占这台机器。
简短版本 #
Apple Silicon 与 Intel 之别是最大的因素,而且你无法在软件里解决它。除此之外:用更小的模型,用一个把编码器编译给 Neural Engine 的应用,跳过静音而不是去转录它,并且不要一边用电池供电一边同时跑视频导出。
获取 Offline Transcription
音频和视频全程在你自己的 Mac 上转录。不上传任何内容,无需账户,也没有按分钟计费。