vivek-541/vani-tts
Lightweight on-device Hindi TTS for Android & iOS — fine-tuned on AI4Bharat IndicVoices, ONNX export, runs offline on CPU in real-time.
What's novel
Lightweight on-device Hindi TTS for Android & iOS — fine-tuned on AI4Bharat IndicVoices, ONNX export, runs offline on CPU in real-time.
Code Analysis
9 files read · 3 roundsA fork of StyleTTS2 adapted for Hindi TTS by swapping the text frontend to espeak-ng phonemization and adding a WavLM-based perceptual discriminator, with two-stage training (aligner+decoder, then diffusion-based style model).
Strengths
The codebase is a complete, working StyleTTS2 pipeline with a coherent two-stage training loop, a WavLM-based SLM adversarial loss, and a proper EDM/Karras diffusion implementation for style generation. The Hindi adaptation (espeak-ng phonemizer, IPA symbol table, batch phonemization script) is a reasonable and practical approach to a non-Latin script.
Weaknesses
There are zero tests, the README describes a 'pivot to VITS' and 4 training rounds with detailed loss analysis that has no corresponding code in the repository, and the project is fundamentally a fork with minimal novel contribution beyond the Hindi data pipeline. Hardcoded paths, missing imports (Utils.JDC, Utils.PLBERT not in file tree), and a bare `except: continue` in the training loop indicate incomplete engineering.
Score Breakdown
Signal breakdown
Innovation
Craft
Traction
Scope
Evidence
Commits
23
Contributors
12
Files
51
Active weeks
3
Repository
Language
Python
Stars
1
Forks
0
License
Apache-2.0