WhisperKit — это пакет Swift, который объединяет популярную модель распознавания речи Whisper от OpenAI с платформой Apple CoreML для эффективного локального вывода на устройствах Apple.
Посмотрите демо-приложение на TestFlight.
[Сообщение в блоге] [Репозиторий инструментов Python]
Установка
Менеджер пакетов Swift
Предварительные условия
Шаги Xcode
Пакет.swift
Домашнее пиво
Начиная
Быстрый пример
Выбор модели
Создание моделей
Swift CLI
Вклад и дорожная карта
Лицензия
Цитирование
WhisperKit можно интегрировать в ваш проект Swift с помощью диспетчера пакетов Swift.
macOS 14.0 или новее.
Xcode 15.0 или новее.
Откройте свой проект Swift в Xcode.
Перейдите в File
> Add Package Dependencies...
.
Введите URL-адрес репозитория пакетов: https://github.com/argmaxinc/whisperkit
.
Выберите диапазон версий или конкретную версию.
Нажмите Finish
, чтобы добавить WhisperKit в свой проект.
Если вы используете WhisperKit как часть быстрого пакета, вы можете включить его в свои зависимости Package.swift следующим образом:
зависимости: [ .package(url: "https://github.com/argmaxinc/WhisperKit.git", from: "0.9.0"),],],
Затем добавьте WhisperKit
в качестве зависимости для вашей цели:
.цель( имя: «YourApp», зависимости: ["WhisperKit"]),
Вы можете установить приложение командной строки WhisperKit
с помощью Homebrew, выполнив следующую команду:
заварить установку шепота-cli
Чтобы начать работу с WhisperKit, вам необходимо инициализировать его в своем проекте.
В этом примере показано, как расшифровать локальный аудиофайл:
import WhisperKit // Инициализировать WhisperKit с настройками по умолчанию. Task { let Pipe = try? ждать WhisperKit(), пусть транскрипция = попробовать? await Pipe!.transcribe(audioPath: "путь/к/вашему/аудио.{wav,mp3,m4a,flac}")?.text print(транскрипция)}
WhisperKit автоматически загружает рекомендуемую модель устройства, если она не указана. Вы также можете выбрать конкретную модель, указав название модели:
пусть труба = попробовать? ожидайте WhisperKit(WhisperKitConfig(модель: "large-v3"))
Этот метод также поддерживает поиск по глобальным значениям, поэтому для выбора модели можно использовать подстановочные знаки:
пусть труба = попробовать? ожидайте WhisperKit(WhisperKitConfig(модель: "distil*large-v3"))
Обратите внимание, что поиск модели должен возвращать одну модель из исходного репозитория, иначе будет выдана ошибка.
Список доступных моделей можно найти в нашем репозитории HuggingFace.
WhisperKit также поставляется с вспомогательным whisperkittools
, который позволяет вам создавать и развертывать свои собственные точно настроенные версии Whisper в формате CoreML в HuggingFace. После создания их можно загрузить, просто изменив имя репозитория на то, которое использовалось для загрузки модели:
let config = WhisperKitConfig (модель: «large-v3», modelRepo: «имя пользователя/ваша-модель-репо») let Pipe = попробовать? ожидайте WhisperKit (конфигурация)
Swift CLI позволяет быстро тестировать и отлаживать вне проекта Xcode. Чтобы установить его, выполните следующее:
git клон https://github.com/argmaxinc/whisperkit.gitcd шепоткит
Затем настройте среду и загрузите нужную модель.
выполнить настройку сделать модель загрузки MODEL=large-v3
Примечание :
При этом будет загружена только модель, указанная в MODEL
(см. то, что доступно в нашем репозитории HuggingFace, где мы используем префикс openai_whisper-{MODEL}
).
Перед запуском download-model
убедитесь, что установлен git-lfs.
Если вы хотите загрузить все доступные модели в свою локальную папку, используйте вместо этого следующую команду:
сделать модели для скачивания
Затем вы можете запустить их через CLI с помощью:
Swift Run расшифровка шепч-кит-cli --model-path "Models/whisperkit-coreml/openai_whisper-large-v3" --audio-path "путь/к/вашему/аудио.{wav,mp3,m4a,flac}"
Который должен напечатать транскрипцию аудиофайла. Если вы хотите транслировать звук напрямую с микрофона, используйте:
Swift Run расшифровка шепота-cli --model-path "Models/whisperkit-coreml/openai_whisper-large-v3" --stream
Наша цель — с течением времени делать WhisperKit все лучше и лучше, и мы будем рады вашей помощи! Просто найдите код «TODO» для множества функций, которые еще предстоит создать. Пожалуйста, ознакомьтесь с нашими рекомендациями по отправке проблем, запросам на включение и стандартам кодирования, где у нас также есть общедоступный план функций, которые мы с нетерпением ждем создания в будущем.
WhisperKit выпускается под лицензией MIT. Подробнее см. ЛИЦЕНЗИЯ.
Если вы используете WhisperKit для чего-то интересного или просто считаете его полезным, напишите нам по адресу [email protected]!
Если вы используете WhisperKit для академической работы, вот BibTeX:
@misc{whisperkit-argmax, title = {WhisperKit}, автор = {Argmax, Inc.}, год = {2024}, URL = {https://github.com/argmaxinc/WhisperKit}}