Previous Next Contents

8. Software Packages

References in this section are taken directly from the Linux Software map which can be found in all standard places for Linux documentation and which lists almost all of the software available for Linux.

8.1 Emacspeak

Emacspeak is the software side of a speech interface to Linux. Any other character based program, such as a WWW browser, or telnet or another editor can potentially be used within emacspeak. The main difference between it and normal screen reader software for such operating systems as DOS is that it also has a load more extra features. It is based in the emacs text editor.

A text editor is generally just a program which allows you to change the contents of a file, for example, adding new information to a letter. Emacs is in fact far beyond a normal text editor, and so this package is much more useful than you might imagine. You can run any other program from within emacs, getting any output it generates to appear in the emacs terminal emulator.

The reason that emacs is a better environment for Emacspeak is that it can can understand the layout of the screen and can intelligently interpret the meaning of, for example, a calendar, which would just be a messy array of numbers otherwise. The originator of the package manages to look after his own Linux machine entirely, doing all of the administration from within emacs. He also uses it to control a wide variety of other machines and software directly from that machine.

Emacspeak is included within the Debian Linux distribution and is included as contributed software within the Slakware distribution. This means that it is available on many of the CDROM distributions of Linux. By the time this is published, the version included should be 5 or better, but at present I only have version 4 available for examination.

Title:          emacspeak - a speech output interface to Emacs
Version:        4.0
Entered-date:   30MAY96
Description:    Emacspeak is the first full-fledged speech output
                system that will allow someone who cannot see to work
                directly on a UNIX system. (Until now, the only option
                available to visually impaired users has been to use a
                talking PC as a terminal.) Emacspeak is built on top
                of Emacs. Once you start emacs with emacspeak loaded,
                you get spoken feedback for everything you do. Your
                mileage will vary depending on how well you can use
                Emacs.  There is nothing that you cannot do inside
Keywords:       handicap access visually impaired blind speech emacs
Author: (T. V. Raman)
Maintained-by: (Jim Van Zandt)
Primary-site: apps/sound/speech
                124kB   emacspeak-4.0.tgz
Original-site: /pub/raman/emacspeak
                123kB   emacspeak.tar.gz/Info/People/raman/emacspeak/emacspeak.tar.gz
Platforms:      DECtalk Express or DEC Multivoice speech synthesizer,
                GNU FSF Emacs 19 (version 19.23 or later) and TCLX
                7.3B (Extended TCL).
Copying-policy: GPL


This is a program for running a serial port Braille terminal. It has been widely tested and used, and supports a number of different kinds of hardware (see the Linux Software Map entry below).

The maintainer is, Nikhil Nair <>. The other people working on it are Nicolas Pitre <> and Stephane Doyon <>. Send any comments to all of them.

The authors seem keen to get support in for more different devices, so if you have one you should consider contacting them. They will almost certainly need programming information for the device, so if you can contact your manufacturer and get that they are much more likely to be able to help you.

A brief feature list (from their README file) to get you interested

Title:          BRLTTY - Access software for Unix for a blind person
                         using a soft Braille terminal
Version:        1.0.2, 17SEP96
Entered-date:   17SEP96
Description:    BRLTTY is a daemon which provides access to a Unix console
                for a blind person using a soft Braille display (see the
                README file for a full explanation).

                BRLTTY only works with text-mode applications. 

                We hope that this system will be expanded to support
                other soft Braille displays, and possibly even other
                Unix-like platforms.
Keywords:       Braille console access visually impaired blind
Author: (Nikhil Nair)
       (Nicolas Pitre)
       (Stephane Doyon)
       (James Bowden)
Maintained-by: (Nikhil Nair)
Primary-site: /pub/Linux/system/Access
                110kb brltty-1.0.2.tar.gz (includes the README file)
                  6kb brltty-1.0.2.README
                  1kb brltty-1.0.2.lsm
Platforms:      Linux (kernel 1.1.92 or later) running on a PC or DEC Alpha.
                Not X/graphics.
                Supported Braille displays (serial communication only):
                  - Tieman B.V.: CombiBraille 25/45/85;
                  - Alva B.V.: ABT3xx series;
                  - Telesensory Systems Inc.: PowerBraille 40 (not 65/80),
                    Navigator 20/40/80 (latest firmware version only?).
Copying-policy: GPL

8.3 Screen

Screen is a standard piece of software to allow many different programs to run at the same time on one terminal. It has been enhanced to support some Braille terminals (those from Telesensory) directly.

8.4 Rsynth

This is a speech synthesiser listed in the Linux Software Map. It doesn't apparently work well enough for use by a visually impaired person. Use hardware instead, or improve it.. a free speech synthesiser would be really really useful.

8.5 xocr

xocr is a package which implements optical character recognition for Linux. As with Rsynth, I don't think that this will be acceptable as a package for use as a sole means of input by a visually impaired person. I suspect that the algorithm used means that it will need to be watched over by someone who can check that it is reading correctly. I would love to be proved wrong.

8.6 xzoom

xzoom is a screen magnifier, in the same vein as xmag, but sufficiently better to be very useful to a visually impaired person. The main disadvantages of xzoom are that it can't magnify under itself, that some of the key controls aren't compatible with fvwm, the normal Linux window manager and that it's default configuration doesn't run over a network (this can be fixed at some expense to speed). Apart from that though, it's excellent. It does continuous magnification which allows you to, for example, scroll a document up and down, whilst keeping the section you are reading magnified. Alternatively, you can move a little box around the screen, magnifying the contents and letting you search for the area you want to see. xzoom is also available as an rpm from the normal RedHat sites, making it very easy to install for people using the rpm system (such as Redhat users).

Title:          xzoom
Version:        0.1
Entered-date:   Mar 30 1996
Description:    xzoom can magnify (by integer value) rotate
                (by a multiple if 90 degrees) and mirror about
                the X or Y axes areas on X11 screen 
                and display them in it's window.
Keywords:       X11 zoom magnify xmag
Author:         Itai Nahshon <>
Maintained-by:  Itai Nahshon <>
                probably in /pub/Linux/X11/xutils/xzoom-0.1.tgz
Platforms:      Linux+11. Support only for 8-bit depth.
                Tested only in Linux 1.3.* with the XSVGA 3.1.2
                                Needs the XSHM extension.
Copying-policy: Free

8.7 NFBtrans

nfbtrans is a multi-grade Braille translation program distributed by the National Federation for the Blind in the U.S.A. It is released for free in the hope that someone will improve it. Languages covered are USA English, UK English, Spanish, Russian, Esperanto, German, Biblical Hebrew and Biblical Greek, though others could be added just by writing a translation table. Also covered are some computer and math forms. I have managed to get it to compile under Linux, though, not having a Braille embosser available at the present moment I have not been able to test it.

NFBtrans is available from After downloading it, you will have to compile it.

Compiling NFBtrans on Linux

I have returned this patch to the maintainer of NFBtrans and he says that he has included it, so if you get a version later than 740, you probably won't have to do anything special. Just follow the instructions included in the package.

        unzip -L NFBTR740.ZIP   #or whatever filename you have
        mv makefile Makefile

Next save the following to a file (e.g. patch-file)

*** nfbpatch.c.orig     Tue Mar 12 11:37:28 1996
--- nfbpatch.c  Tue Mar 12 11:37:06 1996
*** 185,190 ****
--- 185,193 ----
    return (finfo.st_size);
  }                /* filelength */
+ #ifndef linux 
+ /* pretty safe to assume all linux has usleep I think ?? this should be
+ done properly anyway */
  #ifdef SYSVR4
  void usleep(usec)
    int usec;
*** 195,200 ****
--- 198,204 ----
UKP  }                /* usleep */
+ #endif 
  void beep(count)
    int count;

and run

patch < patch-file

then type


and the program should compile.

8.8 UnWindows

UnWindows is a package of access utilities for X which provides many useful facilities for the visually impaired (not blind). It includes a screen magnifier and other customised utilities to help locate the pointer. UnWindows can be downloaded from

As it comes by default, the package will not work on Linux because it relies on special features of Suns. However, some of the utilities do work and I have managed to port most of the rest so this package may be interesting to some people. My port will either be incorporated back into the original or will be available in the BLINUX archives (see WWW references). The remaining utility which doesn't yet work is the configuration utility.

In my version the programs, instead of generating sounds themselves, just call another program. The other program could for example be

play /usr/lib/games/xboing/sounds/

Which would make the xboing ouch noise, for example it could do this as the pointer hit the left edge of the screen.


dynamag is a screen magnification program. please see the section on Screen magnification ( magnification). This program worked in the default distribution.


coloreyes makes it easy to find the pointer (mouse) location. It consists of a pair of eyes which always look in the direction of the pointer (like xeyes) and change color depending on how far away the mouse is (unlike xeyes). This doesn't work in the default distribution, but the test version, at the same location, seems to work.


border is a program which detects when the pointer (mouse) has moved to the edge of the screen and makes a sound according to which edge of the screen has been approached. The version which is available uses a SUN specific sound system. I have now changed this so that instead of that, it just runs a command, which could be any Linux sound program.


The window manager is a special program which controls the location of all of the other windows (programs) displayed on the X screen. un-twm is a special version which will make a sound as the pointer enters different windows. The sound will depend on what window has been entered. The distributed version doesn't work on linux because, like border it relies on SUN audio facilities. Again I already have a special version which will be avaliable by the time you read this.

Previous Next Contents