WhisperKit es un paquete Swift que integra el popular modelo de reconocimiento de voz Whisper de OpenAI con el marco CoreML de Apple para una inferencia local eficiente en dispositivos Apple.
Consulte la aplicación de demostración en TestFlight.
[Entrada de blog] [Repositorio de herramientas de Python]
Instalación
Administrador de paquetes rápido
Requisitos previos
Pasos de Xcode
Paquete.swift
cerveza casera
Empezando
Ejemplo rápido
Selección de modelo
Generando modelos
CLI rápida
Contribución y hoja de ruta
Licencia
Citación
WhisperKit se puede integrar en su proyecto Swift utilizando Swift Package Manager.
MacOS 14.0 o posterior.
Xcode 15.0 o posterior.
Abra su proyecto Swift en Xcode.
Vaya a File
> Add Package Dependencies...
Ingrese la URL del repositorio de paquetes: https://github.com/argmaxinc/whisperkit
.
Elija el rango de versiones o la versión específica.
Haga clic en Finish
para agregar WhisperKit a su proyecto.
Si está utilizando WhisperKit como parte de un paquete Swift, puede incluirlo en sus dependencias de Package.swift de la siguiente manera:
dependencias: [ .package(url: "https://github.com/argmaxinc/WhisperKit.git", de: "0.9.0"),],
Luego agregue WhisperKit
como una dependencia para su objetivo:
.objetivo( nombre: "TuAplicación", dependencias: ["WhisperKit"]),
Puede instalar la aplicación de línea de comandos WhisperKit
usando Homebrew ejecutando el siguiente comando:
instalar brew susurrkit-cli
Para comenzar con WhisperKit, debes inicializarlo en tu proyecto.
Este ejemplo demuestra cómo transcribir un archivo de audio local:
importar WhisperKit// Inicializar WhisperKit con la configuración predeterminadaTask {let pipe = try? await WhisperKit() dejar transcripción = ¿intentar? ¡espera tubería!.transcribe(audioPath: "ruta/a/tu/audio.{wav,mp3,m4a,flac}")?.text print(transcripción)}
WhisperKit descarga automáticamente el modelo recomendado para el dispositivo si no se especifica. También puede seleccionar un modelo específico pasando el nombre del modelo:
dejar tubería = intentar? await WhisperKit(WhisperKitConfig(modelo: "grande-v3"))
Este método también admite la búsqueda global, por lo que puede utilizar comodines para seleccionar un modelo:
dejar tubería = intentar? await WhisperKit(WhisperKitConfig(modelo: "distil*large-v3"))
Tenga en cuenta que la búsqueda de modelo debe devolver un único modelo del repositorio de origen; de lo contrario, se generará un error.
Para obtener una lista de modelos disponibles, consulte nuestro repositorio de HuggingFace.
WhisperKit también viene con el repositorio de soporte whisperkittools
que le permite crear e implementar sus propias versiones optimizadas de Whisper en formato CoreML en HuggingFace. Una vez generados, se pueden cargar simplemente cambiando el nombre del repositorio por el utilizado para cargar el modelo:
let config = WhisperKitConfig(modelo: "large-v3", modelRepo: "nombre de usuario/su-modelo-repo")let pipe = ¿probar? aguarde WhisperKit(config)
Swift CLI permite realizar pruebas y depuraciones rápidas fuera de un proyecto Xcode. Para instalarlo, ejecute lo siguiente:
clon de git https://github.com/argmaxinc/whisperkit.gitcd susurrokit
Luego, configure el entorno y descargue el modelo que desee.
hacer la configuración hacer modelo de descarga MODELO = grande-v3
Nota :
Esto descargará solo el modelo especificado por MODEL
(consulte lo que está disponible en nuestro repositorio de HuggingFace, donde usamos el prefijo openai_whisper-{MODEL}
)
Antes de ejecutar download-model
, asegúrese de que git-lfs esté instalado
Si desea descargar todos los modelos disponibles a su carpeta local, utilice este comando en su lugar:
hacer modelos de descarga
Luego puede ejecutarlos a través de la CLI con:
ejecución rápida susurrokit-cli transcribe --model-path "Models/whisperkit-coreml/openai_whisper-large-v3" --audio-path "ruta/a/tu/audio.{wav,mp3,m4a,flac}"
Lo cual debería imprimir una transcripción del archivo de audio. Si desea transmitir el audio directamente desde un micrófono, utilice:
ejecución rápida susurrokit-cli transcribir --model-path "Modelos/whisperkit-coreml/openai_whisper-large-v3" --stream
Nuestro objetivo es hacer que WhisperKit sea cada vez mejor con el tiempo y ¡nos encantaría contar con tu ayuda! Simplemente busque el código "TODO" para ver una variedad de funciones que aún están por crearse. Consulte nuestras pautas de contribución para enviar problemas, solicitudes de extracción y estándares de codificación, donde también tenemos una hoja de ruta pública de las características que esperamos desarrollar en el futuro.
WhisperKit se publica bajo la licencia MIT. Consulte LICENCIA para obtener más detalles.
Si usa WhisperKit para algo interesante o simplemente lo encuentra útil, envíenos una nota a [email protected].
Si usa WhisperKit para trabajos académicos, aquí está el BibTeX:
@misc{whisperkit-argmax, título = {WhisperKit}, autor = {Argmax, Inc.}, año = {2024}, URL = {https://github.com/argmaxinc/WhisperKit}}