uccharanउच्चारण

5× faster than espeak-ng. Just as accurate. Free to ship.

A drop-in phonemiser for Piper, Kokoro and sherpa-onnx voices — English and Hindi, in Rust, Python, C and the browser. Apache-2.0.

12 µs per sentence vs 62 µs · same word error rate through Piper and Kokoro voices · no GPL anywhere

Everything on this page runs locally in WebAssembly; nothing you type leaves your device.

Mode

Phonemes

loading…

Compatible

Matches the phonemes existing Piper, Kokoro, Kitten and Matcha voices were trained on, quirks included, so they keep sounding the way they do.

Improved

Fixes what the reference gets wrong: homographs in context, names, numbers and dates, Hindi schwa deletion and nasals. For new voices and for reading text out correctly.

Small and fast

The WebAssembly core is a few hundred kilobytes; each language's data is fetched the first time you use it.

Use it

npm install uccharan

import { phonemize } from "uccharan";
await phonemize("Hello, world.");                      // "həlˈoʊ, wˈɜːld."
await phonemize("नमस्ते", { lang: "hi", profile: "sherpa-onnx" });