India recognizes 22 scheduled languages and is home to hundreds more. Developers building speech products for this market have had few open-weight systems spanning major Indic languages, often leaving proprietary APIs or separate language-specific models as the practical options.
Maya Research has released Maya 2 Native, a streaming text-to-speech model covering 11 Indian languages and English. It includes 20 voices, clones voices from short reference clips, and publishes its weights and inference code under Apache 2.0. The release gives teams a self-hosted option for voice agents, accessibility tools, media generation, and regulated workloads that cannot send text or audio to an external service.
One model, 12 languages
One packaging mismatch can trip up integration: the product is named Maya 2 Native, while the repository, Python package, configuration files, and main class retain the names maya3 and Maya3TTS. Existing examples therefore import maya3.
From install to first waveform
The documented NVIDIA installation pulls the package from GitHub and uses PyTorch’s CUDA 12.8 package index:
pip install "git+https://github.com/MayaResearch/maya2-native.git" \
--extra-index-url https://download.pytorch.org/whl/cu128The basic API loads the Hugging Face weights, generates Hindi speech with a built-in voice, and writes a 24 kHz WAV file:
from maya3 import Maya3TTS
import soundfile as sf
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)Calling tts.stream()