yusufadnan48/indic-parler-tts-demo
0
🎙️ Indic Parler-TTS Studio (AI4Bharat)
An interactive, high-fidelity demo Space for [ai4bharat/indic-parler-tts](https://huggingface.co/ai4bharat/indic-parler-tts), supporting 21+ Indian languages with natural language voice conditioning (gender, pitch, tempo, expressiveness, emotion, and environment control).
✨ Features
- 21+ Indic Languages + English: Tamil, Hindi, Telugu, Bengali, Malayalam, Kannada, Gujarati, Marathi, Punjabi, Odia, Urdu, Assamese, and more.
- Natural Voice Conditioning: Control voice attributes (male/female, deep/high-pitch, slow/fast, calm/energetic) simply by typing a description in English.
- Preloaded Voice Presets: Quick-select presets for Anime narration, News reporting, Storytelling, and Meditation.
- Interactive Studio: Live waveform visualizer with WaveSurfer.js and instant audio export.
- Python Code Generator: Real-time code snippet generation with one-click copy.
🐍 Python Usage (Local / Server)
pip install git+https://github.com/huggingface/parler-tts.git transformers soundfileimport torch
from parler_tts import ParlerTTSForConditionalGeneration
from transformers import AutoTokenizer
import soundfile as sf
device = "cuda:0" if torch.cuda.is_available() else "cpu"
model = ParlerTTSForConditionalGeneration.from_pretrained("ai4bharat/indic-parler-tts").to(device)
tokenizer = AutoTokenizer.from_pretrained("ai4bharat/indic-parler-tts")
prompt = "வணக்கம்! AI4Bharat மற்றும் Parler-TTS இணைந்து உருவாக்கிய குரல் மாதிரி இது."
description = "A deep-voiced male speaker delivers a calm, authoritative narration with clear pronunciation in a studio environment."
input_ids = tokenizer(description, return_tensors="pt").input_ids.to(device)
prompt_ids = tokenizer(prompt, return_tensors="pt").input_ids.to(device)
generation = model.generate(input_ids=input_ids, prompt_input_ids=prompt_ids)
sf.write("output.wav", generation.cpu().numpy().squeeze(), model.config.sampling_rate)