← 返回信息流
AI 资讯Hacker News·6 小时前

苹果新语音分析API与Whisper及前代对比测评

原标题:Apple's new SpeechAnalyzer API, benchmarked against Whisper and its predecessor

速览

苹果推出新的语音分析API SpeechAnalyzer,官方将其与OpenAI的Whisper模型以及苹果之前的语音分析模型进行基准对比测试。该API旨在提供更高的准确性和效率,可能用于Siri等语音助手及iOS应用。此举显示苹果在AI语音领域加速自主研发。

AI 深度解读

背景

2025年,Apple 随 iOS 26 和 macOS 26 推出了新的语音识别 API:SpeechAnalyzer(用于实时流式转录)和 SpeechTranscriber(用于批量转录),取代了旧的 SFSpeechRecognizer。然而,Apple 没有公布任何精度指标,导致开发者无法判断是否应该迁移,也无法与第三方引擎(如 OpenAI 的 Whisper)进行量化比较。Inscribe 是一家提供私有、本地化 AI 工作空间的公司,同时集成了 Apple 的两个引擎和三个 Whisper 模型,因此有机会在相同的生产代码路径、相同的硬件和相同的音频上对它们进行严格对比。本文即基于该基准测试的结果。

核心内容

结果概述

Apple 的新引擎 SpeechAnalyzer 是所有已测试的本地语音引擎中精确度最高的。在 LibriSpeech 数据集的两个子集(干净语音 test-clean 和噪声语音 test-other)上,它均击败了 Inscribe 交付的所有 Whisper 模型(包括最大模型 Whisper Small),同时运行速度约为 Whisper Small 的 3 倍。被取代的旧 API SFSpeechRecognizer 在干净语音上表现最差,甚至落后于仅 40MB 的 Whisper Tiny。

关键精度指标(字错误率 WER,越低越好):

| 引擎 | LibriSpeech test-clean | LibriSpeech test-other | |------|------------------------|------------------------| | SFSpeechRecognizer(旧) | 9.02% | 16.25% | | SpeechAnalyzer(新) | 2.12% | 4.56% | | Whisper Small | 约 2.6% | 约 5.6% | | Whisper Tiny | 约 8.3% | 约 14.5% |

所有引擎均在 Apple M2 Pro(32GB,macOS 26.5.1)上完全本地运行,没有云端调用。

对旧 API 的迁移建议

明确建议迁移。 从旧 API 切换到新 API,同一音频的 WER 降低了 3.5 到 4 倍:干净语音从 9.02% 降至 2.12%,噪声语音从 16.25% 降至 4.56%。没有权衡准确性的必要——新 API 在所有测量维度上更优,并且输出含标点、区分大小写的文字,而旧引擎输出更粗糙。对于一个一小时的会议,旧 API 的错误词数大约是新 API 的 4 倍。如果应用仍在用 SFSpeechRecognizer 处理超过语音命令长度的内容,仅凭精度提升就值得迁移。

SpeechAnalyzer 与 Whisper 对比

更令人惊讶的结果是:Apple 的新引擎甚至以舒适的优势击败了 Inscribe 所交付的最大模型 Whisper Small,同时每秒钟音频的计算时间仅为 Whisper Small 的三分之一。对于英语,在 Apple 硬件上,内置引擎现在是可以测量的最强本地选项。

Whisper 仍有两个显著优势:

  • 支持更多语言(SpeechTranscriber 仅支持约 30 个区域设置,而 Whisper 支持 100+ 语言)。
  • 可跨平台运行,不限于 Apple 平台(需 OS 26)。

但对于当前 iPhone 或 Mac 上的英语转录,Whisper 自动成为精度首选的时代已经结束。Inscribe 已根据这一结果调整了产品:其 Auto 引擎现在优先使用 SpeechAnalyzer(对支持的语言),其余语言则回退到 Whisper。

速度

所有五个引擎均远快于实时:在 M2 Pro 上,速度约为 12x 到 40x(即一小时音频本地转录约需 1.5 到 5 分钟)。SpeechAnalyzer 每秒钟音频的处理速度约为 Whisper Small 的 3 倍,同时精度更高。作者故意未给出精确的逐引擎计时表,因为精度测试期间机器同时运行了开发负载(不影响 WER,但会干扰计时),后续将用专用空闲机器更新。

方法学与可复现性

基准测试由销售其中一款引擎的公司(Inscribe)进行,理应受到质疑。作者为此设计了两个特性:

  1. Whisper 列可复现:OpenAI 已公布 Whisper 在 LibriSpeech 上的 WER,Inscribe 的测量结果与 OpenAI 的官方数据一致(所有六项测量均匹配,仅有微小正向偏移,原因是更严格的文本归一化和 CoreML 量化)。由于相同的语料库、归一化器和评分器被用于 Apple 引擎列,这些无人可验证的数据也继承了来自公开数据的验证。

  2. 原始转录文本公开:两个 Apple 引擎的每个话语的假设结果均可下载,附有参考文本和逐话语 WER。任何人都可以重新评分。

使 WER 有意义的细节

  • 统一的生产代码路径:每个引擎运行的是 Inscribe 用户实际使用的代码,而非实验室环境。
  • 文本归一化:LibriSpeech 参考文本为大写、无标点、数字拼写;现代引擎输出标点和数字。两者均通过相同的归一化器(大小写、标点、数字转单词、缩写),与 OpenAI 的英语归一化器一致。直接对原始文本评分会惩罚格式良好的引擎,而非测听错误。
  • 语料级 WER:总错误数除以总参考词数,避免短话语被过度加权。
  • 完全本地运行并验证:SFSpeechRecognizer 默认发送音频到 Apple 服务器,测试中强制本地识别,并让 harness 拒绝运行而非静默回退到云端,既避免云端结果无效化比较,也因隐私产品不打算上传 5,559 条话语。
  • 失败计数:引擎返回空结果时,该话语 WER 计为 100%。在 27,795 次转录中仅发生一次(旧 API,test-other)。

构建测试对自身产品的启发

基准测试发现了一个 Inscribe 的生产 bug:Apple 引擎的文件导入功能将音频传给 SpeechAnalyzer 后关闭了输入流,但从未调用 finalizeAndFinishThroughEndOfInput()。缺少该调用导致分析器从不交付最终结果,导入永久挂起。该 bug 未被发现,因为 Auto 设置此前优先使用 Whisper。修复在同一天部署。作者将此作为例子说明:仔细测量自己的产品往往能发现你并未寻找的问题。

局限性

  • 仅英语:LibriSpeech 是英语朗读语音,测试结果不适用于 Whisper 支持而 SpeechTranscriber 不支持的 100+ 语言。
  • 朗读语音,非会议:LibriSpeech 是标准可比语料库,带口音、远场和多说话人的会议音频是明显的后续方向。
  • 单一机器:M2 Pro,macOS 26.5.1。精度在 Apple Silicon 上应可
查看原文 →get-inscribe.com