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 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/

Use open platforms your tech communities


https://blog.kissmetrics.com/wp-content/uploads/2012/07/facebook-twitter-compared-to-email.jpg

photo source : https://blog.kissmetrics.com/email-crushes-social-media/

 

I see many Foss groups started to use social media as main platform for communication. Twitter, Facebook group, telegram channel, whatsapp group, disapora etc.

By doing so, all the conversations go private. They are forbidden to search engines and non smartphone users.

All the discussions, questions, answers, fun chats go hidden for public. Because of this, anyone searching for Foss group in his area , he can not get any info about these groups.

Being a tech or Foss community, it should be a basic policy to have all communications on open platforms. What is the use of a closed group that discuss on a Foss technology.

If you are part of or leading a tech community, please switch to open platforms like mailing list, irc channel, blog, website, forum etc.

Use all social media only for personal communications and event announcements.

Don’t think that people won’t use open platforms. If your content is really worthy, people will find you.

Example. Millions of people are reading and writing on Wikipedia, even though the interface is felt tough by many people.

Build the community based on strong passion and content. Not for just using a famous, latest technology.

 

 

How to become a Software Tester?


Are you looking for a job as Software Tester?

Here are few thoughts on software testing.

  1. Get Knowledge and skills
  2. Learn the Concepts
  3. Learn the Testing Tools
  4. Learn a programming language
  5. Dont dream about playing games. Instead play any game
  6. Contribute to Open Source Software by Testing them
  7. Join Testing groups
  8. Write a blog
  9. Add all these things to your Resume

1. Get Knowledge and skills

Knowledge, skills and experience need not be gained only by taking up a job. We can grow these ourselves, Right?

What do most people say? “Give me a job. Then, I will learn all that is required. After that, I will grow my skills.” True.

Let us say, you buy a car to travel out of town with your family often. You are looking for a good driver. I have come for an interview. I have attended driving classes. But I do not have any experience.

“I have completed training. I have a certificate. But, I do not have experience. Give me employment. Let me have your new car. Give me training for a few months. Once I have learnt it well, I will drive your family wherever you want.”

If I say this, will you hire me? But, this is what you say to the companies.

For learning how to drive a car, you need a car that costs lakhs of rupees. But for learning computer skills you can use the computer you already have.

In cricket, if someone is not scoring runs, even if it is Sachin, we get annoyed. We expect them to score continuously and hit fours and sixes frequently. However, we dont do any useful things using your computer, but will listen to music, watch films, play games and keep chatting with your friends on social media. How is this justified?

2. Learn the Concepts

Software Testing is a vast industry. It has many concepts as

  • Test Cases
  • Test Results
  • Bug Tracking
  • Test case Tracking
  • Manual Testings
  • Automated Testing
  • BlackBox Testing
  • WhiteBox Testing
  • Functional Testing
  • Database Testing
  • Performance Testing
  • Unit Testing
  • Mobile Testing
  • Web Testing
  • GUI Testing

    and more.

There are many websites/books/presentations/videos/lessons available on Internet.

Learn about them.

3. Learn the Testing Tools

To implement all the above said testing concepts, there are many software/tools available.

Few software or so costly to buy.

Dont worry. There are equivalent Free/Open Source Software available for all the needs.

Test Case Management – Test Link and others.

see a big list here – http://www.opensourcetesting.org/testmgt.php

Bug Trackers – BugZilla, Mantis, Trac etc

Automated web testing – Selenium

GUI Testing – Sikuli.org

Performance Testing – JMeter

You can find all open source testing software here – http://www.opensourcetesting.org/

They all are 100% free. Download them and install in your computer and learn them.

4. Learn a programming language

Being in the Software Industry, we should know atleast one programming language.

I suggest “Python”. It is very easy/cross platform language.

We can do many automated/web/mobile/gui testing using Python.

Learn Python the Hard Way is the easiest book.

http://learnpythonthehardway.org/

Complete this one book alone.

It may few weeks only to complete this.

Google’s Python Course (with Lecture Videos)

https://developers.google.com/edu/python/

5. Dont dream about playing games. Instead play any game

Dont wait for getting a software tested job for doing testing.

The job of a cricket player is to practice regularly and display their talent. Nobody says, “Include me in the Indian cricket team! Then I will learn the game and then I will play well and after that I will win cups for the country.”

To become more skilled in cricket, you have to take the bat / ball and practice. For It Industry, it is enough if you practice with the computer you already have. To learn software testing all you need are a computer and internet connection.

Learn the concepts, Install the software and start testing the software you use daily and find bugs.

6. Contribute to Open Source Software by Testing them

There millions of Free/Open Source Software being developed. They all are looking for testers to find bugs, so that developers can improve them.

You can contribute by reporting bugs, confirming existing bugs, writing test cases, automated tests, etc.

Whatever the corporates are doing for testing their software, can be done for open source software too.

On any open source project website, look for “community/contribute by testing”.

They will give all the details on how you can contribute to that project by testing.

In a continuous effort for 3-4 months, you can become a QA team member of any big open source project.

That will become a great crown on your heads.

Ubuntu Linux –

https://wiki.ubuntu.com/QATeam

http://community.ubuntu.com/contribute/quality/

Mozilla –

https://quality.mozilla.org/

https://quality.mozilla.org/get-involved/

LibreOffice –

http://www.libreoffice.org/community/qa/

Fedora Linux –

https://fedoraproject.org/wiki/QA/Join

MediaWiki –

https://www.mediawiki.org/wiki/Quality_Assurance

Read these links too

http://blog.smartbear.com/programming/14-ways-to-contribute-to-open-source-without-being-a-programming-genius-or-a-rock-star/

http://www.infoworld.com/article/2860074/open-source-software/become-an-open-source-software-tester.html

http://programmers.stackexchange.com/questions/58850/open-source-is-testing-bug-reporting-a-major-contribution

Pick any of your favourite open source software and become its QA team member.

7. Join Testing groups

Search for local testing groups/communities.

Attend the meetings.

Have testing events.

If there is no group, start one and do some activities.

8. Write a blog

Write about everything you worked on in your blog. Write everyday without fail. Your blog will become your best Visiting Card.

9. Add all these things to your Resume

Add to your Resume your blog address, the list of Open Source software you are contributing to and all the skills you have.

Read these too

https://goinggnu.wordpress.com/2014/08/26/how-to-get-a-computer-science-career/

Wishes.

Reply here, if we can add any more stuff in this post.

FOSS Contributors in TamilNadu code


Mr. Dorai from Chennai Geeks asked for a list of contributors for Free/Open Source Software from TamilNadu.

We are planning for a showcase of these projects and skilled persons to startups and enterprises.

Please fill this form, if you are contributing to any Free/Open Source Software.

If you know some one else is contributing, add their details too.

https://docs.google.com/forms/d/1A8jUmG3YZ1J5sfHaS0asfp-CetJ6iKg-v2EewHnmq3s/viewform

View the result here.
https://docs.google.com/spreadsheet/ccc?key=0AsGmAYG_dAyndFQ3cUdyQkoxMkdQM0JnWUZJelg5X0E&usp=sharing#gid=0

Note: As a first phase, only code contributions is being collected.

We will look for other contributions like support, documentation, artwork, marketing in future.

Share this info with friends too.

Free Software Event Checklist


I am being part of some of the Free Software Events happening in Chennai.

Sometimes the events are small gatherings and some times they are really huge.

Many times, we have missed some critical stuff and we were running behind them in the last minute.

Hence, this post to not down all stuff we need for any event.

1. Event Team

Create a event team with some volunteers. They are the pillars who are going to share the following tasks.

Make the team’s contacts like phone number, email are shared with all and announced publicly.

 

2. Venue

Fix the venue for the event.
Check with Colleges, Private Office, Govt Offices and Auditoriums.

Some times we get the hall for free. Sometimes, we may need to pay.

 

3. Date

Fix the date of the event.

Make sure that there are no big political, social, national, devotional or any other “al” event matches on the same day.

This is to make sure that the traffic is free for people to attend the event.

 

4. Web Page

Set a website or a blog for the event.

Post all the event planning and announcements regularly.

 

5. Posters

Create some digital posters on the event and share them across.

If possible print handouts/posters and share them too.

 

6. Marketing

We need people to attend the event.

Make sure your marketing team announce the event in the following channels.

  • Mailing lists
  • Social Media groups/events/pages
  • Event websites
  • Newspapers [ event of the day ]
  • If possible, Advertisements on TV and FM

 

7. Agenda

 

Plan the agenda. It may be a training, talks, cd/book release, etc.

Fix the time for event start/end/sessions start end/lunch/break times

 

8. Call for participants – Online regisration

 

Set up an online space to register, if it requires.

A wiki or google docs or similar can be used.

 

9. Update the participants

 

Keep on updating the participants via email on the event progress.

 

10. Freebies

 

  • ID Cards
  • Tshirts
  • Stickers
  • Books
  • Pamphlets
  • Flyers
  • Printouts
  • CDs/DVDs
  • PenDrives

can be given as freebies. Prepare them all two days prior. Put them all as packs to share easily.

 

11. Venue

 

Visit the venue one week before and check the following stuff.

1. Power

2. Chairs

3. Projector

4. Screen

5. Ventilation

6. Water Supply

7. Food Supply

8. Rest rooms

9. Place for banners

10. Mike/Speakers

11. Lights

12. Internet Connectivity

13. Shops nearby for stationary/medical/food

14. First Aid & Safety

15. Emergency contact person from the venue.

16. Stay facilities nearby

 

 

12. Call for Donations

 

We need money for all the events. We can call for individual donations or sponsors.

Check for interested companies and contact them to sponsor the event.

Then, Announce a call for donations with all the account details to do online money transfer. Send the receipts to the donors.

 

 

13. Press Release

 

Write up a press release and share it to all the media like TV/Newspapers/FM.

Make sure that they come to the event and cover the event.

 

14. Chief Guests

 

Fix the chief guest.

Check for their stay/travel to the event.

 

 

15. Gifts

 

Plan the gifts for the guests /participants/winners and buy them in prior.

 

 

 

On the Day of the event

 

16. venue

 

Make sure one or two persons reach the event in 3 hours before to check the venue for all the 15 items told before.

 

Tie the banners in front of the venue, hall and on the stage.

Check for power supply/lights/chairs/Rest rooms/Mike/Speakers

Store all the freebies in a room

Stick Posters around the venue.

Place route map/arrows to reach the hall, all around the venue.

 

 

17. Registration desk:

 

Setup a registration desk.

Use notebooks or laptops to get information about the visitors

Give the freebie pack

 

 

18. Food

 

Arrange for Food/Snacks/Cool Drinks/Water from nearby canteen or hotels.

Make sure that they reach on time.

 

19. Photos/Videos/Audio

 

Make sure that you have colunteers to capture the event via Photo/Video/Audio.

 

20. Live telecast/blog/tweet

 

If possible arrange for live telecast of the event. Live blog/tweet also fine.

 

After the event:

 

21. Upload Photos

 

We may be endup with 1000s of photos.

Check them and delete all the unwanted/blurred photos.

Resize them to 2048 resolution or lesser.

Upload them in online photo repositories like picasa/flickr/facebook.

Make sure that they are in creative commons license.

Give proper tags for the albums for easy searching.

 

22. Upload Videos

 

Resize the video.

Amplify the audio.

Upload them in youtube or similar sites.

 

23. Upload Audio

 

Check and remove the silences, noises of the recorded audio.

Amplify the audio.

Upload in soundcloud of similar sites.

 

24. Event Notes

 

Write the event notes with the following details.

Event Minutes

Links for Photos/Videos/Audio/Live blogs/tweets etc

Links for the various press that covered the event.

 

Update them in the website.

 

25. Send mail to participants/guests

 

Send mail to all with a Thanks note and Event Notes.

 

 

26. Celebrate

 

Wow. Congrats. The event is over and you and the team can have some celebrations.

Goto near par/beach and play some games.

Have some food together.

 

 

 

Dont Do:

 

If it is a event about Free Software like GNU/Linux demo day/Software Freedom Day, make sure that nobody uses any proprietary operating system or software for any of the demo or talk.

Check for any other Don’t do stuff and announce it in all the announcements.

 

Hope this list will help us to avoid any last minute tensions.

Form a team to take care of each activity and have great team works.

 

Reply here if you have something to add.

 

Thanks.

Indian Languages in Latex


Myself and Prof.Partha were looking for generating PDF files with Tamil and English content using Latex.

Found that.
We can generate multi lingual pdf files using latex easily.
We need to supporting fonts installed anyhow.

Here is the sample code for this.

 

\documentclass{article}
%Always start xelatex files with these in preamble. This helps in defining the script and fonts
\usepackage{fontspec}
%Set the main languge next as main font.
\setmainfont[Script=Devanagari]{Lohit Hindi}

%Set rest of the languages l;ike this. Experiment a bit. script=punjabi did not work. Replaced with gurmukhi and it works.

\newfontfamily{\tam}[Script=Tamil]{Akshar Unicode}
\newfontfamily{\tel}[Script=Telugu]{Akshar Unicode}
\newfontfamily{\kan}[Script=Kannada]{Mallige}
\newfontfamily{\Guja}[Script=Gujarati]{Lohit Gujarati}
\newfontfamily{\ben}[Script=Bengali]{Lohit Bengali}
\newfontfamily{\Punj}[Script=Gurmukhi]{Lohit Punjabi}

%English does not need any script specifiction! Just define the font.
\newfontfamily{\eng}{Arial}
\begin{document}
%No need to define script as this is the manin font set. Like defalut.
नमो पकवते नारायणाय! \\
%Switch language like this. { begins the changed line. \xxx denotes the switched  language. Use the same definition as denoted in preamble. } will end the switch and default to main unless again specified.
{\tel నమో పకవతే నారాయణాయ!}\\
{\kan ನಮೋ ಪಕವತೇ ನಾರಾಯಣಾಯ
}\\
{\Guja નમો પકવતે નારાયણાય!}\\
{\Punj ਨਮੋ ਪਕਵਤੇ ਨਾਰਾਯਣਾਯ!}\\
{\ben নমো পকবতে নারায়ণায়!}\\
{\tam நமோ பகவதே நாராயணாய!}\\

{\eng namo bhagavate naraayanaaya}\\
%the next line does not begin liekt he ones above. so it defaults to mainfont which is devanagari.
शुभम।
\end{document}

 

Check the output too.

Thanks for Dr.Vasudevan Tirumurti for the latex file.

Indian Linux Users Group, Chennai – Monthly Meet ( January 19 2013 )


ILUGC Monthly Meet (January 19 2013 )
==================================

Indian Linux Users Group, Chennai [ ILUGC ] is spreading awareness on
Free Open Source Software in Chennai since Jan 1998. We meet regularly
on every month second Saturday with technical talks and discussions on
various Free software.

Check our website http://ilugc.in for further details.

Join our mailing list at http://www.ae.iitm.ac.in/mailman/listinfo/ilugc

We have our Meet on January 19, 2013

Check the details below.

ILUGC Monthly Meet (January 19 2013):-
==============================

  Time : Sat January 19, 2013 (3.00 – 5.30 PM)

    Venue: Classroom No 3,
    Areo Space Engineering,
    Near Gajendra Circle,
    IIT Madras.

Link for the Map: http://bit.ly/iit-aero

1.

Topic : RESTful architecture and design – The future of web

Brief summary:
REST is a powerful design pattern that allows architects, developers
and web designers to perceive web from a different perspective. Many
web frameworks and applications (Rails, DJango, RIAK) these days
are designed using the RESTful approach. This talk should provide
an introduction to REST design paradigms and approach that helps
audience understand them with better clarity.

Duration : 30 minutes

Speaker : Chandrashekar Babu

About Speaker: Chandrashekar Babu is  corporate trainer on FOSS technologies.
http://www.chandrashekar.info/
email AT chandrashekar.info

2.

Topic : PHP more than basics

Description : Beyond basics of php the architecture, professional codding etc .

Duration : 30-45 min

Links to Read :
http://www.w3schools.com/php/php_intro.asp,
http://www.tizag.com/phpT/index.php

About Speaker : G.yoganand, PHP Team lead Softmatrix

yoganandgopalan AT gmail.com

3.

Topic: Introduction to Firefox OS

Description: Firefox OS is the upcoming mobile platform. This talk introduces – What it is, how it is structured etc.

Links to read:
http://www.mozilla.org/en-US/firefoxos/
http://en.wikipedia.org/wiki/Firefox_OS

Speaker : Dwaraka Nath <dtsdwarak AT hotmail.com>

About Speaker : Dwaraka Nath is part of Public Relations Team of Mozilla India.
https://wiki.mozilla.org/User:Dtsdwarak

Duration : 30 min

4.
General group discussions on any queries, events etc.
CDs/DVDs can be shared on prior request.
Announce this to all your friends, social network sites etc.

All are welcome. Entry Free

Are you looking to get commercial Support for Git? – Ask CollabNet


The entire IT world is turning towards using Free Software, nowadays.

One of the major issues in implementing the FOSS Solutions in the corporates is

Technical Support for the Free Open Source software.

Though the Free Software Communities are very active in providing free support in mailing lists,IRC channels, Public forums etc, the organizations can not wait till someone answers in these channels when some critical issue happens.

On those critical situations, they need some helping hand, some shoulder to fall on.

even they are ready to pay for the commercial support for Free Software.

Most companies now start to provide commercial support for Free Software.

Example:

It is a good thing to see the list is growing and more companies choose the support as their way of making money with Free Open Source Software.

CollabNet, which is providing Support for Subversion from its early days, now started to support Git too.

How does CollabNet support git?

CollabNet has its own ALM product called TeamForge . It can have git as a part of its version control system, which provides easy UI to manage repositories and provide access control.

Apart from that customers can buy only GIT support where they can get the open source git from their repositories and get support from CollabNet.

CollabNet has a expert team on git and it pays for developers who contribute for Git. With the experts in Git, CollabNet provides support via email, phone and remote session.

See here the plans.

http://www.collabnet.com/support/support-programs#git

CollabNet is already providing same support for Subversion where it pays for Subversion developers and provides Commercial Support and free support via its forums. http://forums.open.collab.net/

Read the git blogs here: http://blogs.collab.net/git where the experts from CollabNet share their experience in Git.

It is providing hosted solution for Git and Subversion too. Check here http://www.cloudforge.com/

Its a great opportunity for organizations to implement git with the support from CollabNet.

Restoring TouchPad actions in Laptop – ubuntu linux


From today morning, The TouchPad in my IBM T410 laptop was not working.

It was very tough to work on laptop without the touchpad.

Searched in net and found a solution to make it work.

We have to unload and reload the kernel module for the touchpad.

Here are the commands to execute.

sudo rmmod psmouse
sudo modprobe psmouse

If there is no terminal window open, you can use one of the following:

In Gnome or KDE, press Alt + F2, type gnome-terminal and press Enter
Press Control + Alt + F1, login with your username and password, type the commands, then press Control + Alt + F7 to get back to X

After running the second command 4-5 times, the touchpad started to work. 🙂