Kokoro continua aparecendo — ficou no topo do Hacker News, lidera rankings abertos de Texto para Fala, e criadores não param de perguntar se um modelo com 82 milhões de parâmetros que roda em uma CPU comum consegue mesmo substituir uma API de voz paga. Então nós instalamos, rodamos em um notebook e geramos as amostras que você pode ouvir abaixo. Este é um teardown na prática: o que é Kokoro, quão bem ele realmente soa, as duas armadilhas de configuração que nos fizeram perder tempo e quando uma ferramenta hospedada é a melhor escolha. Fonte: github.com/hexgrad/kokoro (Apache-2.0).
O que é Kokoro e quem o criou?
Kokoro é um modelo de Texto para Fala com pesos abertos publicado pela hexgrad como Kokoro-82M. O destaque está no próprio nome: 82 milhões de parâmetros — minúsculo pelos padrões de 2026, pequeno o bastante para rodar em um celular — e ainda assim produz uma narração natural e expressiva. Ele é construído na linhagem do StyleTTS 2 e lançado sob a licença permissiva Apache-2.0, então é realmente gratuito para uso comercial.
Em 2026-07-11, o repositório principal hexgrad/kokoro tem cerca de 7.900 estrelas no GitHub. Nós rodamos via o runtime comunitário ONNX thewh1teagle/kokoro-onnx (cerca de 2.600 estrelas, MIT), que é a forma mais fácil de executar em CPU sem instalar PyTorch.
Fuçando o arquivo de pesos em si, contamos 54 vozes nativas, abrangendo 9 grupos de idiomas e sotaques — 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.
Nós realmente rodamos (Apple M3 Pro, apenas CPU)
Sem GPU, sem nuvem — apenas um MacBook Pro com 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 do pip traz o código, não o modelo. Você precisa baixar manualmente dois arquivos 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 batido por isso, então a primeira execução falha com erro de arquivo ausente até você pegar os pesos.
O bug de caminho do espeak-ng (o que nos fez perder tempo de verdade)
Kokoro transforma texto em fonemas com espeak-ng. Na primeira síntese, batemos nisto:
Error processing file '/Users/runner/work/espeakng-loader/.../espeak-ng-data/phontab': No such file or directoryEsse caminho /Users/runner/work/ é uma pista óbvia: o wheel do pip espeakng-loader embala um libespeak-ng que foi compilado no 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 muda nada, porque o kokoro-onnx nunca a lê — ele pega o caminho de dados direto do loader empacotado.
A correção que funcionou: instale um espeak-ng de sistema de verdade e aponte o Kokoro para ele explicitamente via 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 simplesmente funciona. Se você já brigou com esse erro exato phontab: No such file, essa é a correção.
Velocidade (medida, com warm-up)
Só na CPU, o modelo carrega em cerca de 1,7 segundos, e a síntese fica confortavelmente mais rápida do que em tempo real. Um parágrafo de 22 segundos de narração foi renderizado em 3,5 segundos — um fator de tempo real em torno 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 em um notebook, isso é um throughput realmente utilizável em produção. Aqui está a forma de onda real desse render do parágrafo:

Amostras que geramos (sem edição)
Todos os clipes abaixo foram produzidos por nós com Kokoro na CPU M3 Pro descrita acima — saída bruta do modelo, sem limpeza e sem pós-processamento. Dê o play e julgue a qualidade você mesmo.
Gerado pela VisionStory com Kokoro-82M via kokoro-onnx, 2026-07-11. Repare no detalhe revelador: é uma faixa de voz limpa — mas é só uma voz. Não há rosto, não há movimento labial, não há apresentador na tela. Essa lacuna é exatamente o ponto da próxima seção.
Veredito honesto: pontos fortes e limites reais
O que realmente nos impressionou:
- A qualidade por byte é impressionante. Para 82 milhões de parâmetros, as vozes de inglês americano são naturais e expressivas — perto o bastante de TTS pago para que a maioria das pessoas não perceba em um clipe curto.
- Ele realmente roda em CPU, e rápido. Seis vezes em tempo real em um notebook sem GPU é o grande destaque — e se mantém na prática.
- De fato gratuito e amigável para uso comercial. Apache-2.0 sem cobrança por caractere. Para narrações em alto volume, essa economia é difícil de bater.
Onde ele deixa a desejar — e isso é real:
- Sem clonagem de voz. Você recebe 54 vozes predefinidas fixas. Não dá para clonar sua própria voz ou a voz de um cliente — se esse é o seu caso, 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 nomes, marcas ou siglas ocasionalmente pronunciados errado.
- Textos longos exigem divisão manual. Existe um limite de comprimento de fonemas por chamada, então você precisa dividir roteiros longos e juntar o áudio.
- As vozes não inglesas variam bastante — perceptivelmente mais inconsistentes do que o conjunto principal de inglês americano.
- Ele gera um WAV cru. Sem timestamps por palavra, sem visemas — nada para dirigir lip-sync pronto para uso.
- É apenas voz. Sem rosto, sem vídeo. Para ter um apresentador falante, você precisa combinar Kokoro com um sistema separado de lip-sync ou avatar e lidar com o timing por conta própria.
Hospedar Kokoro por conta própria vs uma ferramenta hospedada: qual escolher?
Kokoro e uma ferramenta hospedada de avatar resolvem metades diferentes do problema. Kokoro te dá uma voz; uma ferramenta como VisionStory te dá um apresentador falante — voz, rosto e lip-sync em uma única saída. Aqui vai o trade-off, sem maquiagem.
| Kokoro (self-host) | VisionStory (hospedado) | |
|---|---|---|
| Custo | Grátis (seu próprio hardware) | Assinatura / Créditos |
| Configuração | pip + pesos de 330 MB + correção do espeak-ng | Nenhuma — roda no navegador |
| O que você recebe | Apenas a faixa de voz (WAV) | Vídeo de avatar falante (voz + rosto + lip-sync) |
| Clonagem de voz | Não — 54 presets | Sim — clone a sua própria voz |
| Velocidade por clipe | ~0,16× em tempo real na CPU (segundos) | Segundos, hospedado — sem computação local |
| Uso comercial | Sim (Apache-2.0) | Sim (dependendo do plano) |
| Manutenção | Você faz patch no espeak, dependências, divisão em partes | Nenhuma |
| Melhor quando | Você só precisa de uma faixa de voz grátis e sabe programar | Você precisa de um vídeo falante pronto, rápido |
Escolha Kokoro se você só precisa de uma narração gratuita, se sente confortável em Python e vai lidar separadamente com rosto e lip-sync (ou nem precisa de rosto). Escolha uma ferramenta hospedada se você precisa da voz ligada a um apresentador que faça lip-sync, ou precisa clonar a voz de uma pessoa específica — Kokoro não faz nenhuma das duas coisas.
O que Kokoro nos ensinou
A verdadeira lição de rodar o Kokoro é que voz está virando commodity. Um modelo de 82 MB em um notebook agora produz narrações boas o bastante para trabalho real, de graça. Se a única promessa do seu produto era “fazemos Texto para Fala”, essa vantagem já acabou.
A parte difícil, ainda não resolvida, é tudo o que vem depois da voz: transformar uma faixa de áudio em um rosto falante convincente — lip-sync preciso, expressão, movimento de cabeça e timing que se mantenham consistentes. É exatamente nessa camada que trabalhamos. Então nosso recado não é “não use Kokoro” — ele é um motor de voz legitimamente bom. O ponto é que voz sozinha é metade de um vídeo. Se você quer a outra metade, a VisionStory transforma uma foto e um roteiro em um apresentador falante com lip-sync em um único passo e, se você tiver uma voz específica para combinar, também consegue cloná-la.
