AI 新发布 ·

AnySpeechRecognizer:功能、模型与使用指南

AnySpeechRecognizer 是一个开源 Swift 软件包,利用 Core ML 将第三方语音识别模型和说话人日志功能引入 Apple 平台。它镜像了 Apple 的 Speech 框架,允许开发者自由替换为 NVIDIA Parakeet 和阿里 Qwen3-ASR 等模型。

重点
  • 它实现了 Apple 的 SpeechAnalyzer API,同时支持 Core ML 本地开源模型。
  • 支持的语音引擎包括 NVIDIA Parakeet 变体与阿里 Qwen3-ASR。
  • 内置说话人日志功能,使用 NVIDIA Streaming Sortformer 跟踪多达四位说话人。
  • 模型可直接从 Hugging Face Hub 下载至本地标准缓存。
本文内容
  1. 什么是 AnySpeechRecognizer?
  2. 支持的语音识别模型
  3. 使用 Sortformer 进行说话人日志区分
  4. 如何配置和使用 AnySpeechRecognizer
  5. 限制与系统要求
  6. 常见问题

什么是 AnySpeechRecognizer?

AnySpeechRecognizer 是由 Hugging Face 开发的 Swift 软件包,它实现了 Apple 的语音转文本 API,同时允许开发者选择其他识别引擎。它镜像了 macOS 26 和 iOS 26 中引入的 SpeechAnalyzer 框架,可以使用 Apple 的默认引擎或运行在 Core ML 上的本地模型。

该软件包还引入了说话人日志(speaker diarization)功能,可以跟踪谁在何时说话。通过在设备端运行开源模型,它允许开发者在不将数据发送到外部云服务的情况下转录音频。

AnySpeechRecognizer 概览
开发者
Hugging Face
目标平台
macOS 26+、iOS 26+
语音模型
Apple Speech、NVIDIA Parakeet、阿里 Qwen3-ASR
说话人日志模型
NVIDIA Streaming Sortformer (v2, v2.1)
运行时引擎
Core ML 与 GPU
软件包语言
Swift

支持的语音识别模型

AnySpeechRecognizer 支持多个已转换为 Core ML 格式并托管在 Hugging Face Hub 上的开源语音转文本模型。开发者可以根据语言需求、延迟需求以及可用存储空间来选择模型。

NVIDIA Parakeet v3 支持 25 种欧洲语言,具备自动语言检测、实时临时结果、词级时间戳和词级置信度得分。Moondream 对 Parakeet Ultra 变体进行了后训练以获得更高准确率,而 Parakeet Unified EN 则仅针对英文。Parakeet 模型下载大小约为 600 MB,另外可选配 590 MB 的流式编码器。

阿里 Qwen3-ASR 提供 0.6B 和 1.7B 参数版本,需要 0.9 GB 至 2.4 GB 的存储空间。它支持 30 种语言和 22 种中文方言,包括粤语、普通话、日语和韩语,但它在 GPU 上运行,以长达 40 秒的切片块处理文件,不支持词级时间戳或实时流式临时结果。

AnySpeechRecognizer 支持的模型对比
模型规模语言覆盖范围实时流式功能下载大小
Parakeet TDT v30.6B25 种欧洲语言词级时间戳、置信度、临时结果~600 MB(+590 MB 实时编码器)
Parakeet Ultra0.6B25 种欧洲语言词级时间戳、置信度、临时结果~600 MB(+590 MB 实时编码器)
Parakeet Unified EN0.6B仅限英文词级时间戳、置信度、临时结果~600 MB(+590 MB 实时编码器)
Qwen3-ASR0.6B, 1.7B30 种语言及 22 种中文方言每 40 秒切片输出单一最终结果0.9 GB 至 2.4 GB
Streaming Sortformer未说明未说明最多支持 4 位同时说话人~250 MB

使用 Sortformer 进行说话人日志区分

AnySpeechRecognizer 为 Apple 的 API 补充了说话人日志功能,这是默认 Speech 框架所缺失的能力。它整合了 NVIDIA 的 Streaming Sortformer 模型,以检测对话期间是谁在说话。

该日志分析器可同时跟踪多达四位不同的说话人,即使他们的声音重叠也是如此。名为 SpeakerTimeline 的组件会将日志分析器的输出与转录器的词级时间戳对齐,使应用能够显示按说话人轮次分段的格式化逐字稿。

该软件包默认使用 Sortformer v2,并提供 Sortformer v2.1 作为可选方案。Hugging Face 指出,Sortformer v2.1 在额外的会议音频上进行过训练,在会议测试中表现出更高的准确率。

如何配置和使用 AnySpeechRecognizer

AnySpeechRecognizer 旨在作为 Swift 中 Apple SpeechAnalyzer 框架的无缝替代方案。开发者可以通过更新框架导入并初始化自定义模型配置,来替换 Apple 的原生引擎。

  1. 将 AnySpeechRecognizer 软件包添加到你的 Swift 项目中,并在源文件中导入 Speech 和 AnySpeechRecognizer。
  2. 使用你选择的模型配置初始化 SpeechTranscriber,例如 ParakeetSpeechModel(variant: .v3) 或 QwenSpeechModel。
  3. (可选)使用 SortformerDiarizationModel() 初始化 SpeakerDiarizer 以跟踪说话人轮次。
  4. 传入你的模块并调用 AssetInventory.assetInstallationRequest,然后等待 downloadAndInstall() 从 Hugging Face Hub 下载 Core ML 模型权重。
  5. 使用你的转录器和日志分析器模块初始化 SpeechAnalyzer,然后传入音频文件或实时音频流缓冲区以接收转录序列。
提示

在 App Store 沙盒之外运行的 Mac 应用会将下载的权重存储在标准 Hugging Face 缓存文件夹中,从而允许与本地 Python 脚本直接共享模型。

限制与系统要求

AnySpeechRecognizer 需要支持 SpeechAnalyzer 的 Apple 操作系统版本,具体为 macOS 26 或 iOS 26 及更高版本。该软件包由 Hugging Face 在搭载 M4 Max 的 Mac Studio 上使用 macOS 27.0.1 进行了基准测试。

硬件需求因模型而异。Qwen3-ASR 在 GPU 上执行,速度明显慢于 Parakeet,因此在实时麦克风转录中的实用性较低。它也缺乏对部分临时结果、词级时间戳和置信度得分的支持。

Parakeet 提供更快的处理速度,但需要额外的 8 秒实时编码器模块来降低实时延迟。Hugging Face 报告指出,虽然此实时编码器将分析时间缩短了约三分之一,但会导致词错率(WER)略有上升。

常见问题

什么是 AnySpeechRecognizer?
AnySpeechRecognizer 是由 Hugging Face 创建的开源 Swift 库。它实现了 Apple 的 SpeechAnalyzer API,同时允许开发者在设备端运行 Parakeet 和 Qwen3-ASR 等开源 Core ML 模型。
AnySpeechRecognizer 支持哪些语言?
语言支持取决于所选的引擎。NVIDIA Parakeet 支持 25 种欧洲语言,而阿里 Qwen3-ASR 支持 30 种语言及 22 种中文方言,包括粤语、普通话、日语和韩语。
AnySpeechRecognizer 是否包含说话人日志功能?
是的,AnySpeechRecognizer 包含由 NVIDIA Streaming Sortformer 驱动的 SpeakerDiarizer 模块。它可以在与转录文本相同的计时线上同时区分和跟踪多达四位说话人。
我可以向 AnySpeechRecognizer 添加自定义语音模型吗?
是的,开发者可以将自定义语音引擎连接到 AnySpeechRecognizer。该软件包通过实现用于配置的 SpeechRecognitionModel 协议和用于会话执行的 SpeechRecognitionExecutor 协议来实现此功能。
AnySpeechRecognizer 的模型文件存储在哪里?
AnySpeechRecognizer 的模型资源会根据需要从 Hugging Face Hub 仓库下载。在没有应用沙盒限制的 macOS 上,文件会存储在标准 Hugging Face 缓存目录中。

资料来源:Hugging Face

想让 AI 给出的答案是你的品牌?

免费检查你的网站对 ChatGPT、Gemini 与 Perplexity 准备得有多好,约十秒完成。

延伸阅读:原生应用程序还是网页应用程序?2026 年该怎么选