Speech-Dispatcher and Punctuation

Tomas Cerha cerha at brailcom.org
Mon Feb 5 02:49:45 EST 2007

Steve Holmes wrote:
> I think the situation with speechd-el is all
> punctuations are sent through and the punc level is set by changing the
> punct level in speech-dispatcher.  Apparently, even if
> speech-dispatcher's punct level is set to none and --punct is used,
> espeak still speaks the characters.  So I find myself with a "all or
> nothing" situation:).

Hello Steve,

This is quite an interesting issue and I'll try to explain why you see
such inconsistent behavior right now.  Several facts influence this problem:

* Speech Dispatcher has support for setting three punctuation levels:
  - NONE -- no punctuation is read
  - ALL -- everything is read
  - SOME -- only certain characters are left out

* Speakup has its own punctuation handling and speechd-up just uses
  the level ALL when communicating with Speech Dispatcher, because
  speakup strips the punctuation characters from the text internaly.
  This is technically not an ideal solution, but it currently gives
  the best results for speakup users.

* Speechd-el on the other hand uses Speech Dispatcher's punctuation
  handling.  It definitely works and there are commands to deal with
  puncuation, just see the speechd-el documentation.

* Speech Dispatcher's generic Espeak driver currently does not support
  setting punctuation.  You can set either --punct or not, but this
  results in the "all or nothing" situation as you describe.  You are
  unable to set it according to the current Speech Dispatcher's
  punctuation level.

So now you see why punctuation doesn't work from both - speechd-el and
spd-say and why it does work from speakup.  If you try with Festival,
for example, you should get good results from all of them.

The generic Espeak driver is the key point of our problem.  Since Espeak
does support punctuation setting, the only problem now is to pass the
current punctuation mode from Speech Dispatcher to Espeak.  I'm afraid
there currently is no syntax to do that within the generic driver, but
I'll look at it.

Best regards, Tomas.

More information about the Speakup mailing list