eSpeak - new release

Hynek Hanke hanke at brailcom.org
Wed Aug 9 16:04:59 EDT 2006


Lorenzo Taylor píše v St 09. 08. 2006 v 15:41 -0400:
> As for the cut-off bug I mentioned, I am using speech-dispatcher when it
> happens.  Unfortunately, I can't reproduce it using the speak command
> directly, either using the -f option to read it from a file or sending
> it on the command line.  However, the problem seems to go away when I
> change the espeak-generic.conf file in speech-dispatcher so that it
> creates a wav file and uses aplay to play it.  Note that this is how the
> espeak-generic.conf file that is shipped with speech-dispatcher works.
> I had just changed it to eliminate the extra step.  But apparently
> somehow that was causing the problem, although I'm not sure why.

>From your description, here is my guess of what happens. One of the
requierements for the command used with the generic output module is
that the command blocks exactly until all audio is played and then it
returns so that Speech Dispatcher knows when it can start playing the
next part. This is what is guaranteed using aplay to play the sound.

Maybe if you use eSpeak to play the sound, sometimes it just returns
after it puts all the data into the sound output buffer (but some
of the data are still not played on the speakers). If you try this
with a command line, you don't notice. But if you use the generic
output module, it sends the text sentence by sentence and if the eSpeak
returns early, it will just send another sentence, which will interrupt
the previous one.

We could now ask Jonathan to try to confirm this and if so, then fix it.
But it is difficult for me to call this a bug. In my opinion, it is not
worth the time trying to fix it. Audio output is a complex and hard
thing and there is no reason (in good design) why a speech synthesizer
should have to take care of it. The future architecture of the eSpeak
module in Speech Dispatcher will retrieve audio and play it with its own
library for all different synthesizers -- the code on the side of eSpeak
is already ready thanks to Jonathan. In the meantime when we use the
generic output module, using some well tested robust technology like
aplay seems to be a reasonable solution.

But if my guess as for the cause of the bug is incorrect, e.g. the bug
happens even with aplay, then please let me know. Also, I wonder if
there are some troubles with aplay or what is the improvement from
removing aplay from the command chain. Maybe I could help to fix this
issue while still using aplay.

Thank you,
Hynek Hanke





More information about the Speakup mailing list