Principais conclusões
- Criado por Georgi Gerganov em 2022; hoje mantido sob a organização ggml-org no GitHub.
- Licença MIT — uso, modificação e redistribuição gratuitos, incluindo uso comercial.
- Roda em CPU, Apple Metal/Core ML, NVIDIA CUDA, Vulkan, OpenVINO, AMD ROCm e backends Ascend NPU.
- Não requer ambiente Python — distribuído como binário C/C++ compilado, com bindings Python opcionais.
- Suporta transcrição de microfone em tempo real via seu exemplo de streaming, além da transcrição em lote de arquivos.
- Última versão estável: v1.9.3, publicada em 20 de agosto de 2026.
📍 Em uma frase
O whisper.cpp é um port gratuito em C/C++, com licença MIT, do modelo de reconhecimento de voz Whisper da OpenAI, criado por Georgi Gerganov, que transcreve áudio totalmente no dispositivo via CPU, Apple Metal, NVIDIA CUDA e outros backends, sem Python.
💬 Em termos simples
Ele transforma voz falada em texto no seu próprio computador ou dispositivo em vez de enviá-la para uma API na nuvem — você baixa um binário compilado ou o compila você mesmo, fornece um arquivo de áudio ou um stream de microfone ao vivo, e ele devolve uma transcrição, de graça, usando os mesmos modelos que a OpenAI treinou.
📌Nota: Esta análise foca no whisper.cpp como ferramenta independente: história, instalação, comandos reais, licenciamento e limites honestos. Para um comparativo direto com o faster-whisper em Apple Silicon e GPUs NVIDIA, veja o comparativo whisper.cpp vs faster-whisper.
História: quem criou o whisper.cpp e por quê
A OpenAI lançou seu modelo de reconhecimento de voz Whisper em setembro de 2022, como um modelo de pesos abertos treinado com uma grande quantidade de áudio multilíngue, distribuído como um pacote Python (openai-whisper) que depende do PyTorch e, para bom desempenho, de uma GPU compatível com CUDA.
Georgi Gerganov portou o modelo para C/C++ puro pouco depois, também em 2022, no repositório ggml-org/whisper.cpp. Gerganov também é o criador da biblioteca de tensores ggml que sustenta a matemática e a quantização do whisper.cpp, e mais tarde ficou conhecido pelo llama.cpp, o port equivalente em C/C++ para executar localmente grandes modelos de linguagem — os dois projetos compartilham a mesma base ggml e o mesmo objetivo de design: rodar em hardware comum um modelo que normalmente exige Python e uma GPU.
A motivação foi portabilidade e eficiência de recursos, não apenas velocidade. A implementação original em Python/PyTorch do Whisper é simples de rodar em uma estação de trabalho com uma boa GPU, mas pesada para implantar em um Raspberry Pi, um app iOS, uma página WebAssembly ou uma placa Linux embarcada sem interpretador Python. O whisper.cpp remove completamente a dependência de PyTorch e Python, compila para um binário pequeno, e adiciona suporte a quantização para que variantes de modelo menores caibam em algumas centenas de megabytes de RAM.
O projeto cresceu muito além de um projeto pessoal de um único desenvolvedor. Hoje tem centenas de colaboradores, é empacotado para o Debian, e oferece suporte oficial para Core ML (Apple Neural Engine), CUDA, Vulkan, OpenVINO e outros backends que não existiam no lançamento original de 2022. Ele continua sendo um *ambiente de execução* do Whisper — não treina nem ajusta seus próprios modelos, e toda transcrição ainda usa os mesmos pesos publicados pela OpenAI para um dado tamanho de modelo (de tiny a large-v3), convertidos para o formato GGML do projeto.
Quem criou o whisper.cpp?
Georgi Gerganov criou o whisper.cpp, publicado pela primeira vez em 2022 como port em C/C++ do modelo Whisper da OpenAI. Gerganov também criou a biblioteca de tensores ggml sobre a qual ele roda, e mais tarde o llama.cpp, o port equivalente para executar localmente grandes modelos de linguagem.
O que o whisper.cpp realmente faz
O whisper.cpp recebe uma entrada de áudio — um arquivo (WAV, e outros formatos via decodificação FFmpeg opcional) ou um stream de microfone ao vivo — e produz uma transcrição em texto, opcionalmente com carimbos de tempo por segmento e tradução para o inglês. Para isso, ele carrega um modelo Whisper (convertido para o formato de pesos GGML do projeto) e executa a inferência via a biblioteca de tensores ggml, totalmente na máquina local.
- Transcrição em lote. Apontar o binário
whisper-clipara um arquivo de áudio e obter uma transcrição, com opções de saída em texto simples, legendas SRT/VTT, JSON ou CSV. - Streaming em tempo real. O exemplo
whisper-streamcaptura áudio de microfone ao vivo e o transcreve continuamente, útil para assistentes de voz ou legendagem ao vivo. - Transcrição e tradução multilíngues. Os modelos Whisper subjacentes foram treinados em muitos idiomas; o whisper.cpp pode transcrever no idioma de origem ou traduzir diretamente para o inglês, dependendo das flags passadas.
- Inferência acelerada por hardware. No Apple Silicon, o whisper.cpp pode exportar modelos para o formato Core ML para usar o Apple Neural Engine; em hardware NVIDIA, usa CUDA; em outras GPUs, pode usar Vulkan ou OpenVINO. Em máquinas apenas com CPU, usa instruções vetoriais AVX2 (x86) ou NEON (ARM).
- Quantização. Os modelos podem ser quantizados (por exemplo, para formatos GGML de 4 ou 5 bits) para trocar um pouco de precisão por um uso de memória significativamente menor e inferência mais rápida — a mesma técnica que o llama.cpp usa para LLMs.
Instalar e executar o whisper.cpp: passo a passo
Este guia compila o whisper.cpp a partir do código-fonte e executa uma primeira transcrição, usando os comandos documentados no próprio README do projeto.
- 1Clonar o repositório.
Why it matters: Execute `git clone https://github.com/ggml-org/whisper.cpp.git` seguido de `cd whisper.cpp`. Isso baixa a árvore completa do código-fonte em C/C++, incluindo os arquivos de build do CMake e o script de download de modelos. - 2Baixar um modelo.
Why it matters: Execute `sh ./models/download-ggml-model.sh base.en` para obter o modelo base em inglês no formato GGML. Troque `base.en` por `tiny`, `small`, `medium` ou `large-v3` conforme o equilíbrio entre precisão e velocidade desejado, ou remova o sufixo `.en` para um modelo multilíngue. - 3Compilar o projeto.
Why it matters: Execute `cmake -B build` seguido de `cmake --build build -j --config Release`. Isso compila os binários de CLI (`whisper-cli`, `whisper-stream` e outros) no diretório `build/bin/`. Nenhuma instalação de Python é necessária para esta etapa. - 4Transcrever um arquivo de exemplo.
Why it matters: Execute `./build/bin/whisper-cli -f samples/jfk.wav` usando o arquivo de áudio de exemplo incluído no repositório. Isso confirma que a build funciona de ponta a ponta e imprime uma transcrição no terminal. - 5Transcrever seu próprio áudio.
Why it matters: Substitua o caminho de exemplo pelo seu próprio arquivo WAV: `./build/bin/whisper-cli -m models/ggml-base.en.bin -f your-audio.wav`. Adicione `-osrt` para também escrever um arquivo de legendas `.srt`, ou `-oj` para saída em JSON. - 6(Opcional) Ativar aceleração por GPU.
Why it matters: No Apple Silicon, a aceleração Metal é usada automaticamente ao compilar com as flags padrão do CMake no macOS. Em uma máquina NVIDIA, adicione `-DGGML_CUDA=ON` à etapa `cmake -B build` (requer o toolkit CUDA instalado) para compilar com suporte a CUDA. - 7(Opcional) Experimentar transcrição em tempo real.
Why it matters: Compile o exemplo de streaming e execute `./build/bin/whisper-stream -m models/ggml-base.en.bin` para transcrever continuamente o áudio do microfone ao vivo em vez de um arquivo fixo.
Exemplos de uso reais
Além do guia básico de instalação acima, estas são invocações comuns do binário whisper-cli em situações reais.
- pywhispercpp fornece bindings Python para o whisper.cpp, para equipes que querem a aceleração Metal/CUDA mas preferem chamar a partir de código Python em vez de invocar o binário CLI por arquivo.
- O whisper.cpp também traz um pequeno exemplo de servidor HTTP local (
whisper-server) para equipes que querem enviar áudio via HTTP em vez de invocar a CLI por arquivo — útil para integrar o whisper.cpp a um serviço existente sem dependência de Python.
# Transcrever um arquivo de áudio para texto simples (saída padrão)
./build/bin/whisper-cli -m models/ggml-base.en.bin -f interview.wav
# Transcrever e gerar legendas SRT, usando o modelo maior e mais preciso
./build/bin/whisper-cli -m models/ggml-large-v3.bin -f lecture.wav -osrt
# Traduzir diretamente áudio não inglês para texto em inglês
./build/bin/whisper-cli -m models/ggml-medium.bin -f french-audio.wav -tr
# Escolher uma GPU específica (máquinas com múltiplas GPUs)
./build/bin/whisper-cli -m models/ggml-large-v3.bin -f audio.wav -g 0
# Transcrição em tempo real a partir do microfone padrão
./build/bin/whisper-stream -m models/ggml-base.en.bin -t 8Licença e custo
O whisper.cpp é licenciado sob a licença MIT — o arquivo de licença no repositório oficial permite uso, modificação e redistribuição gratuitos, inclusive em produtos fechados e comerciais, sem royalties e sem exigência de atribuição além de manter o aviso de licença.
Não existe plano pago, assinatura ou taxa de licença para o whisper.cpp em si. Os únicos custos reais são o hardware em que você o executa (ou uma VM na nuvem, se optar por hospedá-lo) e, se você construir um produto sobre ele, seu próprio tempo de desenvolvimento. Não há medição de uso, chave de API nem dependência de fornecedor.
Os pesos do modelo Whisper subjacente também são licenciados separadamente pela OpenAI sob MIT, então tanto o ambiente de execução (whisper.cpp) quanto os pesos do modelo que ele carrega têm licenças permissivas para uso comercial.
O whisper.cpp é gratuito para uso comercial?
Sim. O whisper.cpp é licenciado sob MIT, e os pesos do modelo Whisper que ele usa também são publicados pela OpenAI sob licença MIT. Ambos permitem uso, modificação e redistribuição comercial sem custo.
Para que o whisper.cpp não serve
O whisper.cpp é um ambiente de execução de transcrição, não um produto completo de IA conversacional ou diarização de falantes. É a ferramenta errada nas seguintes situações:
- Diarização de falantes ("quem disse o quê"). O whisper.cpp transcreve o que foi dito, mas não separa nem rotula nativamente diferentes falantes em uma gravação com várias pessoas. A diarização exige um modelo ou pipeline separado (por exemplo, combinar a transcrição do whisper.cpp com uma ferramenta de diarização) sobreposto.
- Latência de streaming abaixo de 100 milissegundos em grande escala. O exemplo embutido
whisper-streamfunciona bem para um único microfone ao vivo em uma máquina, mas o whisper.cpp não é um serviço de reconhecimento de voz em tempo real construído especificamente e escalado horizontalmente, como seria uma API de voz em tempo real dedicada para muitos usuários simultâneos. - Configuração zero para usuários não técnicos. O whisper.cpp é uma ferramenta de linha de comando que a maioria dos usuários compila a partir do código-fonte ou obtém como binário compilado — não tem um instalador gráfico polido nem uma listagem em loja de apps voltada para não desenvolvedores. Quem quiser um app de transcrição de clicar-e-usar deve procurar uma aplicação gráfica construída sobre o whisper.cpp, ou um serviço de transcrição hospedado.
- Extrair o último ponto de desempenho de GPU NVIDIA em um pipeline Python-first. Nos maiores modelos e em hardware NVIDIA, o benchmark da PromptQuorum constatou que o backend CTranslate2 do faster-whisper é mais rápido e mais econômico em VRAM que o caminho CUDA do whisper.cpp — se sua implantação já é um serviço Python em uma GPU NVIDIA, o faster-whisper costuma ser a melhor opção.
Alternativas ao whisper.cpp
faster-whisper
- Melhor para:
- Pipelines Python em GPUs NVIDIA — backend CTranslate2, ~4x o throughput do Whisper original
- Licença:
- MIT
WhisperX
- Melhor para:
- Quando você precisa de carimbos de tempo por palavra e diarização além das transcrições do Whisper
- Licença:
- BSD-2-Clause
API OpenAI Whisper
- Melhor para:
- Equipes que preferem uma API gerenciada na nuvem à autohospedagem, em troca de tarifas por uso
- Licença:
- Proprietária (API paga)
Vosk
- Melhor para:
- Dispositivos offline com recursos muito limitados, onde uma pegada pequena importa mais que a precisão do Whisper
- Licença:
- Apache-2.0
Perguntas frequentes
O que é o whisper.cpp?
O whisper.cpp é uma reimplementação gratuita em C/C++, com licença MIT, do modelo de reconhecimento de voz Whisper da OpenAI, criada por Georgi Gerganov, que executa a transcrição localmente sem ambiente Python.
O whisper.cpp é gratuito?
Sim. O whisper.cpp é licenciado sob MIT, sem plano pago, assinatura ou taxa de uso. Os pesos do modelo Whisper que ele usa também são licenciados pela OpenAI sob MIT.
Preciso de uma GPU para rodar o whisper.cpp?
Não. O whisper.cpp roda em CPU com otimizações AVX2 (x86) ou NEON (ARM), e modelos menores (tiny, base) rodam confortavelmente em tempo real em hardware apenas com CPU, incluindo um Raspberry Pi. Uma GPU (Apple Metal, NVIDIA CUDA ou Vulkan) acelera modelos maiores como o large-v3, mas não é obrigatória.
O whisper.cpp suporta transcrição em tempo real?
Sim, via o exemplo whisper-stream, que captura áudio de microfone ao vivo e o transcreve continuamente. A latência depende do tamanho do modelo e do hardware — modelos menores em uma CPU ou GPU rápida chegam mais perto do tempo real.
Qual é a diferença entre whisper.cpp e faster-whisper?
O whisper.cpp é uma implementação pura em C/C++ sem dependência de Python, construída para portabilidade entre CPU, Apple Metal, CUDA e dispositivos embarcados. O faster-whisper é uma biblioteca Python baseada em CTranslate2, otimizada principalmente para throughput de GPU NVIDIA em pipelines Python. Veja o comparativo detalhado da PromptQuorum para números específicos por plataforma.
O whisper.cpp pode rodar em um Raspberry Pi?
Sim. Os modelos tiny e base rodam em tempo real na CPU de um Raspberry Pi 5 graças às otimizações ARM NEON do whisper.cpp, já que o projeto não tem nenhuma dependência de Python ou CUDA para instalar.
O whisper.cpp traduz áudio para inglês?
Sim. Passar a flag -tr (traduzir) para o whisper-cli transcreve fala não inglesa e a traduz diretamente para texto em inglês, usando a capacidade de tradução embutida nos modelos Whisper multilíngues.
Quem mantém o whisper.cpp hoje?
O projeto é mantido sob a organização ggml-org no GitHub, fundada pelo criador original Georgi Gerganov, com contribuições de centenas de desenvolvedores da comunidade. Continua sendo lançado ativamente, com a v1.9.3 publicada em 20 de agosto de 2026.
O whisper.cpp separa diferentes falantes em uma gravação?
Não nativamente. O whisper.cpp transcreve voz em texto, mas não realiza diarização de falantes por conta própria. Para "quem disse o quê", combine-o com uma ferramenta de diarização dedicada ou use o WhisperX, que adiciona diarização sobre as transcrições do Whisper.
Veredito
O whisper.cpp consegue exatamente o que se propôs: trazer o modelo de reconhecimento de voz Whisper da OpenAI para qualquer dispositivo capaz de compilar C/C++, sem exigir Python, CUDA ou um ambiente de execução pesado. Essa portabilidade — funcionando sem modificações de um Raspberry Pi a um Mac com Apple Silicon até uma GPU compatível com Vulkan — não tem um equivalente gratuito próximo para transcrição local e offline, e a licença MIT torna seguro construir produtos comerciais sobre ele. É gratuito, bem mantido, e usa os mesmos pesos de modelo do Whisper original, então a precisão para um dado tamanho de modelo corresponde ao que a OpenAI publicou. Onde ele não é a escolha mais forte é em um pipeline Python-first, apenas com GPU NVIDIA, buscando throughput máximo — ali o backend CTranslate2 do faster-whisper vence, como documenta o comparativo direto da PromptQuorum. Para todos os demais casos — desenvolvedores mirando hardware embarcado, Apple Silicon, apps multiplataforma, ou qualquer pessoa que queira um único binário autocontido em vez de um ambiente Python — o whisper.cpp é um ponto de partida bem verificado e sem custo.
Fontes
- whisper.cpp no GitHub — repositório oficial: README, instruções de instalação, licença e histórico de versões.
- Releases do whisper.cpp — histórico de versões, incluindo a v1.9.3 (20 de agosto de 2026).
- LICENÇA do whisper.cpp — texto da licença MIT.
- Anúncio do OpenAI Whisper — publicação original do modelo Whisper em 2022.
