Maya 2 Native Goes Open: Apache-2.0 TTS for 11 Indian Languages Plus English

Introduction
Two weeks ago I wrote about Maya-2 from Maya Research as a closed, API-only Indian voice model with open weights "coming." They're here. Maya 2 Native is now on Hugging Face under Apache 2.0, with inference code on GitHub. Founder Dheemanth Reddy
on October 27.It's a streaming text-to-speech model for 11 Indic languages and English, with 20 built-in voices and zero-shot voice cloning from 3 to 10 seconds of audio. A voice can also cross languages, so a Hindi reference clip can speak Tamil.
You can run it today on your own NVIDIA GPU. One seat needs about 9.2 GB at load, so a 12 GB card is comfortable.
What Shipped
From the model card:
- Languages: Assamese, Bengali, English, Gujarati, Hindi, Kannada, Malayalam, Marathi, Odia, Punjabi, Tamil and Telugu.
- Size: 2.5B parameters, about 5 GB of BF16 weights. The backbone starts from Qwen3-1.7B-Base, with a roughly 555M depth decoder on top.
- Audio: 24 kHz mono, streamed in 80 ms frames, decoded with Kyutai's Mimi codec.
- Voices: 20 named synthetic personas, from "steady narrator" voices like Malini and Vasant to conversational ones like Abhay and Nivedita.
- Cloning: register a clean 3 to 10 second clip with its exact transcript, then generate in any supported language.
- Interfaces: a Python API, an OpenAI-compatible
/v1/audio/speechendpoint, and WebSocket streaming. - License: Apache 2.0 for weights and code. Mimi stays CC-BY-4.0, so keep its attribution.
The Numbers, With Caveats
Maya Research tested on 6,000 held-out texts, 500 per language, covering numbers, dates, currency, addresses, URLs and code-mixed sentences. That came to 20.3 hours of speech.
- Overall character error rate: about 3.4% to 3.5% with two ASR judges, and 2.86% with a held-out third judge.
- Best languages: Hindi and Marathi landed around 1.5% to 2%.
- Hardest: Assamese at about 5.4% to 6.6%. No built-in voice has an hour of Assamese training data, so some outputs drift toward a Bengali sound.
- Voice identity: 98.6% of clips matched the right built-in voice.
- Speed: on one H100, 224 streams at once with about 111 ms median time to first audio, and about 14 ms for a single stream.
The launch post says Maya-2 beats ElevenLabs v3, Sarvam Bulbul v3 and Cartesia Sonic 3.5. The model card is more careful. It says there's no human naturalness study and no controlled comparison with other TTS models in this release, and all scores are the team's own automated measurements. Listen before you believe the leaderboard line.
How to Run It Today
You need Linux, Python 3.10 to 3.12, and an NVIDIA GPU with CUDA 12.8 drivers.
python -m venv .venv
source .venv/bin/activate
pip install "maya3[server] @ git+https://github.com/MayaResearch/maya2-native" \
--extra-index-url https://download.pytorch.org/whl/cu128Note the package name is still maya3. Then generate a line in Hindi:
import soundfile as sf
from maya3 import Maya3TTS
tts = Maya3TTS.from_pretrained("maya-research/maya2-native", max_seats=1)
audio = tts.generate("नमस्ते, आपका ऑर्डर कल पहुँच जाएगा।",
lang="hi", voice="Ahana", normalize=True)
sf.write("speech.wav", audio, 24000)
tts.close()To clone, call tts.register_voice("my_voice", ref_audio="reference.wav", ref_text="...", lang="hi"), then pass voice="my_voice" with a different lang to hear it in another language.
Or serve it as an OpenAI-style endpoint:
python -m maya3.server --ckpt maya-research/maya2-native \
--host 127.0.0.1 --port 8080 --max-seats 1- Turn on normalization: the Python API needs
normalize=Trueto read numbers, dates and currency properly. The server does it by default. - Lock it down: the server has no built-in authentication, so don't expose it publicly as-is.
- No watermark: this release doesn't watermark audio, so disclosure is on you.
Why It Matters for Audio Creators
Good open TTS has been thin for most Indian languages. Odia, Assamese, Punjabi and Malayalam creators usually choose between a paid API and a robotic open model. Maya 2 Native gives them a self-hosted, commercially usable option with real narrator voices.
The cross-lingual cloning is the fun part. You could voice a YouTube explainer in Hindi, then ship Tamil, Telugu and Bengali versions in the same voice without re-recording. Expression tags like [laughs] and [whispers] exist but are best effort, so keep expectations modest for drama work.
Limits worth knowing: one or two word prompts are less stable, URLs and long digit strings still trip it up, and cloned voices are approximate. Clone only voices you have permission to use.
Conclusion
Maya 2 Native turns a closed launch into a real open release: 2.5B parameters, 12 languages, 20 voices, cross-lingual cloning and Apache-2.0 weights that fit on a 12 GB GPU. If you make content for Indian audiences, grab the samples on the model card and give it an afternoon.
—Anabel ♡
