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

Re: catalog of ESpeak TTS server issues

Hi Chris,

In the cases where we are not dealing with emacspeak specific issues,
I would try to work with Jonathan Duddington, the author of espeak, to
try and solve the problem upstream.

Chris Brannon writes ("catalog of ESpeak TTS server issues"):
> Here are some of the usability issues we've discussed.  Initials in parens
> indicate the person who first described the issue.
> RDC = Robert Crawford, CMB = Chris Brannon, and LL = Lukas Loehrer.
> 1. Character echo may be unusable.  (RDC).
> 4. Occasional stutter when using word echo (CMB).

I would guess that these are audio playback issues. portaudio has
similar problems when espeak is used in gnome-speech.

> Fix 5: Send something other than SSML to ESpeak.  Perhaps DECTalk commands
> could be interpreted by the server?
> I'm willing to work on this.

It seems that espeak internally uses some kind of embedded commands to
control at least some of the voice properties. The following is from

#define CTRL_EMBEDDED    0x01         // control character at the start of an embedded command

I have not managed to find out if these kinds of control sequences can
also be used in the input text.

> 6. Pauses around punctuation disturb the flow of speech.  Reading source code
> is difficult (LL).

This one is reproducible with the espeak command line tool  and
I  just sent a message to Jonathan about it.

> Fix 6: Let the server change punctuation marks to words before synthesis.

I would do that only as a last resort.

> The drawback is that we lose ESpeak's ability to pronounce punctuation in
> a language-specific way.  The server needs punctuation tables for each
> language that Emacspeak supports.  Currently, those are English and French.

Actually, it supports many more. You just have to uncomment them in
the tclespeak.cpp file. Look for "ThePreferredLanguages" in that file.
Most are commented out so that you do not have to cycle through dozens
of languages if you are only using a few.

I use emacspeak with English and German voices of ViaVoice. Emacspeak
already has more than one character replacement mechanism in place (in
dtk-speak.el and dtk-unicode.el). They work well for English, but it
is hard to get them to be language sensitive, because emacspeak is
oblivious to the language setting in the tts server. Ideally, the
synthesizer language would be a buffer local property like speech rate
or punctuation setting. I have whined about this before, but the fact
that I have not tried to implement it in all that time probably
indicates that the current solution is "good enough".

Best regards, Lukas

To unsubscribe from the emacspeak list or change your address on the
emacspeak list send mail to "emacspeak-request@cs.vassar.edu" with a
subject of "unsubscribe" or "help"

If you have questions about this archive or had problems using it, please send mail to:

priestdo@cs.vassar.edu No Soliciting!

Emacspeak List Archive | 2007 | 2006 | 2005 | 2004 | 2003 | 2002 | 2001 | 2000 | 1999 | 1998 | Pre 1998

Emacspeak Files | Emacspeak Blog