[Prev][Next][Index][Thread]

Process speaker not running?



My reply to this last week was terse because I was away at WWW97.

Let me try and explain what I think is happening in your istuation; it's
basically the result of
misunderstanding how the various emacspeak environment variables work.

Here is a summary:

Emacspeak uses three environment variables.

a) DTK_TCL --pathname to a tcl interpreter
(or in general an interpreter that will be called with a synthesizer specific
script)

b)  DTK_PROGRAM --the name of the device specific script e.g. dtk-exp

c) DTK_PORT --port where the speech box is connected e.g. /dev/ttyS0

Upon startup, Emacspeak launches the driver by executing
DTK_TCL with DTK_PROGRAM as the first (and only) command line argument.
The above is expected to examine environment variable DTK_PORT to decide where
the speech device is connected; if that environment variable is not set it
picks a suitable platform default,
e.g. /dev/ttyS0 on linux or /dev/ttya on sparcs.

With this summary, it's probably clear why things went wrong for you.

2) Killing a hung emacs, and getting minimal spoken feedback from a shell:

This is not really an Emacspeak question/answer, but you may find what I use
useful for your own situation.

1) In your /usr/local/bin create a simple
shell script called speak that sends its arguments to the speech box ie a
talking version of the shell's echo.

Assuming you use bash:

b) In your .profile, add a command at the end to echo a message to the speech
box indicating succesful login.

c) bash lets you specify a command to execute every time a shell prompt is
displayed--
I have a sound card so I typically set bash to play a sound file like so:

EXPORT PROMPT_COMMAND="play ding.au"
(replace play and ding.au with appropriate pathnames for your setup.
If you dont have a sound card, set PROMPT_COMMAND to something like
echo "go. " > /dev/ttyS0
d)  Now, if you are stuck, you can go to another virtual console, and get
sufficient feedback to do what you need in terms of killing a stuck emacs, or
whatever.

I typically have shell scripts called "spot" and "slay"
that accept a process name, e.g. emacs and display the pid --
so to locate an emacs session I would do
bash: spot emacs

and to get the output spoken
speak `spot emacs`

note that the above backquote trick is really useful when you have no other
speech
e.g. you can tell which directory you are in by typing
speak `pwd`

Finally I also typically have a script called slay that nukes processes by
name so I can do
slay emacs
or
once I have detected the offending process with spot do
kill pid

Hope this helps alleviate some of your frustration--
feedback

Steve Holmes writes:
 > Why am I getting this?  I am attempting unsuccessfully to use emacspeak
 > 5.0 on my linux box.  I do not own a dectalk so am trying to build a
 > driver for the Speakout from GW Micro.  When I test it using TCL or when I
 > attempt to use a C program modled after Jim Van Zant's d-exp program, I
 > get reasonable results; more work is yet required but at least they more
 > less work.  When I try to load up emacspeak, I keep getting the message
 > "Process speaker not running".  After that, I cannot get out of emacs no
 > matter what I do.  I usually end up rebooting the system.  Jim told me
 > recently I could do a c-e followed by a c-s but that doesn't appear to do
 > me any good subsequent key strokes give me the same damn old thing.  I
 > have set DTK_PROGRAM to my replacement module for the speakout correctly
 > in the environment but still to no avail.  I am running out of luck and
 > patience with this bloody thing.  It sounds so simple but I can't get any
 > thing worthwhile out of it thus far.  I suppose if I had a dectalk all
 > this would be moot.  We need compatability to other synthesisers and I
 > want to do my part but not having good luck so far.
 > 
 > Can anyone help me out? Jim Van Zant has been a good help so far, but I
 > think I might need more:).
 > 
 > Thanks in advance,
 > <Steve> Holmes

-- 
Best Regards,
--raman

      Adobe Systems                 Tel: 1 (408) 536 3945   (W14-129)
      Advanced Technology Group     Fax: 1 (408) 537 4042 
      (W14 129) 345 Park Avenue     Email: raman@adobe.com 
      San Jose , CA 95110 -2704     Email:  raman@cs.cornell.edu
      http://labrador.corp.adobe.com/~raman/raman.html (Adobe  Internal)
      http://www.cs.cornell.edu/Info/People/raman/raman.html  (Cornell)
-----------------------------------------------------------------------
    Disclaimer: The opinions expressed are my own and in no way should be taken
as representative of my employer, Adobe Systems Inc.
____________________________________________________________