Simple Tamil Text to Speech engine

Hello friends, and Tamil aficionados – it is winter in Boston and start of three months of bitter cold, but beautiful skylines. A little treat for surviving through the low sunlight hours and gray cold days.

A simple Tamil Text to Speech (TTS) engine developed by Prof. Vasu Renganathan has been open-sourced through the lobbying work of T. Shrinivasan.

What is a TTS ?

TTS converts text to speech. That was easy. Now the hard part is how does the computer do that? We will investigate how the language structure of Tamil can be used to find a suitable algorithm, a set of rules, when applied systematically can generate the speech from text. But first we need to understand what is a phonetic language.

Phonetic Languages

The key is to identify that Tamil is a phonetic language, we have some simple ways of doing this. Basically if we write “முத்து” we say it as “மு + த் + து” phonetically. English is not the same, “Muthu” is written as such but pronounced in groupings of “Mu”+”th”+”u” as 3-syllables, but 5 letters. In Tamil முத்து has 3-letters and 3 syllables, with the number of letters to syllables mostly remaining the same.

OK, now how do we split a word into its constituent phonemes? Maybe by using open-tamil!

Basic Algorithm

So I propose a simple minded algorithm to generate speech from text.

  1. Split the given Tamil text to words and for each word apply the steps 2 – 5
  2. Split the word into phonemes (phonemes = syllables) for Tamil
  3. For each syllable find the corresponding phoneme (phoneme is pronunciation) in form of a sound clip. In Tamil this has been called a ‘மாத்திரை’.
  4. Concatennate all these phonemes into the word, and apply a linear smoothing filter with a window. This is simple signal processing theory.
  5. Add a pause, beat, based on word spacing or sentence/paragraph spacing.

This algorithm is simplistic, but it does capture the essence of a text-to-speech engine. It could sound fairly mechanical or ‘robotic’ but the sound has to be made better.

Please share your comments, and views. For those in cold countries, stay warm!

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s