[Kde-accessibility] KTTS recent enhancements and KSpeech API change

Gary Cramblitt garycramblitt at comcast.net
Sun Apr 17 15:37:53 CEST 2005


Based on some input from Olaf Schmidt and David Powell, KTTS has been enhanced 
to provide more options for controlling speech of notifications from 
applications (KNotify).  You may now specify spoken actions for events at 
three levels:

  1.  Specific event of specific application.
  2.  All other events of specific application.
  3.  All other events.

For each event, the action may be:

  1.  Do not speak the notification.
  2.  Speak the notification event name. "New mail has arrived."
  3.  Speak the notification message.
  4.  Speak a custom message.

For each action, you may also specify the desired Talker in one of three ways:

  1.  Use the default (topmost) Talker.
  2.  Use closest matching Talker having a specified synthesizer, gender, 
volume, rate, or language.
  3.  Use a specific configured Talker.

There is a problem with the Select Talker dialog that displays these choices.  
I can't seem to get KDialogBase to honor the minimum size of the contained 
widget, even though the widget sizing behaves correctly in Designer "Preview 
Form".   If anyone can spot what I'm doing wrong, I'd be grateful.  Code is 
in kdeaccessibility/kttsd/libkttsd/

  selecttalkerwidget.ui
  selecttalkerdlg.h/cpp

A small change affects current filters.  In the past, notification messages 
came from application ID "knotify".  Now, the source application is the 
application that sent the notification to KNotify.  If you have any filters 
that specify a source application, they may need tweaking.

There is a small change I'd like to make to the KSpeech API.  It should not  
affect current applications, but if I'm wrong, please let me know.

The existing resumeText() method has the following sentence in the 
specification:

  If the job was not paused, it is the same as calling @ref startText.

I want to change this to

  If the job is currently speaking, or is waiting to be spoken (speakable 
state), the resumeText() call is ignored.

I'm not sure why the original spec was written that way, but it causes a 
problem if a user accidentally resumes a job twice, causing the job to start 
over from the beginning.

In other news, the Cepstral folks have sent me an SDK for their Swift TTS 
engine.  Cepstral sells commercial high-quality voices for Windows and Linux.  
Alan Black, one of the authors of Festival, is a member of the Cepstral 
Board.   I will soon be adding a new Cepstral plugin to KTTS.  Among other 
things, this means a French language will finally be available for use in 
KTTS (for a price).

-- 
Gary Cramblitt (aka PhantomsDad)
KDE Text-to-Speech Maintainer
http://accessibility.kde.org/developer/kttsd/index.php


More information about the kde-accessibility mailing list