Apple 新 SpeechAnalyzer API 与 Whisper 及前代产品的基准测试对比
摘要
Apple 的新 SpeechAnalyzer API 在英语设备端转录的准确性和速度上,显著优于其前代 SFSpeechRecognizer 和 OpenAI 的 Whisper 模型,该基准测试在 M2 Pro 机器上进行。新 API 在清晰语音上的词错误率为 2.12%,而 Whisper Small 为 3.74%,且运行速度快三倍。
暂无内容
查看缓存全文
缓存时间: 2026/07/13 16:53
# Apple 新语音 API 与 Whisper 的首次真实基准测试
来源:https://get-inscribe.com/blog/apple-speech-api-benchmark.html
## 结果先行
Apple 新的 SpeechAnalyzer 是我们测试过的最准确的设备端语音引擎。在 LibriSpeech 的清晰音频和嘈杂音频两个测试集上,它都击败了我们目前集成的所有 Whisper 模型(包括 Whisper Small),同时运行速度大约是 Small 的三倍。而被取代的旧 API SFSpeechRecognizer 在清晰语音测试中排名垫底,甚至输给了只有 40MB 的 Whisper Tiny。
| 引擎 | test-clean WER | test-other WER | 模型大小 |
|------|----------------|----------------|----------|
| **Apple SpeechAnalyzer** (iOS/macOS 26) | **2.12%** | **4.56%** | 系统级 |
| Whisper Small (WhisperKit CoreML) | 3.74% | 7.95% | ~460MB |
| Whisper Base | 5.42% | 12.51% | ~140MB |
| Whisper Tiny | 7.88% | 17.04% | ~40MB |
| Apple SFSpeechRecognizer (旧版) | 9.02% | 16.25% | 系统级 |
数值越低越好:WER 是词错误率,即引擎替换、遗漏或凭空增加的词语百分比。LibriSpeech 的 test-clean 包含 2,620 段清晰的朗读语音;test-other 包含 2,939 段更困难、更嘈杂的语音。所有引擎均在 Apple M2 Pro(32GB,macOS 26.5.1)上完全本地运行。
Apple SpeechAnalyzer:2.12%
Whisper Small:3.74%
Whisper Base:5.42%
Whisper Tiny:7.88%
SFSpeechRecognizer(旧版):9.02%
## 我们为何进行这项测试
随着 iOS 26 和 macOS 26 的发布,Apple 用新的 API——SpeechAnalyzer 和 SpeechTranscriber——替代了 SFSpeechRecognizer。Apple 没有公布这两个 API 的准确率数据。因此,所有开发者都只能凭猜测来决定是否迁移,以及在 Apple 内置语音识别与 Whisper 之间做比较。
我们在 Inscribe(https://get-inscribe.com/index.html)中同时提供了 Apple 引擎和三个 Whisper 模型,Inscribe 是一个私有的设备端 AI 工作空间。这让我们处于一个特殊的位置:我们可以让所有五个引擎在同一台机器、同一段音频上运行完全相同的生产代码路径。于是我们就这样做了。
## 是否应该从 SFSpeechRecognizer 迁移?
是的。这是本次测试数据中最明确的结论。新 API 在相同音频上的词错误率降低了 3.5 到 4 倍:清晰语音从 9.02% 降至 2.12%,嘈杂语音从 16.25% 降至 4.56%。无需权衡准确率——新 API 在我们所有测试场景中都胜出,并且它能输出带标点和大小写的文本,而旧引擎的输出则较为粗糙。
换句话说:用旧 API 转录一小时的会议,错误单词数大约是使用 SpeechAnalyzer 转录同一会议的四倍。如果你的应用仍在用 SFSpeechRecognizer 处理任何超过语音指令长度的内容,仅凭准确率这项优势,迁移就是值得的。
## SpeechAnalyzer vs Whisper
更令人惊讶的结果是:Apple 的新引擎还以明显优势击败了我们集成的最大模型 Whisper Small,在两个测试集上均胜出,而每秒钟音频的处理时间大约只有 Whisper Small 的三分之一。对于英语,在 Apple 硬件上,内置引擎现在是我们能测量到的最强大的设备端选项。
Whisper 仍然保持两个实实在在的优势。它支持的语言数量多得多(SpeechTranscriber 支持大约 30 个地区语言),并且可以在任何平台上运行,不仅限于搭载 OS 26 的 Apple 平台。但对于当前 iPhone 或 Mac 上的英语转录,Whisper 自动成为准确率首选的时代已经结束了。
我们根据这个结果调整了自己的产品:Inscribe 的 Auto 引擎现在在支持的语言上优先使用 SpeechAnalyzer,其他语言则使用 Whisper。如果一个基准测试的结果正确,却在自己的默认设置中忽略它,那将是一种奇怪的诚实。
## 速度
所有五个引擎的运行速度都远快于实时:在 M2 Pro 上大约达到 12 倍到 40 倍的实时速度,即一小时的音频在设备端转录大约需要 1.5 到 5 分钟。SpeechAnalyzer 在每秒钟音频上的处理速度大约是 Whisper Small 的 3 倍,同时准确率更高。我们故意不在此处给出每个引擎精确的计时表:准确率测试运行时,机器还承担着开发工作负载,这不会影响 WER,但会给计时带来噪音。我们将在专门的空闲运行完成后,用计时数据更新本页面。
## 方法论——以及你为何可以验证
一家销售其中一种引擎的公司发布基准测试,理应受到质疑。我们的测试具有两个特性,正是为了应对这种质疑。
### Whisper 列的数据可以复现,与 OpenAI 自己公布的数字一致
我们使用 LibriSpeech 正是为了这个目的:OpenAI 已经发布了 Whisper 在该数据集上的 WER。如果我们的测试工具正确测量了 Whisper,那么我们的数字应该与他们的吻合。结果确实如此,所有六项测量都吻合:
| 引擎 / 测试集 | 我们的结果 | OpenAI 公布结果 | 差值 |
|---------------|------------|----------------|------|
| Whisper Tiny, test-clean | 7.88% | 7.6% | +0.28 |
| Whisper Base, test-clean | 5.42% | 5.0% | +0.42 |
| Whisper Small, test-clean | 3.74% | 3.4% | +0.34 |
| Whisper Tiny, test-other | 17.04% | 16.9% | +0.14 |
| Whisper Base, test-other | 12.51% | 12.4% | +0.11 |
| Whisper Small, test-other | 7.95% | 7.6% | +0.35 |
微小且一致的正向偏移(稍微更严格的文本归一化加上 CoreML 量化)正是诚实复现的表现;随机误差会在两个方向上分散。由于相同的语料库、归一化器和评分器也用于 Apple 引擎的数据列,那些其他人无法直接验证的数字,便继承自任何人都可以验证的数字的确认。
### 原始转录文本已公开
下面提供了两个 Apple 引擎的每条话语假设文本,以及参考文本和每条话语的 WER。不同意我们的归一化方式?可以自己重新评分。
- summary.json (https://get-inscribe.com/data/speech-benchmark/summary.json) —— 所有十项测量结果,机器可读(3KB)
- raw-transcripts-apple.json.gz (https://get-inscribe.com/data/speech-benchmark/raw-transcripts-apple.json.gz) —— SpeechAnalyzer,全部 5,559 条话语(620KB)
- raw-transcripts-legacy.json.gz (https://get-inscribe.com/data/speech-benchmark/raw-transcripts-legacy.json.gz) —— SFSpeechRecognizer,全部 5,559 条话语(620KB)
### 决定 WER 数字是否有意义的关键细节
- **相同的生产代码路径。** 每个引擎都运行了 Inscribe 用户实际使用的代码,而非带有不同缓冲或设置的实验测试工具。
- **文本归一化。** LibriSpeech 的参考文本是大写、无标点、数字拼写的;现代引擎会输出标点和数字。双方都通过相同的归一化器(大小写、标点、数字转单词、缩略语),与 OpenAI 的英语归一化器一致。如果对原始文本评分,你会因为引擎格式优美而惩罚它,而不是因为它听错了。
- **语料库 WER,而非平均 WER。** 总错误数除以总参考词数,因此短话语不会被过度加权。
- **完全设备端,已验证。** SFSpeechRecognizer 默认会将音频发送到 Apple 服务器。我们强制进行设备端识别,并让测试工具在无法本地运行时拒绝执行,而不是静默回退到云端。原因有二:云端结果会使比较无效;而且我们不会从一个隐私产品中上传 5,559 条话语。
- **失败被计入,而非隐藏。** 引擎如果返回空结果,该话语的 WER 计为 100%。在 27,795 次转录中发生过一次(旧版,test-other)。
## 构建本次测试让我们了解到了自己应用的哪些问题
本次基准测试发现了一个 Inscribe 的发布级 bug。我们的 Apple 引擎文件导入功能将音频送入 SpeechAnalyzer 并关闭输入流,但从未调用 `finalizeAndFinishThroughEndOfInput()`。没有这个调用,分析器永远不会发送最终结果,导入就会永远挂起。这个 bug 之前没有被注意到,因为我们的 Auto 设置优先使用 Whisper。修复在当天就发布了,这也是我们公开测试工具细节的原因之一:仔细测量自己的产品,往往会发现你未曾预料的问题。
## 局限性
- **仅限英语。** LibriSpeech 是英语朗读语音。这些数据对 Whisper 支持而 SpeechTranscriber 不支持的那 100 多种语言不提供任何信息。
- **朗读的有声书语音,而非会议。** LibriSpeech 是标准的、可比较的语料库,这也是我们选择它的原因。带口音、远场、多说话人的会议音频是明显的后续方向。
- **仅在一台机器上测试。** M2 Pro,macOS 26.5.1。准确率应该可以在 Apple Silicon 上迁移;速度会因芯片而异。
- **Whisper 通过 WhisperKit CoreML 运行。** 量化的设备端转换,与 Inscribe 发布的构建相同。参考 GPU 实现可能略有不同,验证表已量化了这一点。
## 对于只想获得良好转录体验的用户意味着什么
如果你使用的是当前一代的 iPhone 或 Mac,那么在英语设备端转录方面,最好的引擎已经在操作系统中了,而且隐私选项不再是妥协选项。Inscribe 使用的正是本测试中测量的引擎:在支持你的语言时使用 SpeechAnalyzer,在不支持时使用 Whisper,全部完全在设备端运行,不上传任何内容。基准测试与产品并非分离的;它正是我们决定产品行为方式的基础。
## 相关阅读
- Apple Intelligence 转录 (https://get-inscribe.com/blog/apple-intelligence-transcription.html)
- 最佳离线转录应用 (https://get-inscribe.com/blog/best-offline-transcription-apps.html)
- 隐私保护转录应用 (https://get-inscribe.com/blog/private-transcription-apps.html)
相似文章
如果应用需要实时语音转文字,Whisper 是否仍是最佳默认选择?
探讨在考虑替代方案和性能权衡的情况下,OpenAI 的 Whisper 是否仍是实时语音转文字应用的首选。
openai/whisper-large-v3
OpenAI 发布了 Whisper large-v3,这是一个更新后的自动语音识别模型,使用 128 个梅尔频带和一个新的粤语词元,在 500 万小时的数据上训练,错误率较 large-v2 降低 10-20%。
Whisper 介绍
OpenAI 推出 Whisper,这是一个端到端的编码器-解码器 Transformer 模型,在大规模多样化音频数据上进行训练,可提供强大的多语言语音识别、语言识别和语音到英文翻译功能。Whisper 在多样化数据集上的错误率比专业模型低 50%,并且在语音翻译方面优于有监督基准,尽管未针对特定数据集进行微调。
vaibhavs10/incredibly-fast-whisper
一个高度优化的OpenAI Whisper Large v3版本,使用Transformers、Optimum和Flash Attention 2,能够在Replicate上在2分钟内转录150分钟的音频。
我构建了一个完全本地且快速的MacOS工具,用于文本转语音和听写,运行顶尖AI模型
一位开发者使用先进的AI模型创建了一个用于本地文本转语音和听写的MacOS工具,强调速度和隐私。