WhisperKit 是一个 Swift 软件包,它将 OpenAI 流行的 Whisper 语音识别模型与 Apple 的 CoreML 框架集成在一起,以便在 Apple 设备上进行高效的本地推理。
查看 TestFlight 上的演示应用程序。
[博客文章] [Python 工具存储库]
安装
斯威夫特包管理器
先决条件
Xcode步骤
包.swift
自制
入门
快速示例
选型
生成模型
斯威夫特命令行界面
贡献和路线图
执照
引文
WhisperKit 可以使用 Swift 包管理器集成到您的 Swift 项目中。
macOS 14.0 或更高版本。
Xcode 15.0 或更高版本。
在 Xcode 中打开您的 Swift 项目。
导航到File
> Add Package Dependencies...
输入包存储库 URL:https: https://github.com/argmaxinc/whisperkit
。
选择版本范围或特定版本。
单击Finish
将 WhisperKit 添加到您的项目中。
如果您将 WhisperKit 作为 swift 包的一部分使用,则可以将其包含在 Package.swift 依赖项中,如下所示:
依赖项:[ .package(url:“https://github.com/argmaxinc/WhisperKit.git”,来自:“0.9.0”),],
然后添加WhisperKit
作为目标的依赖项:
。目标( 名称:“你的应用程序”, 依赖项:[“WhisperKit”]),
您可以通过运行以下命令使用 Homebrew 安装WhisperKit
命令行应用程序:
酿造安装whisperkit-cli
要开始使用 WhisperKit,您需要在项目中对其进行初始化。
此示例演示如何转录本地音频文件:
import WhisperKit// 使用默认设置初始化 WhisperKitTask { let pipeline = try?等待 WhisperKit() 让转录 = 尝试?等待管道!.transcribe(audioPath:“路径/到/你的/音频。{wav,mp3,m4a,flac}”)?.text print(转录)}
如果未指定,WhisperKit 会自动下载设备的推荐型号。您还可以通过传入模型名称来选择特定模型:
让管道=尝试?等待 WhisperKit(WhisperKitConfig(型号:“large-v3”))
该方法还支持全局搜索,因此您可以使用通配符来选择模型:
让管道=尝试?等待 WhisperKit(WhisperKitConfig(model: "distil*large-v3"))
请注意,模型搜索必须从源存储库返回单个模型,否则将引发错误。
有关可用模型的列表,请参阅我们的 HuggingFace 存储库。
WhisperKit 还附带支持存储库whisperkittools
,可让您创建 CoreML 格式的 Whisper 微调版本并将其部署到 HuggingFace。生成后,只需将存储库名称更改为用于上传模型的名称即可加载它们:
let config = WhisperKitConfig(model: "large-v3", modelRepo: "username/your-model-repo")let pipeline = 尝试吗?等待 WhisperKit(配置)
Swift CLI 允许在 Xcode 项目之外进行快速测试和调试。要安装它,请运行以下命令:
git 克隆 https://github.com/argmaxinc/whisperkit.gitcd Whisperkit
然后,设置环境并下载所需的模型。
进行设置 使下载模型 MODEL=large-v3
笔记:
这将仅下载MODEL
指定的模型(请参阅我们的 HuggingFace 存储库中可用的内容,其中我们使用前缀openai_whisper-{MODEL}
)
在运行download-model
之前,请确保已安装 git-lfs
如果您想将所有可用模型下载到本地文件夹,请改用以下命令:
制作下载模型
然后您可以通过 CLI 运行它们:
快速运行 Whisperkit-cli transcribe --model-path "Models/whisperkit-coreml/openai_whisper-large-v3" --audio-path "path/to/your/audio.{wav,mp3,m4a,flac}"
它应该打印音频文件的转录。如果您想直接从麦克风传输音频,请使用:
快速运行 Whisperkit-cli transcribe --model-path "Models/whisperkit-coreml/openai_whisper-large-v3" --stream
我们的目标是随着时间的推移让 WhisperKit 变得越来越好,我们希望得到您的帮助!只需在代码中搜索“TODO”即可找到各种尚未构建的功能。请参阅我们关于提交问题、拉取请求和编码标准的贡献指南,其中我们还提供了我们期待在未来构建的功能的公共路线图。
WhisperKit 是根据 MIT 许可证发布的。有关更多详细信息,请参阅许可证。
如果您使用 WhisperKit 来做一些很酷的事情或者只是觉得它有用,请给我们留言:[email protected]!
如果您使用 WhisperKit 进行学术工作,这里是 BibTeX:
@misc{whisperkit-argmax,标题 = {WhisperKit},作者 = {Argmax, Inc.},年份 = {2024},URL = {https://github.com/argmaxinc/WhisperKit}}