EmacSpeak

EmacSpeak is a text-to-speech environment for Emacs. It uses modern techniques to read the contents of the buffer using a speech synthesizer. It is helpful for visually-impaired users.

Homepage

Overview

Emacspeak implements special features for nearly every widespread mode. See the Applications List for details.

Installation

An alternative guide is available in the manual.

Installing Espeak

If espeak isn’t available from your package manager, download it from the espeak website.

In your Emacspeak directory, you’ll need to build the espeak server

cd servers/native-espeak
make

Installing Emacspeak

To build from source, enter the downloaded directory and write

make config && make

Installing ViaVoice

Note: IBM no longer distributes Viavoice. Use espeak or voxin.

Some requirements for this setup:

You may try searching the Web for the above two packages.

From them, you’ll need viavoice_tts_rtk.tar. Getting the sdk.tar file isn’t necessary.

They contain .rpm files, which you can install on RedHat or use Debian Alien to convert them to .debs:

# Perform RPM -> DEB file conversion + installation.
alien -i filename.rpm

The Outloud Speech Server

Required: tclx, so on Debian, apt-get install tclx8.3 tclx8.3-dev first.

The Emacspeak Outloud speech server allows Emacspeak to interface with ViaVoice. It is in the servers/linux-outloud folder in Emacspeak. The NOTES file in this directory describes compilation.

You may need to change the -ltcl option in the Makefile to something like -ltcl8.3.

You may have to add an include path so that tcl.h gets found, or edit the tcleci.cpp file to make the #include <tcl.h> line fit to your systems needs. (e.g. on my system, I put tcl8.3/tcl.h there).

Make and install the speech server.

You should now be able to invoke emacspeak -o (-o calls the Outloud speech server). Look at the emacspeak script to see how this works; basicly setting DTK_PROGRAM=outloud in your shells environment should do the trick too.

Getting Auditory Icons working:

You may have noticed that the outloud speech server tries to use a /usr/bin/stdiosynth to generate auditory icons. This will work on some systems which have /dev/synth0. My sblive doesn’t have that, and so stdiosynth doesn’t work. But my sblive is multichannel capable. So I can use /dev/dsp concurrently. Here is my .emacs setup to make this work. Be careful, it may be necessary that you use the CVS version of Emacspeak for this to work right.

 (when (featurep 'emacspeak)
   (require 'emacspeak-aumix)
   (setq emacspeak-auditory-icon-function 'emascpeak-play-auditory-icon)
   (setq emacspeak-aumix-multichannel-capable-p t)
   (emacspeak-toggle-auditory-icons 1))

Emacspeak on Windows

There are several packages that aim to port Emacspeak to Windows. Notes included are for Emacs 29 on Windows 11

(Further documentation needed but it’s past 10PM. goodnight :3)

For Seeing Users

Emacspeak is not limited to the blind. it could be useful for all users, too. You can install Emacspeak and get a gratis binary only version of viavoice from IBM to use it as a software speech synthesizer on your i386 linux box. At least a *200mhz pentium* or above is recommended.

Discussion

Moved to the Talk page.

See Also

External Links


TextToSpeech CategoryAccessibility