IndicF5 Hindi TTS Skipping Words During Generation Despite Good Voice Cloning
Hi, I’m using IndicF5 for Hindi TTS and voice cloning. Voice cloning quality is actually very good, and the generated voice matches the reference speaker well. However, the model is skipping many Hindi words during generation. Some words are spoken correctly, but many words are partially read or completely skipped, especially in long paragraphs.
I tested:
clean reference audio
exact matching ref_text
text chunking
audio normalization
but the issue still happens consistently.
Could you please suggest:
recommended inference settings
best chunk size for Hindi
whether MP3 causes this issue
any decoding/temperature parameters
preprocessing steps for stable Hindi generation
I’d really appreciate your guidance because the cloning quality is excellent, but text reading stability is the main problem right now.
Reference Auido :
Reference Text : तुम्हारे पास समय है, ताकत है और सपने हैं। बस जरूरत है मेहनत शुरू करने की ताकि कल तुम्हें अपने फैसलों पर गर्व हो, पछतावा नहीं।
Generated Audio :
------------------------------------------------------------------------------------------Code--------------------------------------------------------------------
from transformers import AutoModel
import numpy as np
import soundfile as sf
Load IndicF5 from Hugging Face
repo_id = "ai4bharat/IndicF5"
model = AutoModel.from_pretrained(repo_id, trust_remote_code=True)
Generate speech
audio = model(
"गांव के किनारे एक छोटा सा घर था, जहाँ आरव अपनी दादी के साथ रहता था। हर शाम वह खेतों के पास बैठकर आसमान में उड़ते पक्षियों को देखा करता था और सोचता था कि एक दिन वह भी दुनिया घूमेगा। एक दिन उसे पुराने पेड़ के नीचे एक छोटा लकड़ी का बक्सा मिला, जिसमें एक पुराना नक्शा और दादा जी का लिखा पत्र था। पत्र में लिखा था कि असली खजाना सोना-चांदी नहीं, बल्कि साहस और मेहनत है। उस दिन के बाद आरव ने पढ़ाई और मेहनत को अपना लक्ष्य बना लिया। कई सालों बाद वही लड़का गांव का सबसे बड़ा इंजीनियर बना और उसने अपने गांव में स्कूल और अस्पताल बनवाए, ताकि कोई बच्चा सपनों से दूर न रहे।",
ref_audio_path="Ads_male_17.mp3",
ref_text="तुम्हारे पास समय है, ताकत है और सपने हैं। बस जरूरत है मेहनत शुरू करने की ताकि कल तुम्हें अपने फैसलों पर गर्व हो, पछतावा नहीं।"
)
Normalize and save output
if audio.dtype == np.int16:
audio = audio.astype(np.float32) / 32768.0
sf.write("17.wav", np.array(audio, dtype=np.float32), samplerate=24000)
print("Audio saved succesfully.")