Thursday, January 1, 2015

Tongues-Text to speech in python

I am pleased to say that Tongues is almost ready.
Tongues is my text to speech engine written entirely in python 3.4

Text To Speech
Text to speech engines are software/hardware that read out text. Good examples are Microsoft Sam etc. These are very handy for people who cannot see or are multitasking to a level where they want stuff to be read out to them. It is also very cool to have your computer speaking a language you can understand.

  1. Provides for a new interface with the computer. Now you can use mouse+keybard and also speak at the same time.
  2. Sounds awesome when you tell people how your computer reads your email to you.
  3. We can finally get somewhere near Her.
Python 3.4

I have chosen python because of the loveable community and the beautiful abstraction it presents. Plus it is clear. Python 3.4 is just the latest python version that came out when i started this project.

Tongues

Tongues is a very simple text to seech engine. It does only english for now. I am hosting the source on github. The name comes from my effort to try and make this lanuage independent and offline at the same time. This means I have to extensive reading and research and experiments before I write even a single line of code. Keeping the engine language independent means that I have to take care of accents and dialects etc besides the language.

How i made tongues:
  1. I wrote a crawler to crawl the internet and collect english words.
  2. I wrote a script to read every word and count the pairs of letters that occur in english.
    1. In word "admire"  there are pairs ad-dm-mi-ir-re
    2. Now in all the words i collected i counted how many times a pair occurs.
    3. Sort the pairs according to popularity.
  3. Now record sounds for the pairs.There are about 500 in English
  4. The recording is done using words that contain maximum number of popular pairs.
  5. Create an engine that blends them properly and in proper order.
  6. Publish said engine.
Thus Tongues is your own accent.