Note: Currently new registrations are closed, if you want an account Contact us

Difference between revisions of "Dhvani"

 
 
(43 intermediate revisions by one other user not shown)
Line 1: Line 1:
== '''Dhvani Indian Language Text to speech Engine''' ==
== '''Dhvani Indian Language Text to speech Engine''' ==
  This page is no longer maintained. For a detailed documentation see http://dhvani.sourceforge.net
Dhvani  project is a [http://www.efytimes.com/efytimes/24867/news.htm FOSS India award 2008 winner]
[[Image:FOSS_awards_low_res.jpg|thumb|300px|FOSS India Awards 2008 Winner Project]]
==''Introduction''==
==''Introduction''==


Dhvani is a [[Text To Speech System]] specially designed for Indian languages. The project started in 2000 by [[Simputer]] trust headed by Dr. Ramesh Hariharan, Indian Institute of Science Bangalore. It uses [[diphone concatenation]] algorithm. Currently it has [[Hindi]],[[Malayalam]],[[Kannada]] modules.It can serve as a
Dhvani is a [[Text To Speech System]] specially designed for Indian languages. The project started in 2000 by [[Simputer]] trust headed by Dr. Ramesh Hariharan, Indian Institute of Science Bangalore. It uses [[diphone concatenation]] algorithm. Currently it has [[Hindi]],[[Malayalam]],[[Kannada]] .[[Bengali]], [[Oriya]],[[Panjabi]], [[Gujarati]],[[Telugu]], [[Marathi]] modules.It can serve as a
back end for speech synthesisers in Indian Languages, in conjunction
back end for speech synthesisers in Indian Languages, in conjunction
with a laguage-specific text-to-phonetics module (modules for hindi and
with a laguage-specific text-to-phonetics module. This speech engine has not made any attempt
kannada will soon be ready). This speech engine has not made any attempt
to do prosody on the output. It simply concatenates basic sound units
to do prosody on the output. It simply concatenates basic sound units
at pitch periods and plays them out. Adding prosody is a task for the future.
at pitch periods and plays them out. Adding prosody is a task for the future.
A platform independent java port of Dhvani is under development. It will include API for applications which can use Dhvani as TTS system. Minimal support for SSML will be also present.


==''Sound Database''==
==''Sound Database''==
Line 394: Line 396:
===''Kannada Module''===
===''Kannada Module''===
Kannada Module is written by Ravi Masalthi, IISC Bangalore
Kannada Module is written by Ravi Masalthi, IISC Bangalore
===''Kannada Module''===
 
 
===''Gujarati Module''===
===''Gujarati Module''===
The CVS contains a draft working version of this langauge module.
Developers from this Languages are required to refine it
===''Bengali Module''===
===''Bengali Module''===
The CVS contains a draft working version of this langauge module.
Developers from this Langauges are required to refine it
===''Oriya Module''===
===''Oriya Module''===
The CVS contains a draft working version of this langauge module.
Developers from this Languages are required to refine it
===''Panjabi Module''===
===''Panjabi Module''===
The CVS contains a draft working version of this langauge module.
Developers from this Languages are required to refine it
===''Telugu Module''===
The CVS contains a draft working version of this langauge module.
Developers from this Languages are required to refine it


===''Malayalam Module''===
===''Malayalam Module''===
Malayalam module is written by Santhosh Thottingal. Support for malayalam numbers, english numbers, decimal places, English abbreviations, and special characters are provided.It consists of unicode parser which will read malayalam unicode encoded text. Words are identified by '.', '!', ';', ',' ,'-' etc. Then the unicode text is converted to Dhvani phoneme script.
Malayalam module is written by Santhosh Thottingal. Support for malayalam numbers, english numbers, decimal places, English abbreviations, and special characters are provided.It consists of unicode parser which will read malayalam unicode encoded text. Words are identified by '.', '!', ';', ',' ,'-' etc. Then the unicode text is converted to Dhvani phoneme script.
Number reading logic done using pattern-exception rules.
Number reading logic done using pattern-exception rules.
===''Marathi Module''===
Marathi Module is wriiten by Rahul Bhalerao


==''Dhvani Front End''==
== '' Text to Ogg file Conversion''==  
To be developed. Integrating Dhvani with openoffice, epiphany etc is planned
TO convert a utf-8 file to ogg file follow these steps
a) Convert the text to raw sound file
  dhvani -o outputfile.wav textfile
a) Convert the sound file to ogg
  oggenc -B 16 -C 1 -R 16000 outputfile.wav
 
The oggfile will be created with the name outputfile.ogg
 
==Sample speech files==
# Hindi [http://santhosh00.googlepages.com/hindi.ogg Ogg format] [http://santhosh00.googlepages.com/hindi.mp3 MP3 format]
# Malayalam [http://santhosh00.googlepages.com/magic_cat-0.ogg Ogg format] [http://santhosh00.googlepages.com/magic_cat-0.mp3 MP3 format]
# Marathi [http://santhosh00.googlepages.com/marathi.ogg Ogg format]
# Panjabi [http://santhosh00.googlepages.com/panjabi.wav WAV format]
# Telugu [http://santhosh00.googlepages.com/telugu.wav WAV format]


==''Developers''==
==''Developers''==
# [http://144.16.67.13/~ramesh Ramesh Hariharan]
# [http://www.hariharan-ramesh.com Ramesh Hariharan]
# [[User:Santhosh|Santhosh Thottingal]]
# [[User:Santhosh|Santhosh Thottingal]]
# Rahul Bhalerao
==''How to create Audio books using Dhvani''==
One of the important feature of dhvani is , it can be used for creating audio books out of utf-8 formatted texts in supported languages.
To create an audiobook follow these steps
* dhvani -o audiobook.wav  textfile
* oggenc -B 16 -C 1 -R 16000 audiobook.wav
Now you have a file called audiobook.ogg. If you prefer ogg, then your audiobook is ready. If you want the file in mp3 format
* oggdec  audiobook.ogg (This will create a file named audiobook.ogg.wav )
* lame --preset 192 -ms -h audiobook.ogg.wav (install [http://lame.sourceforge.net/ lame] if it is not present using your package manager)
Now your mp3 file is ready. Transfer it to your music player and enjoy!


==''Download''==
==''Download''==
Dhvani can be downloaded from [http://sourceforge.net/projects/dhvani Sourceforge Project page]
Dhvani can be downloaded from [http://sourceforge.net/projects/dhvani Sourceforge Project page]
==''License''==
Dhvani is licensed under GPL version 2 or later


==''Dhvani-Java''==
Latest source code is available at the [http://sourceforge.net/cvs/?group_id=35339 CVS repository of the project]
 
==''Installation''==
a) Debian/Ubuntu/Fedora packages: http://download.savannah.nongnu.org/releases/smc/Dhvani
download it and install using the following command
  dpkg -i dhvani_0.9.0-1_i386.deb
 
or
rpm -ivh dhvani-0.9.2-0beta1.fc8.i386.rpm
 
b) Fedora 8 onwards uses PulseAudio as the default sound server, and has issues with the pulseaudio-alsa plugin. You will have to either:
* Remove pulseaudio-alsa plugin, or
* Comment out all the lines in /etc/alsa/pulse-default.conf
 
==How to Integrate dhvani with Gedit==
*Open gedit, go to Edit->Preferences->Plugins and enable External tools plugin
*Go to Tools->External tools.
*Add a new tool with name dhvani. Give any suitable short cut key(accelerator key) and some description. Select the "Document Selection" as the input so that the input will to dhvani will be the selected text. and in the command box, give the following  lines
xargs > /tmp/dhvani
dhvani  /tmp/dhvani
and save it.
* Open any text in any of the supported language. Select some lines of the text. Go to tools->dhvani. It will speak the selected text.
* If none of the text is selected, it will speak the entire text.
 
== How to Integrate dhvani with KDE==
Read this blog post: [http://santhoshtr.livejournal.com/9390.html Dhvani KDE Integration]


dhvani-java is a java port of the original system that is being developed to provide an extensible framework and API for cross platform deployment, multiple language support, and SSML support.
Using dhvani with Kmouth: [http://santhoshtr.livejournal.com/9569.html Can't Speak? Dhvani will speak for you! ]


Product Functions
==''License''==
----------------
Dhvani is licensed under GPL version 2 or later
The major functions that should be performed by dhvani-java include:
==Mailing List and IRC==
#Support for Indian language text input encoded as Unicode characters starting with Hindi, Malayalam and Marathi.
For queries, suggestions etc, pls mail to santhosh dot thottingal at gmail.com<br/>
#Partial Support for the W3C Working draft for the Speech Synthesis Markup Language (SSML).
Or visit the '''#dhvani''' channel @ irc.freenode.net
#Allow support for multiple voices.
'''Mailing list'''<br/>
#Provide an API for programmatic use of dhvani-java within java applications.
'''dhvani-devel@lists.sourceforge.net'''. Subscribe to dhvani-devel mailing list : http://lists.sourceforge.net/mailman/listinfo/dhvani-devel
#Use an extensible application framework.
#Provide an API for extending dhvani-java to support other Indian languages.
#Handle abbreviations, exceptions etc.
#Support a lexicon for non-standard pronunciation.
#Use XML based configuration files for each language.
A prototype application using dhvani-java will also be developed to showcase the API and detail how to use it.