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.
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).
Note
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?
The file
libXm.so.1
is part of the
lesstif
distribution, and it is also a
shared library. This error
message indicates that either
lesstif
is not installed, or that the
system is unable to locate the
file. Often shared libraries
are referenced by a
symbolic link to the real
shared library file, which may
be named something like
libXm.so.1.0.17.
When the name of the symbolic
link to the shared library and the
name of the real shared
library file differ,
the system may not be able to
find the shared library, even
if it exists. If another
program depends on a shared
library that cannot be found,
an error message like the one
above results. In the case of
libXm.so.1,
lesstif is only needed for
graphical demonstration
programs. Thus, if you do not
plan to use the graphical
mode, it is safe to install the
ViaVoice RTK rpm using the option
--nodeps,
which tells ViaVoice to ignore any
missing dependencies.
Note
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 are getting this error
message, there are several
possible causes. This section
steps though finding and
correcting this problem.
The first step is to
make sure that you have tcl
correctly installed, as
explained in the following instructions.
First, make
sure you are
in the
/usr/share/emacs/site-lisp/emacspeak/servers
directory.
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:
Go to your
/etc
directory,
then use you
favorite text
editor to open the
file named
profile.
Make sure the
following
lines are in
the file:
export DTK_PROGRAM
DTK_PROGRAM=name
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:
Open your
profile
file located
in the
/etc
directory.
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.
When you are
finished, save
and close the
profile
file.
Finally, retest tcl, and if
it works, restart Emacspeak.
Emacspeak should work correctly.
If you have a hardware
synthesizer and are still not
getting any speech, you probably do
not have the necessary
permissions to use the serial
port for your
synthesizer. There are a
number of solutions to this
problem, and the best solution
depends on your operating
environment. For example, if you
are in a multi-user
environment, controlling the
access permissions to the
serial device may be a
concern. The options are as follows:
Change the
ownership of
the serail
device to the
user running
Emacspeak. To
do this, type
chown
username
/dev/ttyS0
at the command
prompt,
then type
chmode
u+rw
/dev/ttyS0.
Add the user
to the group
associated
with the
serial
device. On Red
Hat systems
this is
usually the
group
tty.
To do this,
edit the
/etc/group
file and find
the line
starting with
tty:.
At the end of
that line, add
",username"
where username
is your
username.
Give
read/write
access to the
serial device
for all
users. This is
the least
secure
solution, but
if you are the
only user on
the system, it
will not
matter. To
give
read/write
access, make
sure you are
the root user
and at the
command prompt
type
chmod
o+rw
/dev/ttyS0.