buildwiththis home

Best free AI voiceover tool: Kokoro vs Piper

You need a clear voiceover for a demo, tutorial or short video, without recording yourself, paying per character, or a licence that blocks commercial use.

Last tested Oct 16, 2026 Re-test due by Nov 15, 2026 Published Oct 16, 2026 Test log (4 entries)

Our pick
Kokoro91/100won on tie-breaker
Why
Read the whole script with 1.4% word errors in both runs, in about 7 seconds for 47 seconds of audio (0.15× real time) on a CPU, offline. Clean audio, no clipping, 24 kHz. Apache 2.0 licence for the model and voices, with 28 US and UK English voices to choose from.
Not for you if
you need prices, dates and web addresses read correctly without rewriting them (both tools misread "$24"; Kokoro also drops the "dot" in a .com), or you want a voice cloned from your own recordings.

Short answer: Use Kokoro (91/100, voice af_heart), with Piper (91/100) a very close runner-up. Both read a 47-second script in about 7 seconds on a laptop CPU, offline, with a licence that allows commercial use. Kokoro made fewer word errors; Piper is lighter (358 MB vs 929 MB of memory). Both stumble on prices and abbreviations, so write "24 dollars" and "October" in full. Listen to both below.

The verdict

Winner

Kokoro

won on tie-breaker

91/100

A small open-weight text-to-speech model (82 million parameters) with dozens of voices, run here with the kokoro-onnx package on a CPU.

6 of 7 checks in both runs. It read all of the script with 1.4% word errors (2 words: "$24" and the ".com"), in 7.5 and 6.9 seconds for 47.5 seconds of audio, offline, at 929 MB peak memory. No clipping, no long gaps, 24 kHz audio, and the README example ran as written. Missed: 3 of the 8 numbers, dates and addresses. Won the tie with Piper on word errors. Score: 91/100.

Visit Kokoro

Runner-up

Piper

91/100

A fast, local text-to-speech engine with a large catalogue of voices, maintained by the Open Home Foundation (used by Home Assistant).

6 of 7 checks in both runs, the same score as Kokoro. It read all of the script with 2.1% and 2.8% word errors, said "dot com" correctly, and made 51 seconds of audio in 5 to 6 seconds at just 358 MB of memory. Its engine is GPL-3.0 rather than Apache, and its extra word errors decided the tie. Score: 91/100.

Visit Piper

On this page
  1. Quick answers
  2. Why
  3. Listen to both
  4. Gotchas
  5. Scores
  6. What it costs
  7. Caveats
  8. Not tested yet
  9. Test log
  10. Affiliate disclosure
  11. Sources

Quick answers

What's the best free AI voiceover tool?

In our test, Kokoro (voice af_heart) and Piper (voice en_US-ljspeech-high) tied at 91/100 over two runs each. Kokoro won the tie-breaker with fewer word errors when we transcribed the audio back (1.4% vs 2.5%). Both are free, open source, run offline on a normal CPU and allow commercial use.

Can I use Kokoro or Piper voiceovers commercially?

Yes, with the voices we tested. Kokoro's weights and voices are Apache 2.0. Piper's engine is GPL-3.0, which allows commercial use, and the ljspeech voice is trained on public-domain recordings. Piper voices vary: some, like ryan and the hfc voices, are non-commercial, so check each voice's model card.

Do I need a GPU for AI text-to-speech?

No. On an 8-core CPU with no GPU, Kokoro made 47 seconds of audio in about 7 seconds and Piper made 51 seconds in about 5 to 6 seconds, including loading the model.

Why does the voice read prices and dates wrong?

Both tools turn text into sounds with a rules engine before speaking. In our test both read "$24" as "dollar twenty-four" and "Oct." as "oct". Writing "24 dollars" and "October" in your script fixes it. Both also let you spell a word with phonemes.

Which sounds more natural, Kokoro or Piper?

We didn't score that, because there's no honest automatic measure of naturalness. Both recordings are on this page so you can listen and decide.

Why

Who this is for: you need narration for a product demo, a tutorial or a short video. You don’t want to record yourself, pay per character, or find out later that the voice can’t be used commercially. You’re fine running a short Python command, or having an AI assistant run it for you.

Our pick: Kokoro, voice af_heart (91/100). It read our whole script in about 7 seconds for 47 seconds of audio, on an ordinary CPU with the network off, and when we transcribed it back only 2 words were wrong. The model and all its voices are Apache 2.0.

Runner-up: Piper, voice ljspeech (91/100). Same score, and it’s lighter and slightly faster. It made a few more word errors (2.5% vs 1.4% on average), which decided the tie. It’s genuinely close: listen to both.

Listen to both

The same 139-word script, default speed, unedited (MP3 at 96 kbps). The full script is in the test script.

Kokoro, af_heart (47.5 s):

Piper, en_US-ljspeech-high (51.5 s):

Gotchas

Both: write prices and abbreviations out. Both read “$24” as “dollar twenty-four” and “Oct.” as “oct”. Write “24 dollars” and “October” in your script, or spell the word with phonemes (both support it).

Kokoro: spell out web addresses. It read “buildwiththis.com” as “build with this com”, with no “dot”. Piper said “dot com”. Write “buildwiththis dot com” for Kokoro.

Piper: check each voice’s licence. The ljspeech voice we used is trained on public-domain recordings, but some Piper voices (ryan, hfc_female, hfc_male) are non-commercial, and Piper’s own example voice (lessac) comes with its dataset’s own terms. Each voice’s model card says which.

Kokoro: the model files aren’t on PyPI. pip install kokoro-onnx gets the code; you also download kokoro-v1.0.onnx (325 MB) and voices-v1.0.bin (28 MB) from its GitHub release, as its README says.

Scores

Scored with our published rubric. Tested 2026-10-16. Two runs each, because the first runs tied; the averages are shown.

CriterionKokoroPiper
Task success (35)4 (6 of 7: misread 3 of 8 numbers and addresses)4 (6 of 7: misread 2 of 8)
Effort (15)5 (no fixes)5 (no fixes)
Time (10)5 (under 5 minutes to set up)5 (under 5 minutes to set up)
Cost (10)5 ($0, runs locally)5 ($0, runs locally)
Quality of what you get (10)5 (5 of 5)5 (5 of 5)
Ownership (10)5 (Apache 2.0)4 (GPL-3.0 engine)
Safe defaults and licence clarity (10)4 (3 of 4: the af_heart voice’s training data isn’t documented)5 (4 of 4)
Total9191

Tie-breaker: word errors when the audio is transcribed back, averaged over both runs: Kokoro 1.4%, Piper 2.5%.

CriterionKokoroPiper
Word errors, transcribed back (run 1 / run 2)1.4% / 1.4%2.1% / 2.8%
Time to make the audio ÷ audio length0.16 / 0.150.12 / 0.10
Peak memory929 MB358 MB
Sample rate24 kHz22.05 kHz

The 7 checks: reads the whole script (at most 5% of words missing), at most 5% word errors when transcribed back, at least 7 of 8 numbers, dates and addresses heard right, makes audio in half its length or less, no clipping and no gap over 1.5 seconds, a commercial-use licence for engine and voice, and peak memory of 2 GB or less.

What it costs

Both are free and open source, run on your own computer and have no usage limits. Our runs cost $0. Kokoro’s model and voices are Apache 2.0 (the kokoro-onnx wrapper is MIT). Piper’s engine is GPL-3.0: you can use the audio it makes commercially, but building Piper into a closed-source app comes with GPL conditions.

Caveats

  • Naturalness isn’t scored. There’s no honest automatic score for how human a voice sounds, so we publish both recordings instead of guessing.
  • The “ear” is a speech recognizer. We checked accuracy by transcribing each recording with Whisper (small English model). It can mishear a correct word: it wrote Piper’s “build with this dot com” as “buildwithis.com” once and “buildwithfizz.com” once. That’s part of why the tie is close.
  • We fixed our own checker once. Our first word-error rule counted “BuildWithThis” written as “Build with this” as three errors, which neither voice could avoid. We changed the rule for both tools before scoring and kept the original numbers (7.0% to 7.7% for both) in the test script.
  • One script, one voice each, default speed. Other voices and longer scripts may do better or worse.
  • Hosted voice services weren’t tested. ElevenLabs and other paid services need a signup we couldn’t do in this run.
  • Runs were done by an AI agent following each tool’s official docs, with the network off. The check script is public.

Next step: add captions. Turn the same video’s audio into captions with our tested pick for captioning a video or podcast.

Not tested yet

  • ElevenLabs, OpenAI text-to-speech and other hosted voices: each needs a signup. Queued.
  • Other open models (for example Coqui XTTS or F5-TTS): larger models that need more memory, or a GPU, than this test allowed.

Test log

DateAgentStepResult
Oct 16, 2026Lando (agent)Setup for both tools: a fixed 139-word product script with a price, a date, a time and a web address. Each tool got a fresh Python environment, and every scored generation ran with the network switched off. Each generation was repeated 3 times and the median time used.Script hashed and frozen before the runs. Both tools are open source with no benchmarking restrictions. Voices chosen before the runs: each tool's best US English voice with a commercial-use licence.
Oct 16, 2026Lando (agent)Kokoro, runs j11-kokoro-r1 and r2: uv add kokoro-onnx soundfile, model files from the kokoro-onnx release, voice af_heart, whole script in one create() call as in examples/save.py.No fixes needed. 47.5 s of audio in 7.48 s and 6.90 s (median). Transcribed back: 1.4% word errors both runs ("$1.24" for "$24", "calm" for "com"); 5 of 8 numbers and addresses heard right. 929 MB peak. $0.
Oct 16, 2026Lando (agent)Piper, runs j11-piper-r1 and r2: pip install piper-tts, python -m piper.download_voices en_US-ljspeech-high, then python -m piper with --input-file, as in its CLI docs.No fixes needed. About 51 s of audio in 6.41 s and 5.08 s (median). Transcribed back: 2.1% and 2.8% word errors; 6 of 8 numbers and addresses heard right. 358 MB peak. $0.
Oct 16, 2026Lando (agent)Both, after the runs: checked what each tool actually says for the tricky sentences by printing its phonemes.Both say "dollar twenty-four" for $24 and "oct" for Oct. Kokoro says "build with this com"; Piper says "build with this dot com". Both read 9 AM, 14-day and 3,000 correctly.

Affiliate disclosure

This page has no affiliate links yet. Every link goes to the tool’s own homepage. Affiliate deals never decide a pick, and a tool with no affiliate program can still win. How we make money.

Sources