EmacSpeak is a complete audio desktop environment for Emacs.

What does this mean? Basically, Emacspeak implements many modern techniques to read the content of Emacs buffer via a speech synthesizer to a blind or visually impaired user.

The very nice Emacs philosophy of only working with text comes very handy here- Emacspeak can (and does) implement special voice enabling features for nearly every widespread major and minor mode. Look at the homepage for more information (especially the application list).

The homepage of Emacspeak can be found at https://github.com/tvraman/emacspeak and http://emacspeak.sf.net for Spanish-speaking users, this package has support at http://gnu.manticore.es

But this one is not limited to the blind. At least I think it could be useful for ordinary hardcore emacs 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.

Installation Instructions

Getting Emacspeak: Either from emacspeak.sf.net, the CVS, or on debian systems with apt-get install emacspeak

Getting / Installing ViaVoice: You need the IBM ViaVoice TTS Runtime-kit. You previously could get it here, but that link is broken. Try searching for “Download the ViaVoice TTS SDK and TTS Run Time Kit for Linux” from there. Note, you’ll have to register, but the software itself is gratis as long as you use it non-commercially. Anyway, be sure to read the license. You’ll need the file viavoice_tts_rtk.tar, getting the sdk.tar file isn’t necessary, but could be fun for you. So maybe get both. Those tar-files contain .rpm files, which you can install on RH and maybe SuSE. 13 Dec 2002 The IBM website does not appear to be offering Linux any more…. Use alien --to-deb filename.rpm to generate your .deb files for Debian distributions. Now install those files. Or you can use alien -i filename.rpm to do the conversion and installation in one go and clean up the generated .deb file.

Setting up the speech server: Required: tclx, so on debian, maybe apt-get install tclx8.3 tclx8.3-dev first. The outloud speech server for Emacspeak (thats the component which makes ViaVoice TTS useable to Emacspeak) is in /usr/share/emacs/site-lisp/emacspeak/servers/linux-outloud There is a NOTES file in this directory which describes the compilation process. Basicly, you will have to change the -ltcl option in the Makefile to something like -ltcl8.3. And you may have to add a 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 (the -o is to choose 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))

Hope this helps, please add questions to this wiki if you didn’t understand something or something didn’t work. I wrote this much out of memory, so there may be errors, as usual.

Have fun

Question: Is anything like this available for Windows? – ZwaX

Answer: Yes, in 2013 Emacspeak port for Windows was released. See the project emascpeakwin at sourceforge.

Question: ?

Answer: With a little help from #emacs on irc.openprojects.net, I found out that you should export the varibale DTK_TCL like this; export DTK_TCL=/usr/bin/eflite Assuming that you’re running the bash shell, and that your eflite is located in /usr/bin/ – lurwas

Question: Can this be used with festival (http://festvox.org/festival)? --DavidMcCabe

Answer: I have successfully managed to emacspeak up and running Ubuntu gutsy gibbon by using the eflite package. Install eflite flite emacspeak. To configure the speech server to be used, use sudo emacspeakconfig and pick eflite. Then run emacspeak via the alsa-oss package “oss emacspeak”. You may have to install the alsa-oss package.

Answer: This is what I get on my Debian:

 /home/alex# dpkg-reconfigure emacspeak      
 Please enter the number of your choice:                                          
   1  DECtalk Express
   2  DECtalk Multivoice
   3  DECtalk 3
   4  Software DECtalk
   5  eflite
   6  ViaVoice Outloud
   o  other.  I can provide the filename
   a  abort, and restart configuration after
      installation of another speech server package
 Number [5]: 

Run “emacspeak” to open emacs with voice. In case of problems:

Other problems:

TextToSpeech CategoryAccessibility