WhisperKit é um pacote Swift que integra o popular modelo de reconhecimento de voz Whisper da OpenAI com a estrutura CoreML da Apple para inferência local e eficiente em dispositivos Apple.
Confira o aplicativo de demonstração no TestFlight.
[Postagem no blog] [Repositório de ferramentas Python]
Instalação
Gerenciador de pacotes Swift
Pré-requisitos
Etapas do Xcode
Pacote.swift
Cerveja caseira
Começando
Exemplo rápido
Seleção de modelo
Gerando Modelos
CLI rápido
Contribuição e roteiro
Licença
Citação
O WhisperKit pode ser integrado ao seu projeto Swift usando o Swift Package Manager.
macOS 14.0 ou posterior.
Xcode 15.0 ou posterior.
Abra seu projeto Swift no Xcode.
Navegue até File
> Add Package Dependencies...
.
Insira a URL do repositório do pacote: https://github.com/argmaxinc/whisperkit
.
Escolha o intervalo de versões ou versão específica.
Clique em Finish
para adicionar o WhisperKit ao seu projeto.
Se estiver usando o WhisperKit como parte de um pacote rápido, você pode incluí-lo em suas dependências Package.swift da seguinte maneira:
dependências: [ .package(url: "https://github.com/argmaxinc/WhisperKit.git", de: "0.9.0"),],
Em seguida, adicione WhisperKit
como uma dependência para o seu alvo:
.alvo( nome: "SeuApp", dependências: ["WhisperKit"]),
Você pode instalar o aplicativo de linha de comando WhisperKit
usando Homebrew executando o seguinte comando:
preparar instalar o Whisperkit-cli
Para começar a usar o WhisperKit, você precisa inicializá-lo em seu projeto.
Este exemplo demonstra como transcrever um arquivo de áudio local:
import WhisperKit // Inicializa o WhisperKit com configurações padrãoTask { let pipe = try? aguarde WhisperKit() deixe a transcrição = tente? aguarde pipe!.transcribe(audioPath: "caminho/para/seu/áudio.{wav,mp3,m4a,flac}")?.text print(transcrição)}
O WhisperKit baixa automaticamente o modelo recomendado para o dispositivo, caso não seja especificado. Você também pode selecionar um modelo específico passando o nome do modelo:
deixe pipe = tentar? aguarde WhisperKit(WhisperKitConfig(modelo: "large-v3"))
Este método também oferece suporte à pesquisa global, portanto, você pode usar caracteres curinga para selecionar um modelo:
deixe pipe = tentar? aguarde WhisperKit(WhisperKitConfig(modelo: "distil*large-v3"))
Observe que a pesquisa de modelo deve retornar um único modelo do repositório de origem, caso contrário, um erro será gerado.
Para obter uma lista de modelos disponíveis, consulte nosso repositório HuggingFace.
O WhisperKit também vem com o repositório de suporte whisperkittools
, que permite criar e implantar suas próprias versões ajustadas do Whisper no formato CoreML no HuggingFace. Uma vez gerados, eles podem ser carregados simplesmente alterando o nome do repositório para aquele usado para carregar o modelo:
deixe config = WhisperKitConfig(model: "large-v3", modelRepo: "nome de usuário/seu-model-repo")let pipe = try? aguarde o WhisperKit (configuração)
A CLI do Swift permite testes e depuração rápidos fora de um projeto Xcode. Para instalá-lo, execute o seguinte:
clone do git https://github.com/argmaxinc/whisperkit.gitcd sussurrokit
Em seguida, configure o ambiente e baixe o modelo desejado.
fazer configuração faça download do modelo MODEL = large-v3
Observação :
Isso fará o download apenas do modelo especificado por MODEL
(veja o que está disponível em nosso repositório HuggingFace, onde usamos o prefixo openai_whisper-{MODEL}
)
Antes de executar download-model
, certifique-se de que o git-lfs esteja instalado
Se você quiser baixar todos os modelos disponíveis para sua pasta local, use este comando:
fazer download de modelos
Você pode então executá-los por meio da CLI com:
swift run sussurrokit-cli transcrever --model-path "Modelos/whisperkit-coreml/openai_whisper-large-v3" --audio-path "caminho/para/seu/áudio.{wav,mp3,m4a,flac}"
Que deve imprimir uma transcrição do arquivo de áudio. Se você quiser transmitir o áudio diretamente de um microfone, use:
execução rápida Whisperkit-cli transcrever --model-path "Modelos/whisperkit-coreml/openai_whisper-large-v3" --stream
Nosso objetivo é tornar o WhisperKit cada vez melhor ao longo do tempo e adoraríamos sua ajuda! Basta pesquisar no código “TODO” para uma variedade de recursos que ainda serão criados. Consulte nossas diretrizes de contribuição para enviar problemas, solicitações pull e padrões de codificação, onde também temos um roteiro público de recursos que esperamos construir no futuro.
WhisperKit é lançado sob a licença MIT. Consulte LICENÇA para obter mais detalhes.
Se você usa o WhisperKit para algo legal ou apenas acha que é útil, envie-nos uma mensagem para [email protected]!
Se você usa o WhisperKit para trabalhos acadêmicos, aqui está o BibTeX:
@misc{whisperkit-argmax, título = {WhisperKit}, autor = {Argmax, Inc.}, ano = {2024}, URL = {https://github.com/argmaxinc/WhisperKit}}