Installation script for Tamil Text to speech System


The Tamil TTS system provided by IITM and SSN College of Engineering, has a lengthy installation process.

I have written them here. https://goinggnu.wordpress.com/2017/09/20/how-to-compile-tamil-tts-engine-from-source/

It may not be easy to follow and you may find some issues. To make the life easier, I have created shell script, to automate the entire process.

Here it is – https://github.com/tshrinivasan/tamil-tts-install

System requirements:

Ubuntu 16.04

How to execute:

git clone https://github.com/tshrinivasan/tamil-tts-install.git

cd tamil-tts-install

Edit the file, install-tamil-tts.sh

Fill the following details.

DOWNLOAD_PATH=/home/ubuntu/tts/packages #to download the required packages

COMPILE_PATH=/home/ubuntu/tts/compiled # to place the compiled files and folders

Register here http://htk.eng.cam.ac.uk/download.shtml and get a username and password

HTKUSER=htkuserchennai

HTKPASSWORD=sgqY=t=M

Then, execute the file as

bash install-tamil-tts.sh

How to convert a text to audio?

export FESTDIR=/usr

cd COMPLIE_PATH ssn_hts_demo/scripts/complete “தமிழ் வாழ்க” linux

This will convert the text and store as wav in

ssn_hts_demo/wav/1.wav

you can play it with any audio player.

The full details of what is on the compile process is explained here. https://goinggnu.wordpress.com/2017/09/20/how-to-compile-tamil-tts-engine-from-source/

To hear a demo on how the tamil TTS system sounds, click here

Thanks for IITM Team – Prof Hema  and Anju for their great support on helping us to get installed the tamil TTS system.

 

Advertisements

How to compile Tamil TTS engine from source?


IITMadras and SSN College of Engineering team have released a Open Source Text to speech conversion engine for Tamil and other indian languages.

Check their efforts at https://www.iitm.ac.in/donlab/tts

In this blog post, let us see how can we compile and install the tamil tts system in a ubuntu 16.04 machine.

 

Go to this link

https://www.iitm.ac.in/donlab/tts/voices.php

It will ask for Signup.
Register by giving username and email address.

Soon, you will get an email with the password to login.

If you dont’ get any password, send an email to hema@cse.iitm.ac.in

 

Once you got a password, login to the same link.

Now, you will get two select drop down lists.

Select Language = Tamil
Select Voice type = HTS-2.3

Click “Agree & Download”

It will download a file ssn_hts_demo_tamil_male.tgz

 

gunzip ssn_hts_demo_tamil_male.tgz
tar xvf ssn_hts_demo_tamil_male.tar

cd ssn_hts_demo

Read the README.txt

as step 1, it says as
Step 1: Configure the folder
./configure –with-fest-search-path=/$FESTDIR/examples/ –with-sptk-search-path=/usr/local/SPTK/bin/ –with-hts-search-path=/usr/local/HTS-2.2beta/bin/ –with-hts-engine-search-path=/PATH TO hts_engine_API-1.06/bin/

 

It requires, following software

1. Festival – we can install it using apt-get
2. SPTK
3. HTS
4. hts_engine_api

2,3, and 4 should be downloaded from respective sites as source and they should be compiled.

 

1. To install festival, run the below command

sudo apt-get install festival

 

Install few required packages

sudo wget festival libx11-dev build-essential g++-4.7 csh gawk bc sox tcsh default-jre -y

2. Download SPTK source from http://sp-tk.sourceforge.net/

https://nchc.dl.sourceforge.net/project/sp-tk/SPTK/SPTK-3.10/SPTK-3.10.tar.gz

 

tar xvzf SPTK-3.10.tar.gz

cd SPTK-3.10
./configure –prefix=/home/ubuntu/tts/sptk
make
make install

 

 

3. HTS-HTK
Download from http://hts.sp.nitech.ac.jp/?Download

 

mkdir hts-htk
cd hts-htk
wget http://hts.sp.nitech.ac.jp/archives/2.3/HTS-2.3_for_HTK-3.4.1.tar.bz2

tar xvjf HTS-2.3_for_HTK-3.4.1.tar.bz2

The INSTALL file says few things to do.

let us do them

Download HTK from
http://htk.eng.cam.ac.uk/download.shtml

it requires to register with username, email, organization and address.
Once registered, you will get password in mail.

using that you can download the packages

http://htk.eng.cam.ac.uk/ftp/software/HTK-3.4.1.tar.gz

 

wget http://htk.eng.cam.ac.uk/ftp/software/HTK-3.4.1.tar.gz –user=htkuserchennai –password=sgqY=t=M

 

download HDecode from
http://htk.eng.cam.ac.uk/prot-docs/hdecode.shtml

wget http://htk.eng.cam.ac.uk/ftp/software/hdecode/HDecode-3.4.1.tar.gz –user=htkuserchennai –password=sgqY=t=M

tar -zxvf HTK-3.4.1.tar.gz
tar -zxvf HDecode-3.4.1.tar.gz

cd htk

patch -p1 -d . < ../hts-htk/HTS-2.3_for_HTK-3.4.1.patch

./configure –prefix=/home/ubuntu/tts/hts

make

 

Now, I got the following error.

 

(cd HTKLib && make HTKLib.a) \
|| case “” in *k*) fail=yes;; *) exit 1;; esac;
make[1]: Entering directory ‘/home/ubuntu/htk/HTKLib’
gcc -Wall -Wno-switch -g -O2 -I. -DPHNALG -c -o HGraf.o HGraf.c
HGraf.c:118:77: fatal error: X11/Xlib.h: No such file or directory
compilation terminated.
<builtin>: recipe for target ‘HGraf.o’ failed
make[1]: *** [HGraf.o] Error 1
make[1]: Leaving directory ‘/home/ubuntu/htk/HTKLib’
Makefile:141: recipe for target ‘HTKLib/HTKLib.a’ failed
make: *** [HTKLib/HTKLib.a] Error 1

To solve this, run the below command

sudo apt-get install libx11-dev

https://stackoverflow.com/questions/5299989/x11-xlib-h-not-found-in-ubuntu

Thanks to the s.t.o community for the answer.

 

run make again

make

Got another error as below.

 

gcc -Wall -Wno-switch -g -O2 -I. -DPHNALG -c -o esignal.o esignal.c
In file included from /usr/include/string.h:630:0,
from esignal.h:34,
from esignal.c:29:
esignal.c: In function ‘ReadHeader’:
esignal.c:974:29: error: ‘ARCH’ undeclared (first use in this function)
if (strcmp(architecture, ARCH) == 0) /* native architecture */
^
esignal.c:974:29: note: each undeclared identifier is reported only once for each function it appears in
esignal.c: In function ‘WriteHeader’:
esignal.c:1184:25: error: ‘ARCH’ undeclared (first use in this function)
architecture = ARCH;
^
esignal.c: In function ‘GetLine’:
esignal.c:1760:4: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result]
fgets(buf, len+1, file);
^
esignal.c: In function ‘GetLong’:
esignal.c:1808:4: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result]
fgets(buf, len+1, file);
^
<builtin>: recipe for target ‘esignal.o’ failed
make[1]: *** [esignal.o] Error 1
make[1]: Leaving directory ‘/home/ubuntu/htk/HTKLib’
Makefile:141: recipe for target ‘HTKLib/HTKLib.a’ failed
make: *** [HTKLib/HTKLib.a] Error 1

Again s.t.o helped.

https://stackoverflow.com/questions/37719890/install-hts-2-3-for-htk-3-4-1-on-ubuntu-16-04-has-error

Run the below commands

sudo apt-get install g++-4.7
export CC=gcc-4.7 CXX=g++-4.7
./configure CFLAGS=”-DARCH=linux” –prefix=/home/ubuntu/tts/hts
make
make install

 

Next is hts_engine_API

download from https://sourceforge.net/projects/hts-engine/files/hts_engine%20API/hts_engine_API-1.10/

wget https://nchc.dl.sourceforge.net/project/hts-engine/hts_engine%20API/hts_engine_API-1.10/hts_engine_API-1.10.tar.gz

tar xvzf hts_engine_API-1.10.tar.gz
cd hts_engine_API-1.10
./configure –prefix=/home/ubuntu/tts/hts_engine_api
make
make install

 

Then, few more commands.

cd /usr/share/doc/festival/examples/
sudo gunzip dumpfeats.gz

sudo gunzip dumpfeats.sh.gz
sudo chmod a+rx /usr/share/doc/festival/examples/dumpfeats

Thats all. We install all the dependancies of ssn_hts_demo.
Let us install it now.

cd ssn_hts_demo

./configure –with-fest-search-path=/usr/share/doc/festival/examples –with-sptk-search-path=/home/ubuntu/tts/sptk/bin/ –with-hts-search-path=/home/ubuntu/tts/hts/bin/ –with-hts-engine-search-path=/home/ubuntu/tts/hts_engine_api/bin/

sudo mv /usr/share/festival/radio_phones.scm /usr/share/festival/radio_phones.scm-old

sudo cp ~/ssn_hts_demo/radio_phones.scm /usr/share/festival/

sudo cp ~/ssn_hts_demo/Slurp.pm /usr/share/perl5/File/

gcc scripts/tamil_trans.c -o scripts/tamil_trans

 

Thats all. Done with all the compilation works.

Let us invoke the command to make the tamil text to audio.

export FESTDIR=/usr
ssn_hts_demo/scripts/complete “தமிழ் வாழ்க” linux

This will make audio file as ssn_hts_demo/wav/1.wav

I can now play the file with any audio player and hear a good voice of the text in tamil.

 

I tried with a little huge text.

here is the demo

The text I gave is

என் சரித்திரம், உ. வே. சாமிநாதையர் எழுதிய தன்வரலாறு ஆகும். இதில் 1855ஆம் ஆண்டு முதல் 1898ஆம் ஆண்டு வரை அவருடைய வாழ்வில் நிகழ்ந்தவை பதியப்பட்டுள்ளன. இதில் அவர் தமிழ் கற்ற வரலாறு, தமிழ் நூல்களைப் பதிப்பித்த வரலாறும் பதிவுசெய்யப்பட்டு உள்ளன.தமிழ்த்தாத்தா டாக்டர் உ.வே.சா. அவர்கள் எழுதிய தன் வரலாற்று நூல் இது. இந்நூலைக் கற்றால் ‘பெருக்கத்து வேண்டும் பணிதல்’ என்ற இலக்கணத்துக்கு இதுதான் சரியான இலக்கியம் என்ற உண்மை தெளிவாகும். பேதங்களுக்கு அப்பாற்பட்ட போதம்தான் தமிழ்ஞானம் என்பது இந்நூலின் தொகுமொத்தப் பொருள் என்றால் அது மிகையாகாது. ’நன்றிக்கு வித்தாகும் நல்லொழுக்கம்’ என்ற தொடரை விளக்குவதற்காக இவர் மண்ணுலகில் பிறந்தார் என்று கொள்ள வேண்டி இருக்கிறது. டாக்டர் உ.வே.சா. அவர்களின் என் சரித்திரமும் மகாத்மா காந்திஜி அவர்களின் சத்திய சோதனையும் ஒரேதரம் உடையவை. இவற்றின் ஒவ்வோரெழுத்தும் வாய்மை நிரம்பிய வைர எழுத்துக்கள்.என் சரித்திரம் கற்றால் தமிழார்வம் வரும். வந்த தமிழார்வம் வளரும். பத்துப்பாட்டும், எட்டுத்தொகையுள் ஐந்தும், மூன்று பெரும் காப்பியங்களும், ஐம்பதிற்கும் மேற்பட்ட பிற இலக்கியங்களும், இலக்கண நூல்களும் நின்று நிலவுவதற்குக் காரணம், டாக்டர் உ.வே.சா. அவர்களின் அயரா உழைப்பே என்பதை, இந்த மன்பதை அறியும். அந்த நூல்களைக் கற்கும் முன், ’என் சரித்திரம்’ என்னும் இந்த நூலைக் கற்க வேண்டும். இதனைக் கற்றால் தமிழ் நூல்களை அச்சுக்குக் கொண்டுவர அவர்பட்ட இன்னல்கள் புரியும்.1. எங்கள் ஊர்சற்றேறக்குறைய இருநூறு வருஷங்களுக்கு முன்பு தஞ்சாவூர் ஸமஸ்தானத்தை ஆண்டு வந்த அரசர் ஒருவர் தம்முடைய பரிவாரங்களுடன் நாடு முழுவதையும் சுற்றிப் பார்க்கும் பொருட்டு ஒருமுறை தஞ்சாவூரிலிருந்து புறப்பட்டார். அங்கங்கே உள்ள இயற்கைக் காட்சிகளை யெல்லாம் கண்டு களித்தும், ஸ்தலங்களைத் தரிசித்துக்கொண்டும் சென்றார். இடையில், தஞ்சைக்குக் கிழக்கே பதினைந்து மைல் தூரத்திலுள்ள பாபநாசத்திற்கு அருகில் ஓரிடத்தில் தங்கினார். வழக்கம்போல் அங்கே போஜனம் முடித்துக்கொண்ட பிறகு தாம்பூலம் போட்டுக்கொண்டு சிறிது நேரம் சிரம பரிகாரம் செய்திருந்தார்; தம்முடன் வந்தவர்களோடு பேசிக்கொண்டு பொழுதுபோக்குகையில் பேச்சுக்கிடையே அன்று ஏகாதசி யென்று தெரிய வந்தது. அரசர் ஏகாதசியன்று ஒரு வேளை மாத்திரம் உணவுகொள்ளும் விரதமுடையவர்; விரத தினத்தன்று தாம்பூலம் தரித்துக்கொள்வதும் வழக்கமில்லை. அப்படியிருக்க, அவர் ஏகாதசி யென்று தெரியாமல் அன்று தாம்பூலம் தரித்துக்கொண்டார். தஞ்சாவூராக இருந்தால் அரண்மனை ஜோதிஷர் ஒவ்வொரு நாளும் காலையில் வந்து அன்றன்று திதி, வார, நக்ஷத்திர, யோக, கரண விசேக்ஷங்கள் இன்னவையென்று பஞ்சாங்கத்திலிருந்து வாசித்துச் சொல்வார். அதற்காகவே அவருக்கு மான்யங்களும் இருந்தன.அரசருடைய பிரயாணத்தில் ஜோதிஷர் உடன் வரவில்லை. அதனால் ஏகாதசியை அரசர் தெரிந்துகொள்ள முடியவில்லை. எதிர்பாராதபடி விரதத்திற்கு ஒரு பங்கம் நேர்ந்ததைப் பற்றி வருந்திய அரசர் அதற்கு என்ன பரிகாரம் செய்யலாமென்று சில பெரியோர்களைக் கேட்கத் தொடங்கினர்.(மேலும் படிக்க…)

 

Here the audio now.

 

 

Yes. This is the best open source text to speech engine for tamil, so far.

Tons of thanks for IITM team and SSN College of Engineering for making the TTS engine and releasing as open source and for free.

Working on making the installation easier with a shell script.

Will share once done.

 

 

Filed a RTI to get info on Tamil TTS by IITM and SSN


I blogged on the topic “How to ask IITM to release IndicTTS as Free/Open Source Software?” recently.

Had a good discussion about this on the ILUGC mailing list too.
https://www.freelists.org/post/ilugc/How-to-ask-IITM-to-release-IndicTTS-as-FreeOpen-Source-Software

As a followup on this,  filed a RTI on this.

We can request for any information online in the portal https://rtionline.gov.in itself. Registration asks for our address and phone number. Then we can fill the request form.

Note : The content box does not allow Question mark and URL.

Asked for the below information.

1.
Is there any government policy or G.O to release the software developed by or funded by Department of Electronics and Information Technology (Deity) and Ministry of Communication and Information Technology (M CIT) as Free/Open Source software

2. Is IITMadras funding SSN engg college to develop a Tamil Text to speech software

3. If so, how much is the funded amount

4. Send me the project plan, roadmap, and cost splitups for the development

5. There is a open source android app for Tamil text to speech at IITM site. (IITM donlab site)
This is very very old. But the latest development by SSN college available at  [ speech DOT ssn DOT edu DOT in ]  is very new and works well. Why it is not released as Free/Open Source Software with source code

6. When can we get the latest Tamil Text to speech software from SSN college, as free/open source software with source code

Once submitted, paid Rs 10 via its online payment gateway. It was smooth.

Received an acknowledgment as below.

https://i0.wp.com/storage9.static.itmages.com/i/17/0310/h_1489149948_9704514_0b02428daa.jpeg

Fine. Let me wait for 30 days for the responses.

Will share the results here.

 

 

 

How to ask IITM to release IndicTTS as Free/Open Source Software?


https://i2.wp.com/purvispublicsafety.com/wp-content/uploads/2014/12/text-to-speech.jpg

Indic TTS

This is a project on developing text-to-speech (TTS) synthesis systems for Indian languages, improving quality of synthesis, as well as small foot print TTS integrated with disability aids and various other applications. This is a consortium based project funded by the Department of Electronics and Information Technology (Deity), Ministry of Communication and Information Technology (M CIT), Government of India involving 13 institutions and SMT, IITM being one of them. The project comprises of Phase I and Phase II. Phase I of the project used Festival-based speech synthesis for Bengali, Hindi, Tamil, Telugu, Malayalam and Marathi . Phase II of the project commenced in 2012 employing HTS based statistical speech synthesis for 13 Indian languages.

Source : https://www.iitm.ac.in/donlab/tts/

As a part of IndicTTS system, SSN college people have developed a good working TTS for Tamil. You can see the demo here – http://speech.ssn.edu.in/

IITM has released a very priliminary version of Tamil TTS as android app as open source here – https://www.iitm.ac.in/donlab/tts/androidapp.php
That too without proper license and attributions to base, open source HMM HTS systems.

But the web version is really awesome and with great human like voices.

As the entire project is funded by Government of India, I think it should be released as Free/Open Source Software.

I requested the IITM team at https://www.iitm.ac.in/donlab/tts/contact.php to explain about the status of releasing the latest version of Tamil TTS as Free/Open Source software.

Did not get any reply.

We have the two options now.

  1. Improve the basic version of oepn source Tamil TTS they have released. But, need to explore the provided license to improve further and release in GPL or similar license. For this we have to do huge research on TTS and spend years again. Why do we have to reinvent the wheel?
  2. Ask to release the current TTS as Free/Open Source software. This seems a better as there is already a working software. Need to know whom to ask and how to ask.

Like to know that if there is any govt law says that all the software funded by public money should be released as Free/Open Source software. If so, please share the details about it.

Next is whom and how to ask for it.

Do we need to file a RTI? or need to request via any legal firm? is there any legal organization to support these kind of activities? can we get support from political party like communist to move it further?

It may be tougher to get the source as it involves more money, power, fame, policies, politics etc. But, we should ask for our rights as the TTS is made by our own money.

Share your thoughts.

 

Image source – http://purvispublicsafety.com/2014/12/06/text-to-speech-dispatch-centers/