Whisper local no Mac: o que ele exige, quanto custa e como rodar

Whisper local significa rodar o modelo de voz Whisper, da OpenAI, no seu próprio Mac, para que o seu áudio vire texto na máquina e não em um servidor em algum lugar. No Mac, o motor que vale conhecer é o whisper.cpp, que trata o chip da Apple como cidadão de primeira classe, e a decisão que importa é o arquivo do modelo: modelos maiores ouvem melhor e ocupam mais espaço em disco e mais memória.

Explico como as peças se encaixam, o que cada tamanho de modelo custa segundo os números do próprio whisper.cpp, os comandos para rodá-lo por conta própria e onde o YapToText entra. Eu criei o YapToText, um app gratuito que roda o whisper.cpp com o arquivo padrão do Whisper Large v3 Turbo (Q5), então pese essa parte com isso em mente. Se você só quer saber se existe um app Whisper para Mac, a página do app Whisper para Mac responde.

Baixar o YapToText na Mac App StoreDownload gratuito. Sem conta e sem nada bloqueado, para macOS 14 ou posterior em um Mac com chip da Apple. Código-fonte no GitHub.

Nesta página: 12 seções
  1. Passos
  2. Conheça as três peças do Whisper local
  3. Escolha um modelo pelo espaço em disco e pela memória
  4. Rode o Whisper por conta própria com o whisper.cpp
    1. Passo 1: pegue o código e um modelo
    2. Passo 2: compile e transcreva o exemplo
    3. Passo 3: converta o seu áudio antes
    4. Ou use o pacote Python da OpenAI
  5. Use o mesmo modelo no YapToText sem o Terminal
  6. Se o Whisper local estiver lento ou ouvir errado
  7. O que o Whisper local não muda
  8. Resumindo
  9. Guias
  10. Mais guias, em inglês
  11. Fontes
  12. Perguntas

Passos

  1. Clone o repositório do whisper.cpp do GitHub e abra a pasta dele no Terminal.
  2. Baixe um modelo com o script download-ggml-model.sh do projeto, como o large-v3-turbo-q5_0.
  3. Compile o projeto com o CMake, usando os dois comandos cmake do README.
  4. Converta a sua gravação para um arquivo WAV de 16 bits, por exemplo com o ffmpeg.
  5. Rode o whisper-cli com o arquivo do modelo e o seu arquivo WAV, e leia a transcrição no Terminal.

Conheça as três peças do Whisper local

O Whisper local tem três peças, e as três ficam no seu Mac. O modelo é um arquivo, o motor o executa e o seu áudio nunca precisa sair da máquina.

  • O modelo. O Whisper é o modelo de reconhecimento de voz da OpenAI, e a OpenAI liberou o código e os pesos do modelo sob a licença MIT. Você baixa um arquivo de modelo uma vez, e esse arquivo faz a escuta.
  • O motor. O whisper.cpp é uma implementação do Whisper em C e C++ puros, também sob a licença MIT. O README dele chama o chip da Apple de cidadão de primeira classe, otimizado por ARM NEON, Accelerate, Metal e Core ML, e diz que no chip da Apple a inferência roda inteira na GPU pelo Metal. O pacote da própria OpenAI roda o Whisper em Python.
  • O seu áudio. Uma gravação ou o seu microfone entra, e o texto sai. A internet só é necessária para baixar o arquivo do modelo na primeira vez.

Isso é o que o separa de um serviço na nuvem: nada é enviado para ser transcrito. Também significa que o seu Mac faz o trabalho, então o modelo que você escolhe decide quanta memória e quanto espaço em disco esse trabalho ocupa.

Pôster da App Store com o título Nothing leaves your Mac, sobre a página AI Models do YapToText com os dois modelos marcados como Included.
Figura 1. O modelo e o motor em uma linha no YapToText: Whisper Large v3 Turbo (Q5), da OpenAI, executado pelo whisper.cpp, com 574 MB e marcado como Included.

Escolha um modelo pelo espaço em disco e pela memória

O whisper.cpp publica quanto cada modelo ocupa em disco e na memória, e a OpenAI publica quantos parâmetros cada um tem. O Turbo é a versão mais rápida do large-v3 da OpenAI, e o arquivo de 5 bits dele ocupa cerca de um quinto do espaço em disco do large.

Conferido em 3 de outubro de 2026, no README e na lista de modelos do whisper.cpp e no README do Whisper da OpenAI.

ModeloParâmetros (OpenAI)Arquivo em disco (whisper.cpp)Memória (whisper.cpp)
tiny39 M75 MiBCerca de 273 MB
base74 M142 MiBCerca de 388 MB
small244 M466 MiBCerca de 852 MB
medium769 M1,5 GiBCerca de 2,1 GB
large (v1, v2 ou v3)1550 M2,9 GiBCerca de 3,9 GB
large-v3, 5 bits (q5_0)large-v3 quantizado1,1 GiBNão listada
large-v3-turbo809 M1,5 GiBNão listada
large-v3-turbo, 5 bits (q5_0)Turbo quantizado547 MiBNão listada

MiB e GiB contam em passos de 1.024, então o arquivo turbo de 547 MiB da lista do whisper.cpp é o mesmo arquivo que o YapToText mostra como 574 MB. É assim que duas páginas honestas podem listar um mesmo arquivo como 547 e 574 e as duas estarem certas. A tabela de memória do whisper.cpp cobre os cinco tamanhos originais e não dá número para o turbo nem para os arquivos quantizados.

A página AI Models do YapToText: Whisper Large v3 Turbo (Q5) e Phi-3.5 Mini Instruct marcados como Included, com a biblioteca de modelos abaixo.
Figura 2. O YapToText mostra os tamanhos em MB, e por isso o arquivo turbo que o whisper.cpp lista como 547 MiB aparece aqui como 574 MB, com os outros modelos Whisper listados abaixo.

Mais algumas observações dos dois projetos:

  • Modelos só em inglês. tiny, base, small e medium também vêm como arquivos .en do mesmo tamanho que ouvem só inglês. A OpenAI diz que eles tendem a se sair melhor em inglês, principalmente tiny.en e base.en, e que a diferença diminui em small.en e medium.en.
  • Modelos quantizados. Os arquivos terminados em q5_0 são quantizados. O whisper.cpp diz que modelos quantizados precisam de menos memória e espaço em disco e, conforme o hardware, podem ser processados com mais eficiência.
  • Turbo. A OpenAI o chama de versão otimizada do large-v3, com transcrição mais rápida e uma degradação mínima de precisão, e o avalia em cerca de 8 vezes a velocidade do large. Essa proporção foi medida em uma A100, e não em um Mac, e a OpenAI diz que o turbo não é treinado para tradução.
  • Idiomas. A OpenAI diz que o desempenho do Whisper varia muito conforme o idioma.
  • A coluna de memória da OpenAI. O README da OpenAI lista a VRAM necessária para o pacote Python dela: cerca de 1 GB para tiny e base, cerca de 6 GB para o turbo e cerca de 10 GB para o large. Esses não são números do whisper.cpp.

Escolhi o arquivo turbo de 5 bits para o YapToText porque, nos meus próprios ditados, ele ouviu quase exatamente o que o modelo completo ouviu, com um terço da memória. São os ditados de uma pessoa, e não um benchmark, então teste dois tamanhos com a sua própria voz antes de decidir.

Rode o Whisper por conta própria com o whisper.cpp

Rodar o whisper.cpp por conta própria exige o Terminal e as duas ferramentas que os comandos do README dele pressupõem, o Git e o CMake. Estes são os comandos do próprio README, com o modelo trocado pelo arquivo turbo de 5 bits. O que você recebe é a transcrição de um arquivo de áudio no Terminal, e não palavras digitadas nos seus apps.

Passo 1: pegue o código e um modelo

Terminal: Clone o whisper.cpp e baixe o modelo turbo de 5 bits.

git clone https://github.com/ggml-org/whisper.cpp.git
cd whisper.cpp
sh ./models/download-ggml-model.sh large-v3-turbo-q5_0

O que acontece: O projeto vai para uma pasta whisper.cpp, e o script baixa o ggml-large-v3-turbo-q5_0.bin do Hugging Face para a pasta models dele. Troque por base.en ou small para um download menor.

Passo 2: compile e transcreva o exemplo

Terminal: Compile o whisper-cli e rode-o na gravação de exemplo que vem com o projeto.

cmake -B build
cmake --build build -j --config Release
./build/bin/whisper-cli -m models/ggml-large-v3-turbo-q5_0.bin -f samples/jfk.wav

O que acontece: O CMake compila o projeto, e o whisper-cli transcreve o exemplo com o modelo que você baixou e mostra o texto no Terminal.

Passo 3: converta o seu áudio antes

O README diz que o whisper-cli por enquanto só roda com arquivos WAV de 16 bits, e traz um comando do ffmpeg para converter qualquer outro. O ffmpeg é uma instalação à parte.

Terminal: Transforme um MP3 no formato WAV que o whisper-cli lê.

ffmpeg -i input.mp3 -ar 16000 -ac 1 -c:a pcm_s16le output.wav

O que acontece: O ffmpeg grava o output.wav como áudio de 16 kHz, mono e de 16 bits, que você entrega ao whisper-cli depois de -f.

Ou use o pacote Python da OpenAI

Terminal: Instale o pacote da própria OpenAI, se você prefere trabalhar em Python.

pip install -U openai-whisper

O que acontece: O pip instala o comando whisper. O README da OpenAI diz que o código deve funcionar com o Python 3.8 a 3.11, que ele precisa do ffmpeg e que o modelo padrão dele é o turbo.

Para fala ao vivo, o whisper.cpp inclui o whisper-stream, que coleta amostras do seu microfone a cada meio segundo e transcreve continuamente. Ele precisa do SDL2, e o README o chama de exemplo ingênuo. Levar as palavras para o Mail, o Slack ou o seu editor é a parte que um app acrescenta.

Use o mesmo modelo no YapToText sem o Terminal

O YapToText roda o mesmo motor e o mesmo arquivo sem janela de Terminal: uma cópia do whisper.cpp embutida no app, com Metal e Accelerate, e o ggml-large-v3-turbo-q5_0.bin dentro do download da App Store. O SHA-256 dele bate com o do arquivo no Hugging Face, então é o modelo padrão, e não um modelo ajustado ou retreinado. Criei o app porque tenho dificuldade para digitar, e queria o Whisper digitando em todos os apps em vez de imprimir em uma janela de Terminal. É o arquivo que o script baixa. O que muda é tudo em volta dele.

Pôster da App Store com o título Yap it. Bam. It's typed. sobre a janela Home do YapToText e os três layouts do painel flutuante.
Figura 3. O mesmo arquivo Whisper sem o Terminal: as palavras se formam no painel flutuante enquanto você fala e chegam ao cursor, no app que estiver na frente.

Veja o que o app acrescenta em volta do modelo:

  • Memória que ele devolve. Na página Energy, o Keep models in memory decide por quanto tempo um modelo continua carregado depois de um ditado: 2 minutos depois do uso por padrão, com opções que vão de Only while dictating até Until quit. Descarregar mais cedo economiza energia e memória, e o próximo ditado depois de um descarregamento leva alguns segundos a mais.
  • Espaço para o macOS. Quando o macOS fica sem memória, o YapToText descarta na hora os modelos carregados e espera cinco minutos antes de aquecê-los de novo.
  • Um modelo mais leve na bateria. O Switch models with the power source, desativado por padrão, dá ao modelo de ditado e ao modelo de limpeza uma escolha para quando o Mac está na tomada e outra para quando está na bateria.
  • Seu próprio arquivo. Em Your own models, na página AI Models, o Add Model aceita qualquer .bin GGML do whisper.cpp, então um modelo que você baixou com o script também funciona. O app lê o arquivo para saber o que ele é e rejeita qualquer outra coisa.
  • Os números do seu Mac. O cartão This Mac da página Energy mostra o seu chip e a sua memória, que são o número para comparar com a tabela acima.

A Dictation Model Library da página AI Models tem mais dez modelos Whisper, do Tiny ao Large v3, cada um com o tamanho que o app mostra. O guia AI Models os lista, e o guia de energia explica os ajustes de memória. O download da App Store tem cerca de 2,9 GB porque os dois modelos do app estão dentro dele. A versão do Homebrew tem cerca de 12 MB e precisa do download de um modelo de voz antes do primeiro ditado.

Se o Whisper local estiver lento ou ouvir errado

Comece pelas correções baratas antes de baixar um modelo maior. Corrija o microfone e as palavras antes de mudar o modelo.

  1. Espere passar a primeira execução. Um modelo precisa carregar antes de transcrever. No YapToText, o primeiro ditado depois de abrir o app leva um instante. Se você compilou o whisper.cpp com Core ML, o README dele diz que a primeira execução em um dispositivo é lenta enquanto o serviço do Neural Engine compila o modelo.
  2. Defina o idioma que você fala. A lista Language da página AI Models do YapToText começa no idioma do sistema do seu Mac, e um idioma que o Whisper não consegue usar recua para a detecção automática. A página de idiomas lista os 29.
  3. Corrija o microfone. Microfones Bluetooth têm qualidade de telefone, então o microfone do próprio Mac ouve melhor. No YapToText, escolha-o na lista Input do painel da barra de menus.
  4. Ensine as suas palavras. A página Dictionaries do YapToText prepara o Whisper com os seus nomes e termos, e não só corrige o que ele digita. O guia de dicionários mostra como.
  5. Use um modelo só em inglês para o inglês. Se a memória está apertada e você só fala inglês, a OpenAI diz que as versões .en tendem a se sair melhor, principalmente em tiny e base.
  6. Mude o tamanho do modelo. Vá para um maior se ele ouve errado e a memória permite, ou para um menor se está lento. No YapToText, as estrelas da página AI Models mostram a troca, e cada ditado no History mostra o próprio tempo entre parar e ver o texto.
Uma entrada do History do YapToText com os detalhes do processamento abertos: transcrição bruta, transcrição limpa, modo, entrega, app de destino e tempos.
Figura 4. Cada ditado no History traz os próprios tempos: quanto tempo você falou e o tempo entre parar e ver o texto, dividido em transcrição, limpeza por IA e entrega.

O que o Whisper local não muda

Rodar o Whisper localmente leva o trabalho para o seu Mac, e é só isso que ele leva. O local muda para onde vai a sua voz, e não o quanto ela é bem ouvida.

  • Erros. O modelo decide o quanto ouve bem, onde quer que rode, então um nome que ele ouve errado precisa de uma entrada de dicionário ou de um microfone melhor, e não de outro lugar.
  • Tradução. A OpenAI diz que o turbo não é treinado para tradução, e o YapToText só pede ao Whisper que transcreva, nunca que traduza.
  • Um download. Um modelo local ainda precisa chegar uma vez. O script do whisper.cpp o busca no Hugging Face, a versão da App Store do YapToText o traz dentro e a versão do Homebrew o busca na página AI Models.
  • Macs Intel. O whisper.cpp lista Macs Intel e Arm como compatíveis. O YapToText precisa de chip da Apple e macOS 14 ou posterior, e não afirmo nada sobre Macs Intel.
  • Números de precisão. Não publico porcentagens de precisão de nenhum modelo. As estrelas e o seu próprio History são o guia.

Para provar que uma configuração é mesmo local, a página de ditado offline traz um teste de um minuto: desligue o Wi-Fi e dite.

Resumindo

  • Whisper local. É um arquivo de modelo e um motor no seu Mac, sem nada enviado.
  • O modelo. O arquivo turbo de 5 bits, de 547 MiB na lista do whisper.cpp, é o que o YapToText traz.
  • Faça você mesmo. Clone o whisper.cpp, baixe um modelo, compile com o CMake e rode o whisper-cli em um arquivo WAV de 16 bits.
  • Ou dispense o Terminal. O YapToText roda o mesmo arquivo e digita em qualquer app, de graça.

Escolha o modelo pela memória do seu Mac e depois pela sua própria voz. Se algo aqui não bater com o que você vê, abra uma issue no GitHub (em inglês). Eu leio todas.

Baixar o YapToText na Mac App StoreDownload gratuito. Sem conta e sem nada bloqueado, para macOS 14 ou posterior em um Mac com chip da Apple. Código-fonte no GitHub.

Quem escreve. Ryleigh Newman desenvolve software, tem dificuldade para digitar e dita todos os dias com o YapToText, o app que este site descreve. Esta página foi traduzida do inglês. A interface do app e o resto do site estão em inglês. Mais sobre o projeto, em inglês.

Guias

Mais guias, em inglês

Fontes

Perguntas

Como rodo o Whisper localmente em um Mac?

Use o whisper.cpp: clone o repositório, baixe um modelo com o script download-ggml-model.sh, compile com o CMake e rode o whisper-cli em um arquivo WAV de 16 bits. Ou instale um app que o traga embutido, como o YapToText, que roda o Whisper Large v3 Turbo sem nenhuma configuração.

De quanta memória o Whisper precisa?

Depende do modelo. O whisper.cpp lista cerca de 273 MB para o tiny, 852 MB para o small, 2,1 GB para o medium e 3,9 GB para o large, e diz que os quantizados precisam de menos. Ele não dá número de memória para o turbo.

Qual é o melhor modelo Whisper local?

O Large v3 Turbo é por onde eu começaria, e o arquivo de 5 bits dele é o que o YapToText traz: 547 MiB na lista do whisper.cpp. Se a memória está apertada, o small ou o base usam bem menos, e a OpenAI diz que as versões só em inglês tendem a se sair melhor em inglês nos menores tamanhos.

Qual o tamanho do modelo Whisper Large v3 Turbo?

1,5 GiB na lista de modelos do whisper.cpp, ou 547 MiB como arquivo q5_0 de 5 bits, que são 574 MB contados em unidades decimais. A OpenAI lista o turbo com 809 milhões de parâmetros.

O Whisper local precisa de internet?

Só para baixar o modelo uma vez. Depois disso, o whisper.cpp e o YapToText transcrevem sem conexão, e a versão da App Store do YapToText traz o modelo dentro, então dispensa até esse download.

Posso usar um modelo do whisper.cpp no YapToText?

Sim. Em Your own models, na página AI Models, o Add Model aceita qualquer arquivo .bin GGML do whisper.cpp, e o app descobre o que ele é pelo próprio arquivo.