[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
question about speechd_up
From: |
Hynek Hanke |
Subject: |
question about speechd_up |
Date: |
Sun Aug 13 12:52:46 2006 |
On Fri, Mar 12, 2004 at 10:31:32AM -0600, Thomas Stivers wrote:
> First of all I would like to thank you for your part in getting software
> synthesizers to work with speakup. Now that I have it working one thing
> I have noticed is that sometimes the output from commands is not spoken
> and only the next prompt is spoken. This does not happen every time
> though. I suspect it may be an issue with the default priority
> speechd_up uses because if I read the spec correctly messages with
> priority text can interrupt themselves which is good for many things,
> but if one message is sent with part of a commands output and another is
> sent with the rest it would appear that the first message gets canceled.
Hello Thomas,
when the sftsyn_speakup driver writes it's commands to /dev/softsynth,
it usually sends a STOP command before each message. So I thought that
it's ok to send the messages with priority TEXT to Speech Dispatcher,
which does exactly the same thing, but a little bit faster since the
stops are comming from speakup only after the message. But maybe I was
mistaken and there are cases where a message from Speakup isn't
preceeded by a STOP command.
If this is the case, we can send the messages to Speech Dispatcher
with a different priority (MESSAGE) which is not interrupted by newly
arriving messages and leave the interrupting of speech solely on the
explicit STOP commands from /dev/softsynth.
It seems you know much better how should Speakup really work (I've no
reference here, my only device is software synthesis). Please could
you, on line 227 and 282 of speechd-up.c, rewrite the priority
SPD_TEXT to SPD_MESSAGE, both lines should read
spd_say(conn, SPD_MESSAGE, text);
and tell us if this fixes the problem?
Thank you for your report!
Hynek