emacspeak-ss - Emacspeak speech servers for several synthesizers

OVERVIEW

The Emacspeak by T. V. Raman <raman@cs.cornell.edu> software package
provides speech output for Emacs, and includes "speech servers" for
the DECtalk speech synthesizers.  This package provides servers for
several additional synthesizers:
	DoubleTalk PC and AT from R. C. Systems <http://www.rcsys.com/>
	Braille 'n Speak, Type 'n Speak, and Braille Lite from Blazie
Engineering <http://www.blazie.com>
	Accent SA
	Apollo 2, JUNO, and JUNO-sp from Dolphin.
	Spanish ciber 232
	Spanish ciber 232 Plus
	Spanish PC Hablado notebook

The servers are named "doubletalk", "braillenspeak", "accent",
"apollo", "ciber", and "hablado" respectively.  None of these programs
are normally run by the user directly.  Instead, they are run by
Emacs.  That is: Emacs runs the emacspeak code, which executes tcl,
which interprets the server code.

HISTORY

T. V. Raman wrote the interface between his Emacspeak and the DECtalk
in TCL.  I have adapted it for the DoubleTalk, LiteTalk, and Braille
'n Speak synthesizers.  Jack Chen <jackchen@thera.pa.dec.com> has
adapted it for the Accent.  Oscar Fernández Arcis <OFA@once.es>
adapted it for the ciber and PC Hablado devices.

T. V. Raman bears no responsibility for this code.  Questions,
problems, or suggestions should be sent to the server author (Jack,
Oscar, or me), not him.

For the most recent version of this code, check the BLinux FTP archives:

	ftp://leb.net/pub/blinux/emacspeak/blinux

You can also look on my web page:

	http://www.mv.com/ipusers/vanzandt/

Matt Campbell <mattcamp@feist.com> has RPMs here:

	http://www.crosswinds.net/~mattcamp/emacspeak.html

See also the README files for the individual servers.

For general information on Emacspeak, please consult the Emacspeak home page:

	http://www.cs.cornell.edu/Info/People/raman/emacspeak/emacspeak.html

There is also an Emacspeak mailing list.  To subscribe, send a message to:

	emacspeak-request@cs.vassar.edu

with a subject of:

        subscribe


PREPARATION

Before you can use any of these servers, you have to install
emacspeak.  If you have a recent Slackware Linux cdrom, you will find
an emacspeak package in the /contrib directory.  You can install and
configure it with commands something like this:

	# installpkg /cdrom/contrib/emacspeak.tgz
	# /var/adm/setup/setup.emacspeak

There are also Red Hat and Debian packages at the usual ftp sites for
those distributions, at leb.net, and on my web page (see above).

INSTALLATION

Configure the source code with the command
	./configure

If you want the files installed in some place other than the default
of /usr/share/emacs/site-lisp/emacspeak/, you may specify a value for
"prefix".  The default is equivalent to "./configure --prefix=/usr".

Build with
	make

For most synthesizers, this only combines the synthesizer-independent
code with the synthesizer-specific code.  The servers are implemented
in tcl which needs no compilation.  The exception is the apollo, which
needs a small helper program written in C.

Install by becoming the superuser and typing
	make install

This copies the servers into /usr/share/emacs/site-lisp/emacspeak/.

TESTING

You have to set the environment variable DTK_PROGRAM to point to the
correct server before you start.  For bash, you may use one of these
in .profile:

	export DTK_PROGRAM=doubletalk
	export DTK_PROGRAM=braillenspeak
	export DTK_PROGRAM=accent

For csh, use one of these in .login:

	setenv DTK_PROGRAM doubletalk
	setenv DTK_PROGRAM braillenspeak
	setenv DTK_PROGRAM accent

You can not just set DTK_PROGRAM to the full path to the server.  The
path must be relative to /usr/share/emacs/site-lisp/emacspeak/ (or
wherever emacspeak is installed).  If you want to test a server before
installing it, you may use something like this:

	DTK_PROGRAM=../../../../../home/jrv/speech/emacspeak-ss-0.3/doubletalk

Under Linux, the DoubleTalk server uses the first of the following devices:
 the value of the environment variable DTK_PORT if it is set, or
 /dev/dtlk if it exists and can be read from and written to, or
 /dev/ttyS0.  

The other servers use the first of the following devices:
 the value of the environment variable DTK_PORT if it is set, or
 /dev/ttyS0.  

If you connect the synthesizer to one of the first four serial ports
(/dev/ttyS0 through /dev/ttyS3), turn it on, and execute this script:
	find-ss

then the synthesizer should speak the name of the port.

If you have a synthesizer connected to a serial port other than the
first one (/dev/ttyS0 under Linux, which is COM1 under DOS), then set
DTK_PORT.  For example, for the second serial port, which is COM2
under DOS, you would use this:

	export DTK_PORT=/dev/ttyS1

You may want to add this line to .profile in your home directory, or
/etc/profile so all users inherit those environment settings.

With csh you could put

	setenv DTK_PORT /dev/ttyS1

in .login .

If the port is set up for the right speed, you can check the
connection and port number with echo under bash:

	echo $'this is a test\r' >/dev/ttyS1

(When text in single quotes is preceded by a dollar sign, bash expands
escape sequences in the text.  Here, I am using this feature to
generate a carriage return).  You can similarly test the internal
DoubleTalk like this:

	echo $'this is a test\r' >/dev/dtlk

Start Emacspeak with the command 
	emacspeak
which is a shell script installed in /usr/local/bin or /usr/bin.


PROBLEMS

Neither the Braille 'n Speak nor the Accent synthesizers have tones.

If other things are not working, please review the file
TROUBLESHOOTING first.  If that does not help, please let me know.
For problems with the Accent server, please also write to Jack Chen
<jackchen@thera.pa.dec.com>.

When you write, please include the output of the "testit" script, if
possible.  Otherwise, include as many of these as you can:

	Linux distribution (Red Hat, Slackware, Debian, custom, etc.)
	Linux kernel version
	emacspeak version number
	emacspeak-ss version number
	synthesizer type (e.g. DoubleTalk PC or LT), serial number,
and ROM version number.

                       - Jim Van Zandt <jrv@vanzandt.mv.com>

