India is not one voice - it is a symphony. Tamil, Bengali, Urdu, Hindi, Kannada - each a living civilisation, spoken daily by hundreds of millions. Yet for too long, AI treated them as afterthoughts. Models built elsewhere, for someone else, leaving Bharat to make do with approximations of its own languages.
BharatGen was built to end that. We are India's sovereign AI initiative - weaving the country's languages, cultures, and voices into technology that is truly Indian. Not adapted. Not translated. Built from the ground up, for Bharat.
Sooktam-2 is our answer to India's need for a voice. A Text-to-Speech model that speaks 12 languages (11 indian languages + 1 indian english) with the phonetic precision, prosody, and cultural soul they deserve - so that every Indian, in every state, can hear AI speak their language, in their accent, and feel at home.
This is GenAI for Bharat, by Bharat.
What is Sooktam-2?
Sooktam-2 is a sovereign multilingual Text-to-Speech model built by BharatGen. It synthesises natural, expressive speech across India's major languages using reference-guided voice conditioning - preserving the speaker's voice, accent, and cultural cadence.
Represented Languages - 12
Hindi · Marathi · Gujarati · Tamil · Telugu · Kannada · Bengali · Malayalam · Odia · Urdu · Punjabi · Indian English
Key Capabilities
Reference-guided voice cloning
Multilingual Indic speech synthesis
Natural prosody and expressive delivery
Language-aware CLS tokenization for accurate Indic phonetics
Production-quality audio output, deployment-ready at scale
1import os
2from transformers import AutoModel
34# --- Model ID ---5MODEL_ID ="bharatgenai/sooktam2"67# --- Your reference audio and target text ---8REF_AUDIO ="reference.wav"# A short, clean voice clip (3–10 sec)9REF_TEXT ="सर, मैं तब से यह कह रहा हूँ कि मैंने अपना टिकट कैंसल कर दिया है, लेकिन अब तक मेरे पैसे वापस नहीं आए हैं। आप इस मामले को देखेंगे भी या नहीं?"10GEN_TEXT ="यह एक टेस्ट वाक्य है जिसे आवाज़ में बदलना है।"1112# --- Output ---13OUT_DIR ="outputs"14OUT_WAV = os.path.join(OUT_DIR,"sooktam_cls.wav")1516# --- Load model (auto-downloads checkpoint + vocab from HuggingFace) ---17model = AutoModel.from_pretrained(18 MODEL_ID,19 trust_remote_code=True,20)2122os.makedirs(OUT_DIR, exist_ok=True)2324# CLS tokenization is handled inside utils_infer via cls_tokenizer_v225wav, sr, _ = model.infer(26 ref_file=REF_AUDIO,27 ref_text=REF_TEXT,28 gen_text=GEN_TEXT,29 tokenizer="cls",30 cls_language="hindi",31 file_wave=OUT_WAV,32)3334print("Saved:", OUT_WAV,"sample_rate:", sr,"samples:",len(wav))
The model and vocab download automatically from HuggingFace on first run. No manual checkpoint hunting required.
BharatGen is India's initiative to build AI that is Indian in its roots, inclusive in its reach, and sovereign in its design. We believe that a nation of India's civilisational depth - of Sanskrit and Tamil, of Tagore and Kabir, of a billion daily conversations - should not have to borrow its voice from elsewhere.
India's languages are not a niche. They are the world's richest linguistic heritage. And now, they have a model built for them.