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.
- 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
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.
Runner-up
Piper
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.
On this page
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.
| Criterion | Kokoro | Piper |
|---|---|---|
| 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) |
| Total | 91 | 91 |
Tie-breaker: word errors when the audio is transcribed back, averaged over both runs: Kokoro 1.4%, Piper 2.5%.
| Criterion | Kokoro | Piper |
|---|---|---|
| Word errors, transcribed back (run 1 / run 2) | 1.4% / 1.4% | 2.1% / 2.8% |
| Time to make the audio ÷ audio length | 0.16 / 0.15 | 0.12 / 0.10 |
| Peak memory | 929 MB | 358 MB |
| Sample rate | 24 kHz | 22.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
| Date | Agent | Step | Result |
|---|---|---|---|
| Oct 16, 2026 | Lando (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, 2026 | Lando (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, 2026 | Lando (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, 2026 | Lando (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
- Test script and amendments (BuildWithThis)
- Kokoro-82M model card, licence and training data (checked 2026-10-16)
- Kokoro voices and grades (checked 2026-10-16)
- kokoro-onnx README and examples (checked 2026-10-16)
- Piper README and CLI docs (checked 2026-10-16)
- Piper ljspeech voice model card (checked 2026-10-16)
What to use now
A free weekly email.
We'll email you a link to confirm. We use Kit to send the email. Unsubscribe anytime. Privacy