O que é Whistle?
O Whistle é um modelo de reconhecimento de fala da Cactus Compute, uma empresa de IA no dispositivo apoiada pela Y Combinator, lançado em 2 de outubro de 2026. O modelo inteiro é um único arquivo de 16,9 MB quantizado em 2 a 4 bits. Ele transcreve inglês, alemão, francês, espanhol, italiano, holandês e polonês, detecta o idioma sozinho, devolve marcações de tempo por palavra e pode gerar um embedding de áudio em vez de texto. Uma lista de palavras-chave orienta a decodificação para nomes e jargões que você espera.
Ele roda no mesmo engine em C++ do Needle, o modelo de chamada de ferramentas da Cactus, então um único binário pode receber um trecho de voz e devolver chamadas de ferramentas em um passo. Seu decoder é escalonado: cada profundidade a partir de 2 camadas é um modelo utilizável, então você pode trocar precisão por tamanho na hora de carregar.
Os pesos estão sob Apache 2.0, mas o engine é distribuído como binários pré-compilados, e não como código-fonte. A demonstração muito compartilhada do Whistle em um microcontrolador ESP32-S3 de US$ 10, coberta pela Better Stack em 19 de outubro, é uma reimplementação independente feita para aquele vídeo (andrisgauracs/whistle-esp32 no GitHub); a Cactus não distribui nenhum build para microcontroladores.
Whistle vale a pena?
O Whistle chama a atenção pela relação entre tamanho e precisão. Com 16,9 MB, ele é 8,6 vezes menor que o Whisper base e, pelos números da Cactus, o supera no LibriSpeech test-clean (taxa de erro de palavras de 4,31%), no test-other (10,49%), no SPGISpeech, no Earnings-22 e na média do FLEURS. Em um Apple M4 Pro, um trecho de 10 segundos chega ao primeiro token em 11,1 ms, contra 73,2 ms do Whisper base, e decodifica a 1.319 tokens por segundo.
A comparação é escolhida com cuidado. O Whistle não é comparado com o Whisper large-v3-turbo nem com o Parakeet, que são muito mais precisos e muito maiores. O Whisper base ainda vence no TED-LIUM, no áudio de reuniões do AMI (o Whistle marca 26,07%) e na média multilíngue do MLS, então palestras e reuniões são seu terreno fraco. As pontuações dos rivais são as publicadas pelos autores, e não refeitas, o que a Cactus declara abertamente.
A história do chip de US$ 10 é real, mas precisa da nota de rodapé. O port da Better Stack reduziu o decoder a quatro camadas (14,5 MB) e escreveu o próprio engine em C para rodá-lo em um ESP32-S3 com 16 MB de flash e 8 MB de PSRAM. Um comando de 2 segundos leva 6,3 segundos para ser transcrito, a profundidade 4 marca 11,7% de taxa de erro de palavras em 73 trechos do LibriSpeech, e o holandês é mal reconhecido pelo próprio modelo. As notas do port também constatam que o engine oficial transcreve dez segundos de ruído de microfone como "Thank you", então um filtro de detecção de voz não é opcional.
Os termos são a principal ressalva. Os pesos são Apache 2.0, mas o engine é uma biblioteca pré-compilada sem código-fonte publicado, então portá-lo significa fazer engenharia reversa, como fez o port para ESP32. O pacote Python e os binários enviam contagens de uso anônimas por padrão até você definir NEEDLE_TELEMETRY=0, um padrão estranho para um produto vendido com a promessa de que o áudio nunca sai do dispositivo.
Onde ele se destaca
Uma startup de hardware para casa inteligente que vende um hub baseado em Linux
Adicionar controle de voz offline em inglês, alemão e francês sem conta de nuvem
Carregue whistle.cact e needle3.cact em um único engine na placa ARM do hub; entra um trecho de áudio e saem chamadas de ferramentas, com orientação por palavras-chave para nomes de cômodos e dispositivos. Sem tarifas por minuto; reserve tempo de engenharia para um detector de atividade de voz.
Um hobbista ou engenheiro de sistemas embarcados prototipando em microcontroladores
Rodar transcrição de verdade, e não uma lista fixa de frases, em um ESP32-S3 de US$ 10
Siga o projeto comunitário whistle-esp32: uma placa N16R8, um microfone INMP441 e o modelo de 4 camadas e 14,5 MB. Conte com cerca de 6 segundos por comando curto e um holandês fraco.
Uma desenvolvedora mobile em um app de anotações
Oferecer ditado no dispositivo com marcações de tempo por palavra para navegar e editar
pip install cactus-needle para prototipar e depois faça o link de libneedle.a no app iOS ou Android. Defina NEEDLE_TELEMETRY=0 e teste com áudio no estilo de reuniões, onde o Whisper base ainda pontua melhor.
Antes de decidir
- Configuração
- pip install cactus-needle e depois needle.transcribe("clip.wav"); o engine e os pesos são baixados uma vez e ficam em cache. As pastas nativas trazem uma CLI needle, libneedle.a e needle.h por plataforma.
- Integrações
- Pacote Python; API em C (needle_load, needle_transcribe, needle_embed); engines pré-compilados para macOS, Linux em x86, ARM, RISC-V e MIPS, Windows, Android, iOS, watchOS, o navegador e WASI. O fine-tuning com LoRA pode acrescentar um idioma.
- Dados e privacidade
- A inferência roda inteiramente no dispositivo e funciona em ambientes air-gapped. O pacote envia contagens de uso anônimas por padrão; NEEDLE_TELEMETRY=0 e DO_NOT_TRACK=1 desativam isso.
- Custo em escala
- Sem licença nem tarifa por minuto. O custo é o tempo de CPU do dispositivo: um comando de 2 segundos leva 6,3 segundos em um ESP32-S3 de 240 MHz no port comunitário, e um trecho de 10 segundos chega ao primeiro token em 11,1 ms em um M4 Pro.
- Limites
- Uma passada cobre 30 segundos, com janelas além disso; as transcrições são limitadas a 320 tokens por passada. Música e ruído podem gerar texto inventado. Nenhum build para microcontroladores da Cactus, e nenhum código-fonte do engine.
O que é bom
- 16,9 MB, só CPU, sem dependências
- Sete idiomas com detecção automática e marcações de tempo por palavra
- Supera o Whisper base no LibriSpeech, no Earnings-22 e no FLEURS, segundo a Cactus
- Combina com o Needle para transformar fala em chamadas de ferramentas em uma única chamada
O que não é
- Comparado só com rivais pequenos; mais fraco em reuniões e palestras
- O engine é de código fechado; só os pesos são abertos
- Telemetria ativada por padrão
- Pode transcrever ruído como palavras; exige um filtro de detecção de voz
Ideal para
Fabricantes de dispositivos que precisam de comandos de voz offline em idiomas europeus em hardware pequeno demais para o Whisper.
Alternativas ao Whistle
Whistle: perguntas frequentes
- Whistle vale a pena?
- Reconhecimento de fala utilizável em sete idiomas com 16,9 MB, de um fornecedor que mantém o engine fechado e a telemetria ligada. Damos nota 3.8 de 5.
- Quanto custa Whistle?
- Pesos abertos gratuitos sob Apache 2.0; o engine pré-compilado tem download gratuito. A Cactus vende ajuda com fine-tuning e implantação na sua plataforma; os preços não são publicados.
- Quais são as desvantagens de Whistle?
- Comparado só com rivais pequenos; mais fraco em reuniões e palestras; o engine é de código fechado; só os pesos são abertos; telemetria ativada por padrão; pode transcrever ruído como palavras; exige um filtro de detecção de voz.
- Para quem Whistle é indicado?
- Fabricantes de dispositivos que precisam de comandos de voz offline em idiomas europeus em hardware pequeno demais para o Whisper.
- Quanto custa Whistle para uma equipe ou em produção?
- Sem licença nem tarifa por minuto. O custo é o tempo de CPU do dispositivo: um comando de 2 segundos leva 6,3 segundos em um ESP32-S3 de 240 MHz no port comunitário, e um trecho de 10 segundos chega ao primeiro token em 11,1 ms em um M4 Pro.
- Whistle é seguro para dados da empresa?
- A inferência roda inteiramente no dispositivo e funciona em ambientes air-gapped. O pacote envia contagens de uso anônimas por padrão; NEEDLE_TELEMETRY=0 e DO_NOT_TRACK=1 desativam isso.
- Quais são as melhores alternativas ao Whistle?
- As alternativas mais próximas que analisamos são Whisper large-v3-turbo, Parakeet TDT 0.6B v3 e VibeVoice-ASR.
Respostas verificadas em 2 de nov. de 2026.
