speakup, speechd-up, speech-dispatcher and languages

Hynek Hanke,,, hanke at volny.cz
Thu Aug 4 07:37:05 EDT 2005


On Thu, Aug 04, 2005 at 06:53:48AM -0400, Kirk Reiser wrote:
> Hello all:  I have language switching in speakup for hardward synths
> but not for speech dispatcher.  If you can point out the appropriate
> portion of the manual Hynek I'll be happy to write in the some code
> for doing it. 

I'm a little confused here. Do you mean writing code into SpeakUp or
SpeechD-Up? Writing code to SpeechD-Up should be rather trivial, so I can
easily do it once I know the specs for /dev/softsynth, or you can do it right
away so that you are able to test it -- that doesn't matter.

The appropriate section in the manual to SSIP (which defines the
API to Speech Dispatcher) is here:
	http://www.freebsoft.org/doc/speechd/ssip_17.html#SEC22

How to do it particularly with the C API is here:
	http://www.freebsoft.org/doc/speechd/speech-dispatcher_33.html#SEC37

You are interested in
	SET * LANGUAGE
and
	spd_set_language()

The codes that are to be passed are defined in RFC 1766. Of course, if this is
not possible, we can translate in SpeechD-Up. Or we can let the user define
them on SpeechD-Up startup and cycle through them through some SpeakUp
command...

> I'd also like to know about dictionaries.  I thought I remembered reading at
> some point in the documentation for speech dispatcher the capability of
> developing dictionaries to modify pronunciation but when I was looking for it
> specifically I could not find any reference to it.  

That is well possible but we removed this thing later. It's not right to do so,
because Speech Dispatcher doesn't understand the text of the messages (not even
tries to) and additionally, such dictionaries (when used for punctuation) very
much confuse the target synthesizer.

The right place for such dictionaries is inside the TTS, after syntactic
analysis of the incomming text takes places, so long time after Speakup or
Speech Dispatcher. However, the application or the user can still specify some
translations and alternative pronounciation by using SSML. This is not documented
in Speech Dispatcher or SSIP docs. Please read SSML specs.

Currently only Festival supports these more advanced features, because it's
pretty much the only extensible Free Software TTS around right now. In theory,
it's possible to emulate such capabilites in the output modules of Speech
Dispatcher when the synthesizer is too stupid to do them itself, but in
practice, nobody has done it so far. I'm not convinced it's worth the trouble,
and the emulation (like the one in Speakup) will never overcome the problem
that it breaks syntactic analysis in the TTS.

As for Speakup, it already does the emulation, am I not right? The trouble
rather is that it's not possible to switch it off for the more advanced
synthesizers like Festival.

With regards,
Hynek Hanke
www.freebsoft.org







More information about the Speakup mailing list