指南

为什么转录在你的 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 的应用会完全跳过这些片段。在有大量空白的录音上,这可不是边角料级别的节省。

什么才真正让它变快 #

按效果排序:

  1. **用更小的模型。**对大多数干净语音来说 Base 就够了,而它比 Large 快很多倍。
  2. 如果你用的是 Apple Silicon,就用一个带 Core ML 编码器的应用
  3. 裁掉空白,或者用一个会先检测语音的工具。
  4. **关掉其他在抢资源的东西。**转录会用上它能拿到的每一个核心。后台一个视频导出会让你的吞吐量减半。
  5. **给笔记本插上电源。**用电池时,macOS 会限制持续负载;低电量模式限制得更狠。

什么不会让它变快 #

更多内存,除非你原本在使用交换空间——实际工作集比人们以为的要小。

**更快的网速。**本地转录里没有网络这一步。如果你的速度取决于你的连接,那这项工作就不是在你的机器上进行的。

**重启它。**如果一次运行很慢,重启只是从零开始做同样的工作。

一个大致的预期 #

在一台使用 Base 模型和 Core ML 编码器的 Apple Silicon Mac 上,转录速度是实时的好几倍——一小时的录音几分钟就能完成。我们自己在一个两小时的文件上测得的端到端时间不到三分钟。

在 Intel Mac 上,预计要花掉录音时长中相当可观的一部分。仍然值得做,仍然免费,只是不适合守着看。

如果你在 Apple Silicon 上的表现远远超出这些区间,可能的原因按顺序是:用了大模型、应用没有使用 Neural Engine,或者有大量其他任务在抢占这台机器。

简短版本 #

Apple Silicon 与 Intel 之别是最大的因素,而且你无法在软件里解决它。除此之外:用更小的模型,用一个把编码器编译给 Neural Engine 的应用,跳过静音而不是去转录它,并且不要一边用电池供电一边同时跑视频导出。

获取 Offline Transcription

音频和视频全程在你自己的 Mac 上转录。不上传任何内容,无需账户,也没有按分钟计费。

macOS 13.0 or higher · iOS 16.4 or higher