# Run Maya 2 Native locally: streaming TTS in 12 languages

> Source: <https://dev.to/dheemanth_reddy_15562089c/run-maya-2-native-locally-streaming-tts-in-12-languages-33f6>
> Published: 2026-10-29 10:12:10+00:00

We’re releasing **Maya 2 Native**, a text-to-speech model from **Maya Research** for **11 Indic languages and English**. The weights and inference code are available under **Apache-2.0**, with **20 built-in voices**, streaming audio, and voice cloning from **3–10 seconds of reference speech**.

[Get the weights](https://huggingface.co/maya-research/maya2-native) · [Inference code](https://github.com/MayaResearch/maya2-native) · [Full model card and evaluations](https://huggingface.co/maya-research/maya2-native#evaluation)

The model supports **Assamese, Bengali, English, Gujarati, Hindi, Kannada, Malayalam, Marathi, Odia, Punjabi, Tamil, and Telugu**. It produces **24 kHz mono audio** and can stream speech as it is generated.

Here are three existing, unedited release examples. They were selected from benchmark clips with under 2% character error rate under all three ASR judges; they illustrate capabilities rather than average performance.

**Hindi · Ritvik**

**Tamil · Abhay**

**Telugu · Nivedita**

The Tamil and Telugu examples are cross-lingual: these two voices were trained on English and Hindi. [Listen to all 12 language samples](https://huggingface.co/maya-research/maya2-native#listen-in-12-languages).

Use a built-in voice without uploading reference audio, or register a voice using a clean reference clip and its exact transcript. The reference language and output language can differ. Clone only voices you own or have explicit permission to use.

The inference engine includes a **Python API**, an **OpenAI-compatible speech endpoint**, and **WebSocket streaming**, with continuous batching and CUDA graphs for concurrent generation. It is intended for voice agents, multilingual interfaces, accessibility, narration, IVR, and notifications.

Start with Linux, Python 3.10–3.12, an NVIDIA GPU, and a driver supporting CUDA 12.8. Use one serving seat initially; the documented loading peak is approximately 9.2 GB plus CUDA context, so a 12 GB or larger GPU provides more room.

```
pip install "maya3[server] @ git+https://github.com/MayaResearch/maya2-native" \
  --extra-index-url https://download.pytorch.org/whl/cu128
python
import soundfile as sf
from maya3 import Maya3TTS

tts = Maya3TTS.from_pretrained("maya-research/maya2-native", max_seats=1)
try:
    audio = tts.generate(
        "నమస్తే! మీతో మాట్లాడటం సంతోషంగా ఉంది.",
        lang="te",
        voice="Sreekar",
        normalize=True,
    )
    sf.write("maya_telugu.wav", audio, 24000)
finally:
    tts.close()
```

The public model name is **Maya 2 Native**. The implementation retains its internal identifiers: `maya3`, `Maya3TTS`, and `maya3_config.json`. Use those names in code. The Python API needs `normalize=True` to expand numbers, dates, currency, and similar written forms; the HTTP and WebSocket servers enable normalization by default.

Our release benchmark contains **6,000 held-out texts**, with **500 per language** across **31 content categories**, producing **20.3 hours of speech**. Three ASR systems evaluate intelligibility, and an ECAPA speaker-embedding classifier measures consistency among the built-in voices.

| Release measurement | Reported result | 
|---|---|
| Overall CER, scorer v1: ASR-1 / Qwen3-ASR / held-out ASR-2 | 3.49% / 3.40% / 2.86% | 
| Built-in voice identity, nearest of 20 centroids | 98.6% | 
| Concurrent WebSocket streams on one H100 NVL | 224 | 
| Steady-state time to first audio, p50 / p90 / p99 | 111 / 134 / 242 ms | 
| Aggregate throughput in that serving run | 323 seconds of audio per wall-clock second | 

These are **Maya Research’s measurements**, with the release serving stack. The concurrency run used one H100 NVL with 95 GB reported memory, a BF16 backbone, and an FP16 depth decoder. Automated ASR and speaker metrics do not replace human listening, and latency depends on hardware, workload, and the serving environment. [Read the benchmark setup, per-language results, and harder cases](https://huggingface.co/maya-research/maya2-native#evaluation).

Separately, **VoiceArena’s October 27, 2026 Hindi / All / Real-time only leaderboard** displayed **Maya-2-Native at #2**, with **Elo 1047 ±11**, **2,268 samples**, and a rank interval of **2–4**. This is a dated, Hindi-specific result. VoiceArena lists the entry as July 2026 and does not identify its exact checkpoint revision. [Leaderboard](https://voicearena.com/tts-leaderboard/hindi) · [Snapshot and context](https://huggingface.co/maya-research/maya2-native#voicearena-benchmark).

Assamese remains the most challenging Indic language in the release benchmark. Very short turns can make voice identity less stable; code-mixed text, URLs, unusual number formats, and unfamiliar names can produce pronunciation errors. Voice clones approximate the reference, and emotion tags are best effort. The release does not add an audio watermark.

We would especially like feedback from developers building Indic voice agents: **which language, voice, or input format should we improve next?** Share the text, language, voice, and serving setup when reporting a reproducible issue, without including private customer data.

Maya Research team: **Dheemanth Reddy BS, Bharath Kumar Kakumani, Sai Charan Thippareddy, and Prahalad Boreddy**.

Thanks to the **Qwen team** for [Qwen3-1.7B-Base](https://huggingface.co/Qwen/Qwen3-1.7B-Base), **Kyutai** for [Mimi](https://huggingface.co/kyutai/mimi), **SpeechBrain** for [ECAPA-TDNN](https://huggingface.co/speechbrain/spkrec-ecapa-voxceleb), and the **Hugging Face community** for the tools and infrastructure. Upstream components retain their respective licenses and attribution requirements.

**[Download Maya 2 Native](https://huggingface.co/maya-research/maya2-native)** and tell us what you build.

Disclosure: I am a co-founder of Maya Research. This article was prepared with AI assistance using our published model card and inference code.
