Downloads ยท 30 days
0
Dubverse/MahaTTSv2
MahaTTSv2 is a machine learning model from Dubverse. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
Downloads ยท 30 days
0
Access
Public
Updated Feb 4, 2026
Repo size
4.6 GB
Likes
2
Public
Click a slice to open those files.
.pt4.6 GB ยท 100%
From the Hugging Face model README
<a href="https://ibb.co/wN1LS7K"><img width="320" height="173" alt="Screenshot-2024-01-15-at-8-14-08-PM" src="https://github.com/user-attachments/assets/af22f00d-e9d6-49e1-98b1-7efeac900f9a" /></a>
<h1>MahaTTS v2: An Open-Source Large Speech Generation Model</h1> a <a href = "https://black.dubverse.ai">Dubverse Black</a> initiative <br> <br> <!-- [](https://colab.research.google.com/drive/1qkZz2km-PX75P0f6mUb2y5e-uzub27NW?usp=sharing) --> </div>We introduce MahaTTS v2 (Paper), a multi-speaker text-to-speech (TTS) system that has been trained on 50k hours of Indic and global languages. We have followed a text-to-semantic-to-acoustic approach, leveraging wav2vec2 tokens, this gives out-the-box generalization to unseen low-resourced languages. We have open sourced the first version (MahaTTS), which was trained on English and Indic languages as two separate models on 9k and 400 hours of open source datasets. In MahaTTS v2, we have collected over 20k+ hours of training data into a single multilingual cross-lingual model. We have used gemma as the backbone for text-to-semantic modeling and a conditional flow model for semantics to mel spectogram generation, using a BigVGAN vocoder to generate the final audio waveform. The model has shown great robustness and quality results compared to the previous version. We are also open sourcing the ability to finetune on your own voice.
git lfs install
git clone --recurse-submodules https://huggingface.co/Dubverse/MahaTTSv2
pip install -r MahaTTSv2/requirements.txt
import sys
sys.path.append("MahaTTSv2/")
import os
import torch
import subprocess
from inference import infer, prepare_inputs, load_t2s_model, load_cfm, create_wav_header
device = "cuda"# if torch.cuda.is_available() else "cpu"
print("Using device", device)
# Model checkpoints
m1_checkpoint = "MahaTTSv2/pretrained_checkpoint/m1_gemma_benchmark_1_latest_weights.pt"
m2_checkpoint = "MahaTTSv2/pretrained_checkpoint/m2.pt"
vocoder_checkpoint = 'MahaTTSv2/pretrained_checkpoint/700_580k_multilingual_infer_ready/'
global FM, vocoder, m2, mu, std, m1
# Load models
FM, vocoder, m2, mu, std = load_cfm(m2_checkpoint, vocoder_checkpoint, device)
m1 = load_t2s_model(m1_checkpoint, device)
def generate_audio(text, language):
ref_clips = [
'speakers/female1/train_hindifemale_02794.wav',
'speakers/female1/train_hindifemale_04167.wav',
'speakers/female1/train_hindifemale_02795.wav'
]
text_ids, code_ids, language_code, ref_mels_m1, ref_mels_m2 = prepare_inputs(
text.lower(),
ref_clips_m1=ref_clips,
ref_clips_m2=ref_clips,
language=language,
device=device
)
audio_wav = infer(m1, m2, vocoder, FM, mu, std, text_ids, code_ids, language_code, ref_mels_m1, ref_mels_m2, device)
return 24000,audio_wav
| Model | Parameters | Model Type | Output |
|---|---|---|---|
| Text to Semantic (M1) | 510 M | Causal LM | 10,001 Tokens |
| Semantic to MelSpec(M2) | 71 M | FLOW | 100x Melspec |
| BigVGAN Vocoder | 112 M | GAN | Audio Waveform |
The following languages are currently supported:
| Language | Status |
|---|---|
| Assamese (in) | โ |
| Bengali (in) | โ |
| Bhojpuri (in) | โ |
| Bodo (in) | โ |
| Dogri (in) | โ |
| Odia (in) | โ |
| English (en) | โ |
| French (fr) | โ |
| Gujarati (in) | โ |
| German (de) | โ |
| Hindi (in) | โ |
| Italian (it) | โ |
| Kannada (in) | โ |
| Malayalam (in) | โ |
| Marathi (in) | โ |
| Telugu (in) | โ |
| Punjabi (in) | โ |
| Rajasthani (in) | โ |
| Sanskrit (in) | โ |
| Spanish (es) | โ |
| Tamil (in) | โ |
| Telugu (in) | โ |
MahaTTS is licensed under the Apache 2.0 License.