Português (Portugal)

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 directory

Esse 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:

Forma de onda de um parágrafo de narração de 22 segundos que gerámos com Kokoro num CPU M3 Pro

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.

af_sarah — inglês americano
am_michael — inglês americano
bf_emma — inglês britânico
Narração mais longa (af_sarah, 22 segundos) — o parágrafo que testámos no benchmark acima

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)
CustoGratuito (o seu próprio hardware)Subscrição / créditos
Configuraçãopip + pesos de 330 MB + correção do espeak-ngNenhuma — corre no browser
O que obtémApenas faixa de voz (WAV)Vídeo de avatar falante (voz + rosto + lip-sync)
Clonagem de vozNão — 54 predefiniçõesSim — clone a sua própria voz
Velocidade por clipe~0.16× tempo real no CPU (segundos)Segundos, alojado — sem computação local
Uso comercialSim (Apache-2.0)Sim (consoante o plano)
ManutençãoVocê corrige o espeak, deps, chunkingNenhuma
Melhor quandoSó precisa de uma faixa de voz gratuita e sabe programarPrecisa 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.

Perguntas frequentes

  • Sim. O Kokoro é disponibilizado sob a licença Apache-2.0, que permite uso comercial, e não há faturação por carácter. Só paga pela sua própria computação, que pode ser um simples CPU.