On-device-first Indic Text-to-Speech: 23 Languages, Streaming | Pramiteeh
Engineering & product

On-device-first Indic speech: 23 languages, streaming, offline-ready

Natural text-to-speech for two dozen Indian languages that can run directly on the device when offline use, privacy, or local responsiveness matters. On tested phones, the first generated audio chunk arrives in roughly 300–400 milliseconds, depending on language. The same engine is also available through managed and self-hosted server deployments. Mobile performance depends on the phone’s CPU; older or lower-powered phones may take longer to start playback and need more buffering.

Pramiteeh Labs·7 min read·Product & evaluation

Article snapshot

23

Indic languages

300–400 ms

First generated chunk

Offline

On-device synthesis

24 kHz

Waveform output

Startup time depends on the phone’s CPU. Older devices may need more buffering before playback.

Why on-device

Most production text-to-speech today is stuck behind a cloud API. For regional voice agents, accessibility products, and embedded edge devices, that brings three immediate bottlenecks: network latency, privacy risk, and per-character billing that explodes at scale.

We built our engine to run the entire speech pipeline directly on the device when an offline or private deployment is needed. It delivers natural, streaming speech across 23 Indic languages plus English, with the first generated audio chunk arriving in roughly 300–400 milliseconds, depending on language on tested phones. The same speech engine can also run through our managed API or inside a customer’s own infrastructure.

What we built

Building on Pocket-TTS by Kyutai, we developed an Indic speech system focused on multilingual text, natural pronunciation and streaming playback. Our work includes language-specific text processing, Indic training and voice cloning.

The datasets used for our Indic training to date are entirely open datasets. They provide the foundation for the current model’s language coverage.

From text to speech

A simple listening experience

  1. 01

    Your text

    Indian scripts, English, numbers and everyday terms.

  2. 02

    Spoken form

    Prepare the text for a natural spoken reading.

  3. 03

    Streaming audio

    Start listening while the rest is generated.

Choose a preset voice or create a voice profile from a clean recording.

Figure 1. The user experience, from written input to spoken audio.

1 · Indic text understanding

Our TTS system is designed to read Indian text as people write it — combining languages, numbers and everyday technical terms within the same passage:

  • Multilingual speech: handles sentences that combine Indian scripts and English, such as “आज का meeting 3:30 बजे, పని త్వరగా complete చేయాలి”.
  • Indian numbers and currency: reads amounts expressed in lakhs and crores, including currency values such as ₹1,23,456.75.
  • Everyday and technical content: supports spoken readings of dates, units, abbreviations, phone numbers and formulas such as E = mc².
CaseInputSpoken as
Indian-format money & units₹1,23,456.75 में 15 किलोone lakh twenty-three thousand… fifteen kilo
Dates & 24-hour time15/09/2026, 09:00the fifteenth of September… nine o'clock
Ranges vs. hyphens10-20 units, 16-bitten to twenty… sixteen bit
Phone numbers+91 98765 43210read digit by digit, not as a quantity
ChemistryH2O, NaCl, 2H2 + O2 -> 2H2OH two O, N A C L, … to …
Equationsa^2 + b^2 = c^2, E = mc^2a squared plus b squared equals c squared
Abbreviations & initialsDr. Rao, M.G. Rd., Apt. 4Bdoctor Rao, M G road, apartment four B
Code-mixingआज का meeting 3:30 बजे हैspoken naturally, script by script

Try the hard cases

Everyday Indian text does not arrive as clean, single-language prose. The live demo includes examples that exercise the cases people actually paste into a product: mixed scripts, Indian-format amounts, dates and times, contact details, abbreviations, chemistry and equations.

Mixed scripts

आज का meeting 3:30 बजे है, పని త్వరగా complete చేయాలి

Money and units

₹1,23,456.75 में 15 किलो

Technical text

H2O, NaCl, a^2 + b^2 = c^2

Contact details

Dr. Rao, M.G. Rd., PIN 500081

Open the live demo and select an edge-case chip to hear the result. Native scripts are best when available; the engine also accepts ordinary code-mixed text and identifies the appropriate language as it reads.

2 · Streaming speech

Speech starts playing while the rest is still being generated, so listeners can begin hearing a response before the whole passage is ready. The same streaming experience supports short replies and longer text. For longer passages, the engine carries speech forward across natural text boundaries while playback is already under way.

The 300–400 ms timing cited here measures time to the first generated audio chunk on an internal OnePlus Nord CE4 test device, which uses Qualcomm’s Snapdragon 7 Gen 3 Mobile Platform. It does not include the device-specific playback buffer: audible playback begins after that initial PCM has been buffered. Performance depends on language, CPU workload and buffering policy; older or lower-powered phones may take longer to start playback.

3 · Zero-shot on-device voice cloning

Create a voice profile from a short reference recording and use it to generate speech in supported languages, without training a separate model for that speaker. In the on-device version, the reference recording is processed locally.

What matters most is clean audio: a single speaker, free of background noise and music, ideally in a quiet room. Give it at least a few seconds; the engine uses up to about 10 seconds of that clip to build the profile, so a clean ~10-second recording is ideal. The app flags potential recording-level problems to help you choose a cleaner reference.

Voice similarity: cloning is designed to preserve the reference speaker’s vocal character. How closely the generated voice matches depends on the recording quality, the speaker and the target language. Accent, rhythm and emotional expression can vary.

1

Reference audio

Use a clean recording of one speaker.

2

Voice profile

The app prepares the profile on the device.

3

Generate speech

Use the profile with supported language text.

The benchmark below uses preset voices and measures transcription error rates and predicted speech quality. It does not measure voice-cloning similarity.

23 Indic languages, plus English

Assamese, Bengali, Bhojpuri, Bodo, Chhattisgarhi, Dogri, Gujarati, Hindi, Kannada, Konkani, Magahi, Maithili, Malayalam, Manipuri, Marathi, Nepali, Odia, Punjabi, Rajasthani, Sanskrit, Santali, Tamil, Telugu — plus English.

Pick a language and voice, or let the engine auto-detect from the text. Real Indian text is rarely monolingual — and often not even bilingual — so the engine speaks whatever mix of languages it's given. A single sentence can weave three or more languages together — Devanagari, Telugu and English in one breath — and each is spoken correctly.

How we compare

We compared Pramiteeh with Sarvam Bulbul v3 on all 1,265 prompts in the high-quality track of Sarvam’s public TTS benchmark: 115 per language across 10 Indian languages and English. Both systems received the same input text. We used our language-specific female voices and Sarvam’s Shubh voice at the tested settings.

Sarvam Saaras v3 transcribed both sets of recordings for word and character error scoring. DNSMOS P.808 separately estimated speech quality. The benchmark code, prompts and recorded results are available for inspection and reruns; model or service updates can change future results.

How we measured

Same prompts, shared scoring

1,265 identical input texts

115 per language · 10 Indian languages + English

Pramiteeh

Language-specific female voices

Sarvam Bulbul v3

Shubh voice

Score both sets of generated audio

ASR transcription → WER / CER

Sarvam Saaras v3 transcribes each clip; compare the transcript with the input text.

DNSMOS P.808 → predicted quality

A separate model estimates speech quality directly from each recording.

Figure 2. Identical prompts and scoring tools; different voices and speaking durations. This evaluates the tested settings.
MetricPramiteehSarvam Bulbul v3Read
Corpus word error rate ↓25.1%29.6%Lower at the tested settings
Corpus character error rate ↓17.4%22.8%Ours
Predicted quality (DNSMOS) ↑3.74.1Sarvam scores higher

A comparison limitation

Our recordings were longer

Mean audio duration across the same 1,265 prompts, including pauses.

Pramiteeh19.08 s
Sarvam Bulbul v315.11 s
Figure 3. Pramiteeh audio was 26.3% longer overall and longer on 1,155 of 1,265 prompts. Duration includes silence and does not measure speaking pace by itself.

Pramiteeh’s recordings averaged 19.08 seconds versus 15.11 seconds for Sarvam, a 26.3% total-duration difference. The files include both speech and generated pauses or silence. We did not measure articulation rate and silence separately, so this result cannot say whether the additional duration comes from slower speech, longer boundaries or trailing silence.

At these settings, Pramiteeh had lower word and character error rates, while Sarvam scored higher on predicted speech quality.

By language, Pramiteeh had lower WER in 8 of 11 languages. Sarvam had lower WER in Tamil, Malayalam and English, and higher DNSMOS P.808 scores across all 11:

LanguageWER % ↓DNSMOS ↑
OursSarvamOursSarvam
Hindi20.828.23.614.12
Bengali25.628.03.644.09
Telugu27.236.03.724.10
Tamil29.627.93.754.11
Marathi21.125.73.824.10
Gujarati35.944.03.624.12
Kannada17.130.23.544.09
Malayalam34.430.03.534.09
Odia27.431.13.694.07
Punjabi24.034.33.854.11
English14.29.83.764.13

Coverage: 1,265 matched clips per system, with 115 prompts in each of 10 Indian languages plus English. WER and CER aggregate edit counts across the corpus. The same ASR and text-normalization procedure were used for both systems. Full data and code: the benchmark repository.

What we’re working on next

We are moving toward custom-curated datasets to improve emotional expression, natural prosody and vocalizations such as laughter. These are development goals for future versions.

Hear it yourself

Type or paste anything — including the hard cases above — and hear it stream back live.