Dear Arun,
for reading out texts in many languages (including Hindi), there is MBROLA
_http://tcts.fpms.ac.be/synthesis/mbrola.html_
(http://tcts.fpms.ac.be/synthesis/mbrola.html) .
The authors provide it for many platforms.
Searching on the web, I have found a Ruby interface for the Japanese
version of MBROLA.
_http://raa.ruby-lang.org/project/mudatts/_
(http://raa.ruby-lang.org/project/mudatts/)
Essentially, it involves constructing a file of phonemes (or sounds) from
diphones
(that's a combination of two sounds). This is what you have to do for any
language.
This file does some adaptation of a text that you want to read out, such as
converting
numbers to words.
I haven't tested the Ruby program (as I don't speak Japanese, I can't judge
anyway), but maybe it can be adapted to your needs.
I think you'd also find the authors of MBROLA helpful - they'll certainly be
grateful
for some additional Indian languages profiles.
Best regards,
Axel