WhisperKit est un package Swift qui intègre le modèle de reconnaissance vocale Whisper d'OpenAI avec le framework CoreML d'Apple pour une inférence locale efficace sur les appareils Apple.
Découvrez l'application de démonstration sur TestFlight.
[Article de blog] [Dépôt d'outils Python]
Installation
Gestionnaire de paquets Swift
Conditions préalables
Étapes Xcode
Package.swift
Homebrew
Commencer
Exemple rapide
Sélection du modèle
Génération de modèles
CLI rapide
Contribution et feuille de route
Licence
Citation
WhisperKit peut être intégré à votre projet Swift à l'aide du Swift Package Manager.
macOS 14.0 ou version ultérieure.
Xcode 15.0 ou version ultérieure.
Ouvrez votre projet Swift dans Xcode.
Accédez à File
> Add Package Dependencies...
.
Entrez l'URL du référentiel de packages : https://github.com/argmaxinc/whisperkit
.
Choisissez la plage de versions ou la version spécifique.
Cliquez sur Finish
pour ajouter WhisperKit à votre projet.
Si vous utilisez WhisperKit dans le cadre d'un package Swift, vous pouvez l'inclure dans vos dépendances Package.swift comme suit :
dépendances : [ .package(url : "https://github.com/argmaxinc/WhisperKit.git", from : "0.9.0"),],
Ajoutez ensuite WhisperKit
comme dépendance pour votre cible :
.cible( nom : "VotreApp", dépendances : ["WhisperKit"]),
Vous pouvez installer l'application de ligne de commande WhisperKit
à l'aide de Homebrew en exécutant la commande suivante :
Brew installer Whisperkit-cli
Pour démarrer avec WhisperKit, vous devez l'initialiser dans votre projet.
Cet exemple montre comment transcrire un fichier audio local :
import WhisperKit// Initialiser WhisperKit avec les paramètres par défautTask { let pipe = try ? wait WhisperKit() let transcription = try ? wait pipe!.transcribe(audioPath: "chemin/vers/votre/audio.{wav,mp3,m4a,flac}")?.text print(transcription)}
WhisperKit télécharge automatiquement le modèle recommandé pour l'appareil s'il n'est pas spécifié. Vous pouvez également sélectionner un modèle spécifique en passant le nom du modèle :
laisser pipe = essayer ? attendre WhisperKit(WhisperKitConfig(modèle : "large-v3"))
Cette méthode prend également en charge la recherche globale, vous pouvez donc utiliser des caractères génériques pour sélectionner un modèle :
laisser pipe = essayer ? attendre WhisperKit(WhisperKitConfig(modèle : "distil*large-v3"))
Notez que la recherche de modèle doit renvoyer un seul modèle du dépôt source, sinon une erreur sera générée.
Pour une liste des modèles disponibles, consultez notre dépôt HuggingFace.
WhisperKit est également livré avec les outils de dépôt whisperkittools
qui vous permettent de créer et de déployer vos propres versions affinées de Whisper au format CoreML sur HuggingFace. Une fois générés, ils peuvent être chargés en changeant simplement le nom du dépôt par celui utilisé pour télécharger le modèle :
let config = WhisperKitConfig(modèle : "large-v3", modelRepo : "nom d'utilisateur/votre-modèle-repo")let pipe = try ? attendre WhisperKit (config)
La CLI Swift permet des tests et un débogage rapides en dehors d'un projet Xcode. Pour l'installer, exécutez ce qui suit :
clone git https://github.com/argmaxinc/whisperkit.gitcd murmurkit
Ensuite, configurez l'environnement et téléchargez le modèle souhaité.
faire la configuration make download-model MODEL=large-v3
Note :
Cela téléchargera uniquement le modèle spécifié par MODEL
(voir ce qui est disponible dans notre dépôt HuggingFace, où nous utilisons le préfixe openai_whisper-{MODEL}
)
Avant d'exécuter download-model
, assurez-vous que git-lfs est installé
Si vous souhaitez télécharger tous les modèles disponibles dans votre dossier local, utilisez plutôt cette commande :
créer des modèles à télécharger
Vous pouvez ensuite les exécuter via la CLI avec :
Swift Run Whisperkit-cli Transcribe --model-path "Models/whisperkit-coreml/openai_whisper-large-v3" --audio-path "chemin/vers/votre/audio.{wav,mp3,m4a,flac}"
Ce qui devrait imprimer une transcription du fichier audio. Si vous souhaitez diffuser l'audio directement à partir d'un microphone, utilisez :
Swift Run Whisperkit-cli Transcribe --model-path "Models/whisperkit-coreml/openai_whisper-large-v3" --stream
Notre objectif est d'améliorer WhisperKit au fil du temps et nous aimerions votre aide ! Recherchez simplement le code « TODO » pour une variété de fonctionnalités qui doivent encore être construites. Veuillez vous référer à nos directives de contribution pour soumettre des problèmes, des demandes d'extraction et des normes de codage, où nous avons également une feuille de route publique des fonctionnalités que nous sommes impatients de créer à l'avenir.
WhisperKit est publié sous la licence MIT. Voir LICENCE pour plus de détails.
Si vous utilisez WhisperKit pour quelque chose de sympa ou si vous le trouvez simplement utile, envoyez-nous un message à [email protected] !
Si vous utilisez WhisperKit pour des travaux académiques, voici le BibTeX :
@misc{whisperkit-argmax, titre = {WhisperKit}, auteur = {Argmax, Inc.}, année = {2024}, URL = {https://github.com/argmaxinc/WhisperKit}}