WhisperKit 是一个 Swift 包,它将 OpenAI 流行的 Whisper 语音识别模型与 Apple 的 CoreML 框架集成,用于在 Apple 设备上进行高效的本地推理。
在 TestFlight 上查看演示应用。
目录
安装
Swift Package Manager
WhisperKit 可以使用 Swift Package Manager 集成到您的 Swift 项目中。
先决条件
- macOS 14.0 或更高版本。
- Xcode 15.0 或更高版本。
步骤
- 在 Xcode 中打开您的 Swift 项目。
- 导航至
文件
>添加包依赖...
。 - 输入包仓库 URL:
https://github.com/argmaxinc/whisperkit
。 - 选择版本范围或特定版本。
- 点击
完成
将 WhisperKit 添加到您的项目中。
Homebrew
您可以使用 Homebrew 通过运行以下命令安装 WhisperKit
命令行应用:
brew install whisperkit-cli
入门
要开始使用 WhisperKit,您需要在项目中初始化它。
快速示例
此示例演示如何转录本地音频文件:
import WhisperKit
// 使用默认设置初始化 WhisperKit
Task {
let pipe = try? await WhisperKit()
let transcription = try? await pipe!.transcribe(audioPath: "path/to/your/audio.{wav,mp3,m4a,flac}")?.text
print(transcription)
}
模型选择
如果未指定,WhisperKit 会自动下载设备推荐的模型。您也可以通过传入模型名称来选择特定模型:
let pipe = try? await WhisperKit(model: "large-v3")
此方法还支持通配符搜索,因此您可以使用通配符来选择模型:
let pipe = try? await WhisperKit(model: "distil*large-v3")
请注意,模型搜索必须从源仓库返回单个模型,否则将抛出错误。
有关可用模型的列表,请参阅我们的 HuggingFace 仓库。
生成模型
WhisperKit 还附带支持仓库 whisperkittools
,它允许您创建并部署自己的 Whisper 微调版本到 HuggingFace,格式为 CoreML。生成后,只需将仓库名称更改为用于上传模型的名称即可加载:
let pipe = try? await WhisperKit(model: "large-v3", modelRepo: "username/your-model-repo")
Swift CLI
Swift CLI 允许在 Xcode 项目之外进行快速测试和调试。要安装它,请运行以下命令:
git clone https://github.com/argmaxinc/whisperkit.git
cd whisperkit
然后,设置环境并下载您想要的模型。
make setup
make download-model MODEL=large-v3
注意:
- 这将仅下载由
MODEL
指定的模型(请查看我们 HuggingFace 仓库 中的可用模型,我们使用前缀openai_whisper-{MODEL}
) - 在运行
download-model
之前,请确保已安装 git-lfs
如果您想将所有可用模型下载到本地文件夹,请使用以下命令:
make download-models
然后,您可以通过 CLI 运行它们:
swift run whisperkit-cli transcribe --model-path "Models/whisperkit-coreml/openai_whisper-large-v3" --audio-path "path/to/your/audio.{wav,mp3,m4a,flac}"
这将打印音频文件的转录内容。如果您想直接从麦克风流式传输音频,请使用:
swift run whisperkit-cli transcribe --model-path "Models/whisperkit-coreml/openai_whisper-large-v3" --stream
贡献与路线图
我们的目标是随着时间的推移使 WhisperKit 变得越来越好,我们很乐意得到您的帮助!只需在代码中搜索"TODO",就能找到各种尚未构建的功能。请参阅我们的贡献指南,了解提交问题、拉取请求和编码标准的方法,我们还在其中列出了未来计划构建的功能的公开路线图。
许可证
WhisperKit 根据 MIT 许可证发布。有关更多详细信息,请参阅 LICENSE。
引用
如果您将 WhisperKit 用于某些很酷的事情或只是觉得它很有用,请给我们发送邮件至 info@takeargmax.com!
如果您将 WhisperKit 用于学术工作,以下是 BibTeX:
@misc{whisperkit-argmax,
title = {WhisperKit},
author = {Argmax, Inc.},
year = {2024},
URL = {https://github.com/argmaxinc/WhisperKit}
}