
Swift 语音识别框架实现Apple设备本地推理
WhisperKit是一个集成OpenAI Whisper模型和Apple CoreML框架的Swift语音识别包。该框架支持Apple设备上的本地推理,具有自动选择适用模型、自定义模型部署等功能。WhisperKit提供音频转录API和命令行工具,便于开发者使用和测试。作为开源项目,WhisperKit欢迎社区贡献,不断优化其性能和功能。
WhisperKit 是一个 Swift 包,它将 OpenAI 流行的 Whisper 语音识别模型与 Apple 的 CoreML 框架集成,用于在 Apple 设备上进行高效的本地推理。
在 TestFlight 上查看演示应用。
WhisperKit 可以使用 Swift Package Manager 集成到您的 Swift 项目中。
文件 > 添加包依赖...。https://github.com/argmaxinc/whisperkit。完成 将 WhisperKit 添加到您的项目中。您可以使用 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 允许在 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} }