O Kokoro continua a aparecer — ficou no topo do Hacker News, lidera rankings de Texto para Fala open-source e os criadores continuam a perguntar se um modelo de 82 milhões de parâmetros que corre num CPU normal consegue mesmo substituir uma API de voz paga. Por isso, instalámo-lo, executámo-lo num portátil e gerámos as amostras que pode reproduzir abaixo. Este é um desmantelamento prático: o que é o Kokoro, quão bem soa na realidade, as duas armadilhas de configuração que nos fizeram perder tempo e quando uma ferramenta alojada é a melhor opção. Fonte: github.com/hexgrad/kokoro (Apache-2.0).
O que é o Kokoro e quem o criou?
O Kokoro é um modelo de Texto para Fala de pesos abertos publicado pela hexgrad como Kokoro-82M. A manchete está no próprio nome: 82 milhões de parâmetros — minúsculo para os padrões de 2026, pequeno o suficiente para correr num telemóvel — e, ainda assim, produz narração natural e expressiva. Baseia-se na linhagem StyleTTS 2 e foi lançado sob a licença permissiva Apache-2.0, pelo que é verdadeiramente gratuito para uso comercial.
À data de 2026-07-11, o repositório principal hexgrad/kokoro tem cerca de 7 900 estrelas no GitHub. Executámo-lo através do runtime ONNX da comunidade thewh1teagle/kokoro-onnx (cerca de 2 600 estrelas, MIT), que é a forma mais fácil de o correr num CPU sem instalar PyTorch.
Ao espreitarmos o ficheiro de pesos, contámos 54 vozes integradas, distribuídas por 9 grupos de idioma e sotaque — inglês americano e britânico, espanhol, francês, hindi, italiano, japonês, português do Brasil e mandarim. As vozes de inglês americano são claramente as mais polidas.
Executámo-lo mesmo (Apple M3 Pro, só CPU)
Sem GPU, sem cloud — apenas um MacBook Pro com um M3 Pro e 18 GB de RAM. Aqui vai o relato honesto, passo a passo.
Instalação e pesos
O pacote Python instala em segundos: pip install kokoro-onnx soundfile. Mas aqui está a primeira armadilha — o pacote pip inclui o código, não o modelo. Tem de descarregar manualmente dois ficheiros na página de releases do kokoro-onnx no GitHub: kokoro-v1.0.onnx (310 MB) e voices-v1.0.bin (27 MB). O quickstart passa isto por alto, por isso a primeira execução falha com um erro de ficheiro em falta até descarregar os pesos.
O bug do caminho do espeak-ng (o que nos fez perder tempo a sério)
O Kokoro converte texto em fonemas com o espeak-ng. Na primeira síntese, deparámo-nos com isto:
Error processing file '/Users/runner/work/espeakng-loader/.../espeak-ng-data/phontab': No such file or directoryEsse caminho /Users/runner/work/ é um sinal óbvio: o wheel pip espeakng-loader inclui um libespeak-ng compilado em CI com um caminho de dados hard-coded que não existe na sua máquina. A parte frustrante: definir a variável de ambiente ESPEAK_DATA_PATH não faz nada, porque o kokoro-onnx nunca a lê — vai buscar o caminho de dados diretamente ao loader incluído.
A correção que funcionou: instale um espeak-ng real no sistema e aponte o Kokoro para ele explicitamente através do EspeakConfig:
brew install espeak-ng # macOS; apt install espeak-ng on Linux
from kokoro_onnx import Kokoro, EspeakConfig
cfg = EspeakConfig(
lib_path="/opt/homebrew/lib/libespeak-ng.dylib",
data_path="/opt/homebrew/share/espeak-ng-data",
)
k = Kokoro("kokoro-v1.0.onnx", "voices-v1.0.bin", espeak_config=cfg)Depois disso, a geração funciona sem problemas. Se alguma vez lutou com este erro específico phontab: No such file, esta é a correção.
Velocidade (medida, a quente)
Só com CPU, o modelo carrega em cerca de 1.7 segundos e a síntese é confortavelmente mais rápida do que o tempo real. Um parágrafo de narração de 22 segundos foi renderizado em 3.5 segundos — um fator de tempo real à volta de 0.16×, aproximadamente seis vezes mais rápido do que a reprodução. Frases curtas e únicas voltam em um a dois segundos. Para um modelo tão pequeno num portátil, isto é um débito verdadeiramente utilizável em produção. Aqui está a forma de onda real desse render do parágrafo:

Amostras que gerámos (sem edição)
Todos os clipes abaixo foram produzidos por nós com o Kokoro no CPU M3 Pro descrito acima — saída bruta do modelo, sem limpeza, sem pós-processamento. Reproduza-os e julgue a qualidade por si.
Gerado pela VisionStory com Kokoro-82M via kokoro-onnx, 2026-07-11. Repare no indício óbvio: isto é uma faixa de voz limpa — mas é apenas uma voz. Não há rosto, não há movimento labial, não há apresentador no ecrã. Essa lacuna é precisamente o ponto da próxima secção.
Veredito honesto: pontos fortes e limites reais
O que nos impressionou de verdade:
- A qualidade por byte é notável. Para 82 milhões de parâmetros, as vozes de inglês americano são naturais e expressivas — suficientemente próximas de TTS pago para que a maioria dos ouvintes não o assinale num clipe curto.
- Corre mesmo num CPU, e rápido. Seis vezes o tempo real num portátil sem GPU é a funcionalidade de destaque, e confirma-se.
- Verdadeiramente gratuito e amigo do uso comercial. Apache-2.0 sem faturação por caractere. Para voz off em grande volume, esta economia é difícil de bater.
Onde falha — e isto é real:
- Sem clonagem de voz. Tem 54 vozes predefinidas fixas. Não pode clonar a sua própria voz ou a voz de um cliente — se esse é o seu caso de uso, o Kokoro é um beco sem saída.
- A qualidade do inglês depende do espeak-ng, o que significa o bug de empacotamento acima, além de, ocasionalmente, um nome, marca ou acrónimo mal pronunciado.
- Texto longo exige divisão manual. Existe um limite de comprimento de fonemas por chamada, por isso tem de dividir guiões longos e colar o áudio.
- As vozes não inglesas são um acerto ou um falhanço — visivelmente mais variáveis do que o conjunto principal de inglês americano.
- Gera um WAV “nu”. Sem timestamps por palavra, sem visemas — nada para conduzir lip-sync de origem.
- É só voz. Sem rosto, sem vídeo. Para obter um apresentador falante, tem de combinar o Kokoro com um sistema separado de lip-sync ou avatar e tratar você mesmo do timing.
Alojar o Kokoro por conta própria vs uma ferramenta alojada: qual deve escolher?
O Kokoro e uma ferramenta de avatar alojada resolvem metades diferentes do problema. O Kokoro dá-lhe uma voz; uma ferramenta como a VisionStory dá-lhe um apresentador falante — voz, rosto e lip-sync num único resultado. Aqui está o trade-off honesto.
| Kokoro (autoalojado) | VisionStory (alojado) | |
|---|---|---|
| Custo | Gratuito (o seu próprio hardware) | Subscrição / créditos |
| Configuração | pip + pesos de 330 MB + correção do espeak-ng | Nenhuma — corre no browser |
| O que obtém | Apenas faixa de voz (WAV) | Vídeo de avatar falante (voz + rosto + lip-sync) |
| Clonagem de voz | Não — 54 predefinições | Sim — clone a sua própria voz |
| Velocidade por clipe | ~0.16× tempo real no CPU (segundos) | Segundos, alojado — sem computação local |
| Uso comercial | Sim (Apache-2.0) | Sim (consoante o plano) |
| Manutenção | Você corrige o espeak, deps, chunking | Nenhuma |
| Melhor quando | Só precisa de uma faixa de voz gratuita e sabe programar | Precisa de um vídeo falante final, rapidamente |
Escolha o Kokoro se só precisa de uma voz off gratuita, se sente-se à vontade em Python e vai tratar do rosto e do lip-sync separadamente (ou não precisa de rosto de todo). Escolha uma ferramenta alojada se precisa da voz associada a um apresentador com lip-sync, ou precisa de clonar a voz de uma pessoa específica — o Kokoro não faz nenhuma dessas coisas.
O que o Kokoro nos ensinou
A verdadeira lição de executar o Kokoro é que a voz está a tornar-se uma commodity. Um modelo de 82 MB num portátil agora produz voz off suficientemente boa para trabalho real, gratuitamente. Se a única proposta do seu produto era “fazemos Texto para Fala”, essa vantagem competitiva desapareceu.
A parte difícil, ainda por resolver, é tudo o que vem depois da voz: transformar uma faixa de áudio num rosto falante convincente — lip-sync preciso, expressão, movimento de cabeça e timing que se mantêm consistentes. É exatamente nessa camada que trabalhamos. Por isso, a nossa conclusão não é “não use o Kokoro” — é um motor de voz legitimamente bom. É que uma voz, por si só, é metade de um vídeo. Se quiser a outra metade, a VisionStory transforma uma foto e um guião num apresentador falante com lip-sync num só passo e, se tiver uma voz específica para corresponder, também a pode clonar.
