PreviousNext Contents

1. Introduction

Emacspeak is an Emacs subsystem that allows the user to get feedback using synthesized speech.

Screen reading programs allow a visually impaired user to get feedback using synthesized speech. Such programs have been commercially available for well over a decade. Most of them run on PC's under DOS, and there are now a few screen-readers for the Windows platform. However, screen-readers for the UNIX environment have been conspicuous in their absence.

This means that most visually impaired computer users face the additional handicap of being DOS-impaired -- a far more serious problem:-)

Emacspeak is an emacs subsystem that provides basic speech access. Emacspeak will always have the shortcoming that it will only work under Emacs. This said, there is very little that cannot be done inside Emacs, so it's not a real shortcoming:-) Within Emacs, you can open a "shell window" where run commands and examine their output, even output which has scrolled out of the window. Emacs provides special modes for running certain commands. For example, it can parse error messages printed by a compiler and open a separate edit window with the cursor at the point of the error. It can also run a debugger and keep a separate edit window open at the point in the source code corresponding to the program counter.

Emacspeak does have a significant advantage: since it runs inside Emacs, a structure-sensitive, fully customizable editor, Emacspeak often has more context-specific information about what it is speaking than its commercial counterparts. In this sense, Emacspeak is not a "screenreader", it is a subsystem that produces speech output. A traditional screen-reader speaks the content of the screen, leaving it to the user to interpret the visually laid-out information. Emacspeak, on the other hand, treats speech as a first-class output mode; it speaks the information in a manner that is easy to comprehend when listening.

This initial version provides a basic speech subsystem for Emacs; using Emacs' power and flexibility, it has proven straightforward to add modules that customize how things are spoken, e.g. depending on the major/minor mode of a given buffer. Note that the basic speech functionality provided by Emacspeak is sufficient to use most Emacs packages effectively; adding package-specific customizations makes the interaction much smoother. This is because package-specific extensions can take advantage of the current context.

This document is limited to the following:

The use of adaptive technology with Linux, and in particular, using adaptive technology to make Linux accessible to those who could not use it otherwise, is covered in the Linux Access HOWTO.

If you would like to help extend this document to cover one or more of the other alternatives, or point me to a discussion somewhere else, please contact me.

Emacspeak was written by T. V. Raman raman@adobe.com. Emacspeak has a Web page at http://www.cs.cornell.edu/Info/People/raman/emacspeak/emacspeak.html.

Computer hardware, Unix user commands, Unix system administration, Emacs, and Emacspeak are each substantial systems. Attempting to learn all of them at once is likely to lead to frustration. Instead, I suggest that the new user go through a sequence of stages, learning about only one system at a time.


PreviousNext Contents