Project of the Month, February 2011


The eGuideDog project develops free software for the blind. It includes a browser, a text-to-speech engine, screen reader and any other software that can help the blind to access digital information.

The project not only writes software itself but also helps to develop other related projects. For example, a few years ago there was no open-source Chinese TTS (text to speech) system. I found Jonathan Duddington’s eSpeak was a good start for a new language, so I contributed the Cantonese voice for eSpeak. Then Kyle Wang and Silas S. Brown helped to contribute the Mandarin voice. Another case is that I read about Jeffrey P. Bigham’s WebAnywhere web-based screen reader from an article. Then I thought it was a great technology and helped to develop it for other languages. I also deployed a WebAnywhere server to provide free service to the public inside China.

One of the most important parts of the project is Ekho TTS, which generates more natural Chinese voice than eSpeak. It can be a base for other software like screen readers.

Why and how did you get started?

When I was about to write my dissertation for my Master’s degree, I didn’t want too spend much time on something only for the degree.I I often thought about how I could apply my knowledge to benefit society so I decided to start this project. I started from a text browser for the blind, which also resulted in my dissertation. The browser was not successful, though, so I turned to developing other software.

The project was registered on December 12, 2006 on SourceForge. However, I had started to do research about half a year before that.

Who is the software’s intended audience?

It is for both developers and blind users. The TTS engine is basic software for applications with voice. WebSpeech is a Javascript library for web developers to write pages with voice. I also released two games based on WebSpeech for the blind. WebAnywhere, which we help Jeffrey P. Bigham develop, is for blind users to access websites without a desktop screen reader, and Gradint is a blind-friendly language learning system.

What are a couple of notable examples of how people are using your software?

We contributed to the Chinese voices of eSpeak, which is a widely-used multilingual speech program: it is used by Google Translator and it is the default screen reader on Ubuntu Linux and the One Laptop Per Child project. Some people like to use Ekho TTS to read articles, and a student used Ekho and WebSpeech to develop an interesting web-based robot that can talk and provide information to humans.

What are the system requirements for your software, and what do people need to know about getting it set up and running?

Well, there are many different programs in the project:

* WebSpeech is a Javascript library. Web developers should know how to use it.

* Two games based on WebSpeech on the website of eGuideDog project are for blind users and have nothing to set up.

* WebAnywhere, which we help to develop, needs LAMP/WAMP. Here is the page for details.

* Ekho TTS runs on Windows (SAPI5, GTK+), Linux (CLI, GTK+), and Android. It can be used to read articles, but integrating it with the standard speech API for these operating systems is still under development.

* zhspeak, a very lightweight Chinese TTS developed by Dr Colin Kong, is a Python script which uses the same voice as Ekho.

* There are also some Perl scripts which can help people to use Festival, eSpeak, and dictionaries of Ekho.

* The Gradint language-learning program uses Ekho data and eSpeak, and can run on Windows, Mac OS, Linux, Windows Mobile phones with or without touch screens (but not Windows Phone 7), Symbian S60 phones, and RISC OS. (It can also be used to read articles on these systems.)

What gave you an indication that your project was becoming successful?

When some people told me that it was useful. Of course, feedback from blind users is especially welcome.

What has been your biggest surprise?

Silas told me that Cheng Yali was willing to record the Mandarin voice and Hae-Sung Jeon was willing to record the Korean voice. Recording a voice for TTS is a very tiring work.

What has been your biggest challenge?

Improving the voice quality is the biggest challenge. I have recorded the Cantonese voice of Ekho TTS many times with different methods.

Why do you think your project has been so well received?

I think because it has filled in some blanks.

What advice would you give to a project that’s just starting out?

Have a plan about how to keep going if the project cannot succeed in a short time.

Where do you see your project going?

I expect Ekho TTS to be widely used in screen readers on different platforms and a complete software system for the blind will be developed. Of course, I won’t write everything myself. I will cooperate with other project to make things happen. It’s a long way.

What’s on your project wish list?

  • * Improve Ekho TTS to work with standard speech APIs on different platforms
  • * Help develop Chinese open source screen readers on Windows (NVDA) and Linux
  • * Help develop a Linux distribution for the blind (maybe Vinux)
  • * Find volunteers or cooperate with NGOs to teach blind people how to use computers

What are you most proud of?

I think what I am doing is bringing great value to society.

If you could change something about the project, what would it be?

To find more stable volunteers. Maybe another leader with skills about maintaining a team is needed.

How do you coordinate the project?

I am afraid that most of the time I am the only developer. Everything is in my mind.

How many hours a month do you and/or your team devote to the project?

Maybe 50 on average.

What is your development environment like?

Windows XP, Ubuntu Linux, sometimes with Fedora Linux when I build the RPM package, and an Open Suse 11.0 server which hosts WebAnywhere. I use MinGW to build the Windows GTK+ version of Ekho, VS2005 to building the Windows SAPI5 version, and Inno to pack it up. Android SDK under Windows for the Android version of Ekho, LAMP for web applications, VirtualBox and Qemu to do testing on different distributions. I use Ubuntu Linux for the rest. I like to write scripts with Perl and do editing in VI.


Version / Date Milestone
Dec 2010 Ekho supported Android since version 4.0
Aug 2010 粤语歇后语大全 was released just for fun :-)
Jul 2010 A web-based self-voiced classic Chinese game – 华容道 – was released
Jul 2010 A web-based self-voiced Chinese game – 记忆翻牌游戏 – was released.
Jun 2010 WebSpeech javascript library was released, which is for web developers who want to write pages with voice
Feb 2010 A WebAnywhere server, which supports Cantonese, Mandarin, English and German, was setup in China for public use
Dec 2009 eGuideDog project began to accept donation with SourceForge’s donation system through Paypal
Nov 2009 Ekho 2.0 released, which supports SAPI5 on Windows
Oct 2009 eGuideDog team finished the draft coding for multi-language framework of WebAnywhere
Aug 2009 was registered as the official domain of eGuideDog project
Mar 2009 Ekho 0.91 was released, which was the first stable version of Ekho
Mar 2009 A new Cantonese voice with 7 tones recorded by Cameron Wong was released
Feb 2009 zhspeak, which is a mini version of Ekho in Python, was released with the help of Dr. Colin Kong
Jan 2009 Michael Tang joined in eGuideDog team who made great contribution to the Cantonese dictionary and Ekho voice improvement
Jan 2009 eSpeak-Chinese was stopped updating because we have no time to maintained
Oct 2008 With Silas S. Brown and Hae-Sung Jeon’s help, a Korean voice was supported in Ekho 0.75 for trial
Sep 2008 eGuideDog Browser is deprecated because its prospect and our limited time
Jul 2008 With Silas S. Brown and Yali Cheng’s help, a Mandarin voice was released. Ekho supports Cantonese, Mandarin and English (through Festival) since then.
Mar 2008 eGuideDog TTS – egdspeak was released, which was renamed to Ekho later
Dec 2007 eSpeak-Chinese was reported by Hong Kong Blind Union
Nov 2007 With Kyle Wang and Silas S. Brown’s help, eSpeak-Chinese was released.
Nov 2007 The project was reported by Hong Kong Blind Union
Sep 2007 eSpeak-Cantonese was released, which is a Cantonese version of eSpeak
Sep 2007 After annotating phonetic symbols for about 40,000 words, a draft Cantonese phonetic dictionary was done
Jan 2007 eGuideDog Browser became a functional voice browser for the blind
Dec 2006 eGuideDog project was founded by Cameron Wong. eGuideDog Browser written in Perl was the first software in the project.

How can others contribute?

eGuideDog is a very general project to write software for the blind. As long as they agree with this goal and want to provide help, just email me.

More projects of the month

Project name: eGuideDog

Date founded: December, 2006

Project page:

Project Leader

Cameron Wong

Cameron Wong (黄冠能)

Occupation:Software engineer
Location: Guangzhou, China
Education:Master in Computer Software Theory from Sun Yat-sen University

Key Contributor

Silas S. Brown

Occupation:Software developer and computer scientist
Location: Cambridge, UK

Why did you place the project on

SourceForge is one of the most famous platforms for open source project. It provides a web space, release system, and many useful tools.

How has helped your project succeed?

Open source projects hosted by SourceForge can be more easily found.

The number one benefit of using is:

Reliability. SourceForge has a good reputation and provides good and stable service.