Linux with speech?

Accessible text mode applications

For the past couple of years, here at NOAA's CIO's office, we have been testing the emerging capabilities of screen readers with Linux. The nice thing about screen readers written for Linux are that they are under the Gnu Public License like Linux itself. This is a refreshing change from screen readers written for MSDOS, WINDOWS and MAC/OS which generally cost several hundred dollars!

Several years ago, T. B. Raman had the idea that he could make Linux "speak" to the blind. He came up with the idea of having a speaking environment that operated from within Emacs, a powerful Unix editor. The user could then issue shell commands from within Emacs, thus gaining nearly full control of the system. This had the advantage that it would run on many different UNIXes including Linux. It had the disadvantage of requiring the new user to learn emacs commands. Also it was impossible for the operator to spot problems during the boot process. However, this was definitely pioneering work. It is worth noting, in the truest sense Emacspeak is not a screen reader, but what T. V. Raman calls an audio desktop.

Emacspeak --A Speech Output Subsystem For Emacs

Blinux, the blind users mailing list is composed of a group of people dedicated to promoting the use of linux among the blind. This group is primarily focused on the use of Emacspeak. Their web address is:

The Blinux users' group web page

Speakup, is a general purpose screen reader for Linux. It works from the console and possesses all of the features you would expect in a typical MSDOS screen reading program. Speakup has a strong core of dedicated users, including myself, who are willing to help newcomers to get up and running. Since Speakup is directly patched into the kernel it comes up early in the boot process. This makes it possible for the blind user to spot major problems like kernel panics. A relatively recent addition to Speakup is the ability to switch speech synthesizers at the console rather then the necessity of rebooting and giving a command line argument to the kernel. In order to do this, Speakup must be built as modules that can be loaded by the user. For more information about Speakup you can go to:
the Speakup web page In addition, you can subscribe to the mailing list by using this link:

Subscribe to the speakup mailing list.

At NOAA CIO, I am using Speakup with an external speech synthesizer plugged into a serial port. My Linux distribution is currently debian sarge which utilizes a 2.6.12 kernel modified to include Speakup. At present the official Debian distribution has kernels modified with the Speakup screen reader on their net installation cdrom.

Speakup does function quite well when moving the arrow keys within a text editor, saying the current line as the user hits the up and down arrow keys and saying the character under the cursor as the user moves horrizontally by pressing the right and left arrow keys.

Recently, Speakup has been modified so that it can load drivers for supported speech synthesizers as modules. Prior to this change it was necessary to specify the synthesizer to be used as a command-line parameter to the kernelin the configuration file of your boot loader. Now, it is possible to change your synthesizer without the need to reboot the system. The utilization of modules has had another important benefit. You can now use Speech_dispatcher and Speechd_up with Speakup to allow software-based speech synthesizers to work. This is a great advantage when using Speakup on a laptop and hauling a hardware synthesizer aroundwould be a great inconvenience.

Recently, I have been testing "live" cd linuxes that have speech capabilities. They were, Knoppix (speakup), GRML (speakup) and Oralux (speakup and Emacspeak). Both Oralux and GRML have the ability to use software speech. These types of Linux where the entire Linux operating system including applications software fit on a single CDROM, are very convenient when you need to recover from serious hard disk problems or when you want to use linux on a machine that does not include Linux on its hard drive. Although thus far all of my testing has involved the text console, in the future live cd's will be able to run screen readers under the Gnome and the KDE desktop environments.

We have also successfully run Zipspeak, which is a mini Slackware distribution with SSpeakup built-in. Unlike standard Linux, Zipspeak runs on top of a standard MSDOS/WINDOWS partition. This has the advantage that it is not necessary to reformat a portion of your disk drive--but can be started directly from DOS mode under WINDOWS. But even better, it comes with several pre-compiled kernels which allows the operating system to "speak" right out of the box! The only thing the user needs to do is to pick the right kernel for their brand of synthesizer! Thus Zipspeak is an excellent tool for the newcomer just learning Linux! The disadvantage is that it doesn't possess all of the standard features of a full-blown Linux system and the file access is somewhat slow when compared to a Linux distribution using Ext3.fs, the normal Linux file system.


yasr, is another screen reader for linux, Frebsd and Solaris. It currently supports the Speak-out, DEC-talk, BNS, Apollo and DoubleTalk speech synthesizers. It will also work using Emacspeak servers. For more information you can:
Go to the yasr home page

Accessible Gnome Applications

Baum retec AG a company in Germanyis currently working on a screen reader designed to function under the new Gnome #2 desktop graphical user interface. The name of this new program is Gnopernicus and the developers have released it under the GPL. At present, the program is in a very early stage of development and only provides rudimentary functionality. More information on the Gnopernicus project can be found at:

The Gnopernicus home page

In March 2002 at the annual CSUN Conference on Technology and Persons with Disabilities--a free, open source dynamic on-screen keyboard for GNOME by the University of Toronto Adaptive Technology Resource Centre was presented. This virtual keyboard called GOK was demonstrated on both a Sun Solaris system and an Intel RedHat Linux system, with both single switch access and support for the Madentec Tracker head-mouse. GOK fully supports the GNU Accessibility architecture.

Preliminary work is also being done on making the kde desktop environment accessible. Thus far a kde text-to-speech interface has been written. This interface is not a text-to-speech engine, rather it allows programmers to access various TTS engines from the KDE environment. For more information you can visit:

the KDE Accessibility Home Page


Accessible Java using UNIX or Linux

In recent tests at NOAA CIO it was determined that code produced by the GNU Java compiler was accessible when using text mode. This included both byte.code classes as well as when generating native code. The version of the Java compiler used was gcj 3.04. There is currently work underway to make the Java runtime environment, as developed by Sun, accessible under the Gnome desktop Using the Gnome accessibility standards. However, as of this writing, Mozilla is not functional using Gnopernicus.

Sun has released a software text-to-speech engine written entirely in the Java^tm language called FreeTTS. For more information on how to install and use FreeTTS, you can go to:

the FreeTTS home page


Miscellaneous

There is a website with many links about speech technology, primarily speech recognition under linux.

A directory of speech technology related websites

This page was last updated on: April 24, 2006
This page was last reviewed on: August 29, 2007