5. Frequently Asked Questions (FAQs)

This sections covers some of the more common problems encountered when installing Emacspeak. If there is a topic that is not covered here, you should review the Emacspeak mailing list archives at http://www.cs.vassar.edu/~priestdo/emacspeak/. You can find the answers to many additional questions there.

The volume on my system is very low - how can I increase it?

The easiest way to turn up system volume is with a set of speakers. However, sometimes speakers aren't feasible (for example, with a laptop), or even with speakers, the volume is still not loud enough. In this case, you can use the application aumix to increase your system's volume.

Aumix comes with many distributions of Linux, but if your distro doesn't have aumix, you can download it from http://prdownloads.sourceforge.net/aumix/aumix-2.7.tar.gz. The latest version is 2.7.

To use aumix to increase your system's volume, type the command aumix -v +100 or aumix -w +100. The numerical value is the percentage volume, so in this case 100 means 100%. You may want to try different settings to find the most comfortable one for you.

For more information on using aumix, type aumix -h at the command prompt.

sndconfig doesn't recognize my soundcard. What should I do?

If sndconfig doesn't recognize your soundcard, you should see if you can download a driver for your card. The Advanced Linux Sound Architecture (ALSA) web site, located at http://www.alsa-project.org, lists many sound cards, along with their drivers (if available). Another alternative is the Open Sound System (OSS) for Linux. OSS is a commercial implementation of the Linux kernel drivers, and a list of supported cards can be found at http://www.4front-tech.com/osshw.html. There used to be a free version, but apparently it is no longer available (if anyone knows differently, please let me know).


Some users have reported compatibility problems with ViaVoice and ALSA drivers. I have been unable to determine the exact problem or solution from various mailing archives, so if anyone can provide more information on this issue, please let me know.

When I try to install the ViaVoice RTK rpm file, I get the error "libXm.so.1 is missing." What's wrong?

According to the ViaVoice mailing archive, this problem occurs most often with Red Hat 7.1. The main ViaVoice TTS engine does not seem to require the file libXm.so.1, so you can install the ViaVoice RTK rpm using the option --nodeps. This option tells ViaVoice to ignore any missing dependencies.


Note that this is only a workaround, not a "fix," and that it only works for ViaVoice Text-to-speech (TTS). This solution may not work if you use any of the ViaVoice voice recognition software.

When I compile the ViaVoice TTS server for Emacspeak, I get an error "tcleci.cpp:43:17: eci.h: No such file or directory." Where is eci.h?

This error message appears when you install the ViaVoice RTK and SDK in the wrong order, or if the SDK is not installed.

The file eci.h should be in the /usr/include directory. If it is not there, re-install ViaVoice TTS RTK, then install ViaVoice TTS SDK. Check to make sure eci.h is in the /usr/include directory, then change directories to /usr/share/emacs/site-lisp/emacspeak/servers/linux-outloud, and type make at the command prompt. The ViaVoice TTS should now make successfully.

When I start Emacspeak, I keep getting the error "process speaker not running." What's wrong?

If you're getting this error message, it's because Emacspeak cannot find the script that drives your sound server. The script you use depends on which type of server you have.

There are a couple of things to check if you get this error message. The first step is to make sure that you have tcl correctly installed, as explained in the following instructions.

  1. First, make sure you are in the /usr/share/emacs/site-lisp/emacspeak/servers directory.

  2. At the command prompt, type tcl name of speech server, The most common speech servers are dtk-exp and outloud.

If you get an error such as bash: tcl:: command not found, it means that tcl/tclx is not correctly installed on your system. You must get the latest version of either tcl or tclx and install it before Emacspeak will work.

If everything is installed correctly, you should hear a voice saying "IBM ViaVoice. This is Emacspeak" or something similar. A % command prompt should also appear. At the prompt, type q "this is a test." Then press Return and type d. This command runs the speech, so you should hear "this is a test" spoken. If you hear this, the server script is running properly. You can type exit to quit tcl.

You may also get an error like stdiosynth executable not found when you type tcl name of speech server, and then get a command prompt. Testing has shown that this error can appear even when stdiosynth is correctly installed and Emacspeak is working. Even if you get this error message, you should still get the % command prompt, so you should be able to test the script.

If the script test was unsuccessful, (if tcl was found and you got a % prompt but you did not hear any speech), the next step is to make sure that you have the correct lines in your profile file to let Emacspeak know where to find the speech server. To check this, follow these steps:

  1. Go to your /etc directory, then use you favorite text editor to open the file named profile.

  2. Make sure the following lines are in the file:

    							export DTK_PROGRAM
    							of speech server

    The most common speech servers, are outloud and dtk-exp.

If these lines are not in your profile file, add them and then re-test tcl. If you are using ViaVoice TTS as your synthesizer, Emacspeak should work correctly at this point. If you are using a hardware synthesizer and you still do not get any sound, check to make sure that the environment variable DTK_PORT is set correctly in your /etc/profile file.

The variable DTK_PORT specifies which port your hardware sythesizer is plugged into on your computer. Under Linux, if your synthesizer is plugged into com1, you must set DTK_PORT to /dev/ttyS0, and if it is in com2, then DTK_PORT should be set to /dev/ttyS1. To set this variable, follow these steps:

  1. Open your profile file located in the /etc directory.

  2. Look for the variable DTK_PORT. If this variable does not exist, scroll to the bottom of the profile file and add the following line:

    		export DTK_PORT=/dev/ttySX

    In this line, the "X" should be replaced by the correct port number, as described above.

  3. When you are finished, save and close the profile file.

Finally, retest tcl, and if it works, restart Emacspeak. Emacspeak should work correctly.