Kokoro continua a spuntare ovunque — è arrivato in cima su Hacker News, guida le classifiche open del Testo in Voce e i creator continuano a chiedere se un modello da 82 milioni di parametri che gira su una semplice CPU possa davvero sostituire una Voice API a pagamento. Così lo abbiamo installato, lo abbiamo eseguito su un laptop e abbiamo generato i campioni che puoi ascoltare qui sotto. Questa è un’analisi pratica: cos’è Kokoro, quanto suona bene davvero, le due trappole di setup che ci hanno fatto perdere tempo e quando uno strumento hosted è la scelta migliore. Fonte: github.com/hexgrad/kokoro (Apache-2.0).

Che cos’è Kokoro e chi l’ha creato?

Kokoro è un modello di Testo in Voce a pesi aperti pubblicato da hexgrad come Kokoro-82M. Il punto è già nel nome: 82 milioni di parametri — minuscolo per gli standard del 2026, abbastanza piccolo da girare su un telefono — eppure produce una narrazione naturale ed espressiva. Si basa sulla linea StyleTTS 2 ed è rilasciato con la licenza permissiva Apache-2.0, quindi è davvero gratuito anche per uso commerciale.

Al 2026-07-11, il repo principale hexgrad/kokoro ha circa 7.900 stelle su GitHub. Noi lo abbiamo eseguito tramite il runtime ONNX della community thewh1teagle/kokoro-onnx (circa 2.600 stelle, MIT), che è il modo più semplice per farlo girare su CPU senza installare PyTorch.

Dando un’occhiata al file dei pesi, abbiamo contato 54 voci integrate distribuite su 9 gruppi di lingue e accenti — inglese americano e britannico, spagnolo, francese, hindi, italiano, giapponese, portoghese brasiliano e cinese mandarino. Le voci in inglese americano sono chiaramente le più rifinite.

Lo abbiamo eseguito davvero (Apple M3 Pro, solo CPU)

Niente GPU, niente cloud — solo un MacBook Pro con M3 Pro e 18 GB di RAM. Ecco il resoconto, senza filtri.

Installazione e pesi

Il pacchetto Python si installa in pochi secondi: pip install kokoro-onnx soundfile. Ma ecco la prima trappola — il pacchetto pip include il codice, non il modello. Devi scaricare a mano due file dalla pagina delle release GitHub di kokoro-onnx: kokoro-v1.0.onnx (310 MB) e voices-v1.0.bin (27 MB). La guida quickstart sorvola su questo punto, quindi il primo avvio fallisce con un errore di file mancante finché non scarichi i pesi.

Il bug del percorso espeak-ng (quello che ci ha fatto perdere tempo sul serio)

Kokoro trasforma il testo in fonemi con espeak-ng. Alla primissima sintesi, ci siamo imbattuti in questo:

Error processing file '/Users/runner/work/espeakng-loader/.../espeak-ng-data/phontab': No such file or directory

Quel percorso /Users/runner/work/ è un indizio chiarissimo: la wheel pip espeakng-loader include una libespeak-ng compilata in CI con un percorso dati hard-coded che sulla tua macchina non esiste. La parte più frustrante: impostare la variabile d’ambiente ESPEAK_DATA_PATH non cambia nulla, perché kokoro-onnx non la legge mai — prende il percorso dati direttamente dal loader incluso.

La soluzione che ha funzionato: installare un espeak-ng di sistema e indicarlo esplicitamente a Kokoro tramite 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)

Dopo, la generazione funziona e basta. Se ti sei mai scontrato con questo identico errore phontab: No such file, questa è la soluzione.

Velocità (misurata, a caldo)

Solo su CPU, il modello si carica in circa 1.7 secondi e la sintesi è comodamente più veloce del tempo reale. Un paragrafo di narrazione di 22 secondi è stato renderizzato in 3.5 secondi — con un real-time factor di circa 0.16×, cioè all’incirca sei volte più veloce della riproduzione. Frasi singole brevi tornano in uno o due secondi. Per un modello così piccolo su un laptop, è un throughput davvero utilizzabile in produzione. Ecco la forma d’onda reale di quel render del paragrafo:

Forma d’onda di un paragrafo di narrazione di 22 secondi che abbiamo generato con Kokoro su una CPU M3 Pro

Campioni che abbiamo generato (non modificati)

Ogni clip qui sotto è stata prodotta da noi con Kokoro sulla CPU M3 Pro descritta sopra — output grezzo del modello, nessuna pulizia, nessun post-processing. Ascoltali e giudica tu la qualità.

af_sarah — American English
am_michael — American English
bf_emma — British English
Narrazione più lunga (af_sarah, 22 secondi) — il paragrafo che abbiamo benchmarkato sopra

Generato da VisionStory con Kokoro-82M tramite kokoro-onnx, 2026-07-11. Nota l’indizio rivelatore: è una traccia vocale pulita — ma è solo una voce. Non c’è un volto, nessun movimento delle labbra, nessun presentatore a schermo. Questo divario è esattamente il punto della prossima sezione.

Verdetto onesto: punti di forza e limiti reali

Cosa ci ha davvero impressionato:

  • Il rapporto qualità-per-byte è notevole. Per 82 milioni di parametri, le voci in inglese americano sono naturali ed espressive — abbastanza vicine al TTS a pagamento da non essere notate dalla maggior parte degli ascoltatori in un clip breve.
  • Gira davvero su CPU, ed è veloce. Sei volte il tempo reale su un laptop senza GPU è la caratteristica principale, e regge.
  • Davvero gratuito e adatto all’uso commerciale. Apache-2.0 senza costi per carattere. Per voiceover ad alto volume, è un vantaggio economico difficile da battere.

Dove inciampa — e sono problemi reali:

  • Nessuna clonazione vocale. Hai 54 voci preimpostate fisse. Non puoi clonare la tua voce o quella di un cliente — se ti serve questo, Kokoro è un vicolo cieco.
  • La qualità dell’inglese dipende da espeak-ng, il che significa il bug di packaging qui sopra, più l’occasionale pronuncia errata di nomi, brand o acronimi.
  • I testi lunghi richiedono uno spezzettamento manuale. C’è un limite di lunghezza dei fonemi per chiamata, quindi devi dividere i copioni lunghi da solo e poi unire l’audio.
  • Le voci non inglesi sono un terno al lotto — sensibilmente più variabili rispetto al set di punta in inglese americano.
  • Output: un WAV “nudo”. Nessun timestamp per parola, nessun visema — niente che possa pilotare il lip-sync out of the box.
  • È solo voce. Niente volto, niente video. Per ottenere un presentatore parlante devi abbinare Kokoro a un sistema di lip-sync o avatar separato e gestire tu la temporizzazione.

Self-host di Kokoro vs uno strumento hosted: cosa scegliere?

Kokoro e uno strumento avatar hosted risolvono due metà diverse del problema. Kokoro ti dà una voce; uno strumento come VisionStory ti dà un presentatore parlante — voce, volto e lip-sync in un unico output. Ecco il compromesso, senza giri di parole.

 Kokoro (self-host)VisionStory (hosted)
CostoGratis (hardware tuo)Abbonamento / crediti
Setuppip + pesi da 330 MB + fix espeak-ngNessuno — funziona nel browser
Cosa ottieniSolo traccia vocale (WAV)Video avatar parlante (voce + volto + lip-sync)
Clonazione vocaleNo — 54 presetSì — clona la tua voce
Velocità per clip~0.16× del tempo reale su CPU (secondi)Secondi, hosted — nessun calcolo locale
Uso commercialeSì (Apache-2.0)Sì (in base al piano)
ManutenzionePatch di espeak, dipendenze, chunkingNessuna
Ideale quandoTi serve solo una traccia vocale gratuita e sai programmareTi serve un video parlato finito, rapidamente

Scegli Kokoro se ti serve solo un voiceover gratuito, ti trovi a tuo agio con Python e gestirai separatamente il volto e il lip-sync (o non ti serve affatto un volto). Scegli uno strumento hosted se ti serve la voce collegata a un presentatore che fa lip-sync, oppure devi clonare la voce di una persona specifica — Kokoro non può fare nessuna delle due cose.

Cosa ci ha insegnato Kokoro

La vera lezione dopo aver provato Kokoro è che la voce sta diventando una commodity. Un modello da 82 MB su un laptop oggi produce voiceover abbastanza buoni per lavoro vero, gratuitamente. Se l’unica promessa del tuo prodotto era “facciamo text-to-speech”, quel vantaggio competitivo è svanito.

La parte difficile, ancora irrisolta, è tutto ciò che viene dopo la voce: trasformare una traccia audio in un volto parlante credibile — lip-sync accurato, espressioni, movimento della testa e timing che restano coerenti. È esattamente il livello su cui lavoriamo noi. Quindi la nostra conclusione non è “non usare Kokoro” — è un motore vocale davvero valido. È che una voce da sola è metà di un video. Se vuoi l’altra metà, VisionStory trasforma una foto e un copione in un presentatore parlante con lip-sync in un solo passaggio, e se devi abbinare una voce specifica può anche clonarla.

Domande frequenti

  • Sì. Kokoro è rilasciato con licenza Apache-2.0, che consente l’uso commerciale, e non c’è fatturazione per carattere. Paghi solo le tue risorse di calcolo, che possono essere anche una semplice CPU.