The best open-source text-to-speech for Hindi and Urdu: what we use and why
Kokoro, VoxCPM2 and Veena, scored on the same lines
Hindi and Urdu story channels are some of the biggest faceless channels anywhere, and a bad voice ruins them in the first second. Our first Hindi and Urdu voices got words wrong and did not sound native, so on 1 October 2026 we ran a bake-off to replace them.
The rules: the model had to be free, run locally on a normal computer, and carry a licence that lets us ship it in a paid app. This post covers the models we compared, how we scored them, what we found wrong along the way, and what TallyReel uses now.
By Danish, who makes TallyReel · Published
What we found
VoxCPM2 was the best open model we could run locally. On 10 Hindi lines scored by Whisper it got 2.3 percent of letters wrong, against 4.1 percent for Kokoro and 5.1 percent for Veena, and it was about twice as fast as Veena on an M1 Pro. It also clones and designs voices. For Urdu it reads best from a Devanagari spelling: 6 percent of words wrong, against 28 percent when it read Urdu script directly.
Why our first Hindi and Urdu voices failed
TallyReel's fast voice is Kokoro, a small open model that is excellent in English. Its Hindi voices are a different story: Kokoro's own notes grade them C, with only 10 to 100 minutes of training audio each. On top of that, the step that turns Hindi text into sounds was our own rule-based reader, and it had real bugs.
- The letters ड़ and ढ़ were read wrong.
- English words inside a Hindi line went through as raw letters, so "YouTube" came out as nonsense syllables.
- Kokoro turns ख़ and क़ into a plain ह sound, so ख़ुदा became हुदा. That one change is a big part of why Urdu sounded wrong.
- The vowel shift around ह was missed, which made common words sound slightly off to native ears.
How we tested
We picked 10 Hindi lines of the kind that appear in real story videos, had each model read all of them on the same M1 Pro MacBook, then transcribed every recording with Whisper large-v3-turbo. The score is the share of letters Whisper heard differently from the script. A lower number means the words came out the way they were written.
A transcription score does not measure how natural or warm a voice sounds, so we also listened to every take. Speed is measured as seconds of computer work per second of finished speech, because that decides how long a video takes to render on someone's own machine.
The results
We liked how both Veena and VoxCPM2 sounded. VoxCPM2 won on everything we could measure: fewer errors, about twice Veena's speed, plus voice cloning and voice design, and a ready-made build for Apple's MLX framework that runs well on Macs.
| Model | Letters wrong (Whisper) | Work per second of speech | Notes |
|---|---|---|---|
| VoxCPM2 (bf16, MLX) | 2.3% | About 2.4 s | About 5 GB download, about 8 GB peak memory, Apache 2.0, clones voices |
| Kokoro | 4.1% | Far faster (about 0.4 s in our English test) | Tiny and quick, weak Hindi training data |
| Veena (Maya Research) | 5.1% | About 5.3 s | Apache 2.0, a pleasant voice |
10 Hindi lines on an M1 Pro, scored with Whisper large-v3-turbo on 1 October 2026. Kokoro's speed figure comes from our later English test on the same machine.
Models we ruled out before testing
- OmniVoice, Fish S2, Voxtral, rumik-oss-1 and Higgs: their licences do not allow commercial use.
- A Chatterbox Hindi fine-tune: it added speech that was not in the script.
- Svara: too weak in our listening.
- Indic Parler-TTS: not tested, because its model files were gated when we tried.
- Cloud voices such as Gemini Flash TTS and Cartesia Sonic sat at the top of a public Hindi voice leaderboard at the time. They are paid services, so they were only candidates for an optional bring-your-own-key upgrade, not the default.
Urdu: the script you hand the voice matters
Urdu and Hindi are close when spoken but written in different scripts. On 5 October 2026 we measured how VoxCPM2 handles each way of spelling the same Urdu story, again scored by Whisper, this time by words:
- Raw Urdu script: 28 percent of words wrong.
- Urdu script with vowel marks added: 25 percent wrong.
- The same lines spelled in Devanagari for the voice: 6 percent wrong.
What that means in practice
So TallyReel keeps two spellings of every Urdu line. Viewers see proper Urdu script in the captions, and the voice reads a Devanagari spelling of the same words behind the scenes. That one change did more for Urdu than any model swap.
It also exposed the next problem: when a script is drafted in Hindi and converted, Hindi vocabulary leaks into the Urdu. The fix there is in the writing step, not the voice, and we now write Urdu stories natively instead of converting them.
After shipping: checks and guard rails
VoxCPM2 went into Studio the same day, on Macs through MLX and on Windows and Intel Macs through a separate PyTorch engine. On both paths Whisper misheard 1.4 to 3.2 percent of letters on our test lines, and a full Urdu video rendered in 173 seconds.
Generative voices sometimes run on or add sounds, so every take is checked against a simple length rule: at most 16 characters per second for Latin text and 10 for Devanagari. A take that fails is redone with a new seed, and if it fails again Kokoro reads that line instead, so a video never stalls on one bad sentence.
We then tried VoxCPM2 for English as well. On 32 English lines neither VoxCPM2 nor Kokoro made a real mistake, but VoxCPM2 sounded more natural, so it became the Natural voice for English, Hindi and Urdu. The cost is speed: about 3.2 seconds of work per second of speech, against about 0.4 for Kokoro, which stays available as the Fast option.
Where each voice runs today
In Studio, on your own computer, Hindi and Urdu are read by VoxCPM2 and nothing leaves your machine. In TallyReel's cloud apps, English now goes to Deepgram and Hindi and Urdu to an Azure Hindi voice, chosen for speed on shared servers, with VoxCPM2 as the fallback if those services fail.
If you are choosing a local model for your own Hindi or Urdu project, our advice is to start with VoxCPM2, feed Urdu through a Devanagari spelling, and add a length check on every take.
Models and links
Questions
What is the best free Hindi text-to-speech model that runs locally?
In our October 2026 test it was VoxCPM2: 2.3 percent of letters wrong on 10 Hindi lines, about 2.4 seconds of work per second of speech on an M1 Pro, Apache 2.0 licence.
Why does Urdu text-to-speech mispronounce words?
Most open models saw far less Urdu script than Devanagari in training. Reading the same words from a Devanagari spelling cut VoxCPM2's word errors from 28 percent to 6 percent in our test.
Is Kokoro good for Hindi?
Kokoro is fast and very good in English, but its Hindi voices had little training data, and it merges sounds like ख़ into ह, which hurts Urdu most.
Can VoxCPM2 clone a voice?
Yes. VoxCPM2 can clone a voice from a short clip and design new voices. TallyReel's voice cloning only ever clones your own voice.
Does TallyReel make Hindi and Urdu videos?
Yes. Type or paste a story in Hindi or Urdu and TallyReel writes, voices and captions it, with Urdu captions in proper Urdu script.
Pick one. Make it tonight.
Type the idea into TallyReel, read the script, and it makes the video for you: in the browser, on your phone, or in Studio on your own computer. Start on the free plan.