Hearing the call Linux solutions to help the visually impaired use computers Summary Joe Barr examines voice interfaces, screen enlargement software, and other Linux-compatible ways the visually impaired can use computers. (1,200 words) By Joe Barr I used to work with a very bright fellow named James Violette. Not long after I started writing for LinuxWorld, James suggested a book to me called Virus Of The Mind, written by Richard Brodie. I liked it so much that I did a column about it (see Resources). Violette and I have both moved on from the positions we held then, but we still stay in touch by email. In a recent message, Violette described a presentation he had seen about Linux for the blind and visually impaired. He said he thought it might interest me. He was right. Violette is an enthusiastic individual. His enthusiasm sold me on the notion of memes about a year ago, and he was just as pumped up this time about the presentation he had seen at the Air Capital LUG in Wichita, Kansas (see Resources for a link to ACLUG). Matt Campbell had demonstrated a variety of ways to make Linux accessible to the visually impaired. It was hard to tell if my friend was more excited about Campbell's message or by Campbell as a person, but there was no mistaking that Violette was enthused. Matthew Campbell is a 19-year-old computer science major who has just completed his freshman year at Wichita State University. He has been using Linux for about four years and, while not attending classes, holds down a part-time job writing Java and C code. Just before Independence Day, Campbell gave a presentation to the ACLUG on Linux for the blind and visually impaired, which included the use of speech synthesizers. As is the usually the case with Linux software, there are a number of tools with which the visually impaired use Linux. Campbell's eyesight is good enough to read an 80 by 25 character display if he gets very close to the screen. Campbell told me that he can also work with a GUI, with a resolution of up to 800 by 600 pixels on a 17-inch monitor and 1,024 by 768 pixels on a 20-inch monitor; he has a 17-inch monitor at home and a 20-inch at work. But for many others, reading from the screen is not an option, no matter how close to it they get. Solutions in sight People like Campbell, who can see but not see very well, can use screen enlargement software to magnify text on a portion of the screen. But as Campbell explained in his presentation, with Linux you can accomplish something very similar by adjusting the settings for virtual display size in the XF86Config file. For example, setting the physical screen size to 640 by 480 pixels while defining a virtual screen as being 1,024 by 678 pixels allows you to scroll around over a magnified screen. Hardware options also exist for visually impaired Linux users, but they are expensive. Braille devices can cost thousands of dollars and hardware synthesizers several hundred. There is also the software approach, which includes speech synthesizers. Also called TTS (text-to-speech) programs, such software reads aloud text input from a screen reader. There are speech synthesizers available for both Windows and Linux, but whereas they cost several hundred dollars for Windows, there are several free (both as in beer and speech) products available for Linux. If you ever find yourself wondering about the strength of the Linux community, consider what Campbell has done. He demonstrated the speech synthesizers to ACLUG after consulting with a blind friend on the Internet. She was frustrated with the cheap ($200 to $300) product she was using on Windows. Because Campbell doesn't use speech synthesizers himself, he had to become more accomplished with Emacs and Emacspeak (more on which in a moment) in order to help his friend install and use the synthesizers. And Campbell did all this after helping her install and learn Linux well enough to get started. Emacspeak is a highly regarded speech interface for visually impaired users that is covered under the GPL. Now in its Golden Dog (version 12.0) release, Emacspeak works with speech synthesizers like IBM's ViaVoice to translate the Emacs interface into voice. Using Emacs, visually impaired computer users can browse the Net; send and receive email; write, compile, and debug software; and do just about any other console function you can imagine. As Campbell notes on his Website, "Using Emacs and Emacspeak, blind users gain access to Unix-like systems." (See Resources for a link to Campbell's site.) Other options Naturally, Emacspeak is not the only game in town. The CSTR (Centre for Speech Technology Research) at the University of Edinburgh, Scotland, is home to the Festival project, which also provides a viable option (see Resources for a link). Festival is a multilingual speech synthesis program written in C++ and Scheme. The latest version (1.4.1) was released in December of 1999 and is available free for unrestricted use. Alan W. Black, Paul Taylor, and Richard Caley are the primary authors of Festival. In the academic tradition of standing on the shoulders of those who came before, they built Festival on the Edinburgh Speech Tools Library, and used a speech synthesizer written in 1995 by Amy Isard as a model. The code, however, is all new. Speakup is another tool available to Linux users to hear text written to the console (see Resources for a link). Speakup is actually a number of kernel patches, compatible with 2.2.7 and above of the stable kernel tree and 2.3/2.4x of the development tree. The advantage of working in kernel space is increased performance, but not everyone feels at ease modifying the kernel code. Just as Emacspeak uses the W3 browser, Speakup uses Lynx. Which is the best solution for Linux? According to Campbell, it depends. Emacspeak is great, but there are limitations. Campbell's Internet friend uses both Speakup and Emacspeak, depending on what she is doing. It seems that Speakup is better for some specific tasks, so she has that installed on one machine and Emacspeak on another. One thing that holds back Speakup is that the kernel image you build to include Speakup only works with the specific voice synthesizer for which you build it. Campbell feels that Speakup will not be included in major Linux distributions until it can support synthesizers dynamically. Campbell told me that although Linux offers free, powerful tools for accessibility, it has not matched the software available for Windows -- or hasn't yet, at least. Screen readers, the programs that read the contents of a screen and then pass the text off to a speech synthesizer or Braille device, exist in the Linux world, but they work only in console mode. For Windows, there are screen readers that can grab text from a GUI. At the ripe old age of 19, Campbell has already managed to neatly package Emacspeak in RPM format and create his own Linux distribution called ZipSpeak (based on the ZipSlack distribution), which includes Speakup. He has also created a series of demos for blind newbies and has been interviewed on an Internet talk radio show called Hanitalk with Kirk Reiser, who is the main programmer for Speakup. And he has infected James Violette and myself with his quiet, positive, can-do attitude. I'm not going to be surprised when I learn one day that Campbell has been involved with a project that brings Linux screen readers up to par with their Windows cousins, one that finally makes them capable of reading text from X just as Windows programs do from the Windows GUI. [Image] Discuss this article in the LinuxWorld forums (2 postings) (Read our forums FAQ to learn more.) About the author Joe Barr is a contributing editor at LinuxWorld and a recovering programmer. In addition to writing for LinuxWorld and The [Image]Dweebspeak Primer, he is currently working with Nicholas Petreley on a Linux documentation project called The Essential Linux Open Book. Visit Joe's Desktop Linux discussion in the new Linux Forum, hosted on ITworld.com. Resources * "The Memes They Are A-changin'," Joe Barr (LinuxWorld, May 1999): http://www.linuxworld.com/linuxworld/lw-1999-05/lw-05-vcontrol.html * Air Capital LUG homepage: http://www.aclug.org/ * Speakup homepage: http://www.linux-speakup.org/ * Emacspeak homepage: http://emacspeak.sourceforge.net * Emacspeak HOWTO: http://www.mv.com/ipusers/vanzandt/Emacspeak-HOWTO.html * Matthew Campbell's homepage: http://www.crosswinds.net/~mattcamp/ * The Festival Project: http://www.cstr.ed.ac.uk/projects/festival/ ------------------------------------------------------------------------ Advertisement: Support LinuxWorld, click here! [Image] ------------------------------------------------------------------------ (c) 2000 LinuxWorld, published by ITworld.com, Inc., an IDG Communications company Feedback: lweditors at linuxworld.com Technical difficulties: webmaster at linuxworld.com URL: http://www.linuxworld.com/lw-2000-07/lw-07-vcontrol_2.html Last modified: Wednesday, July 12, 2000