rfc: speakup's character and punctuation processing

Jason White jason at jasonjgw.net
Mon Apr 26 03:30:00 EDT 2010


Gregory Nowak <greg at romuald.net.eu.org> writes:

> Yes, but when I made the suggestion, I had ease of use in mind. As
> heart pointed out, not everyone is going to know how to use the
> pronunciation dictionary in their synth, unless they read, and
> understand the synth manual. Whereas if this is done with speakup,
> then setting up a pronunciation dictionary would be the same, no
> matter the synth being used. You do have a good point though, relying
> on the synth's own pronunciation dictionary would make things less tricky, as far as
> speakup development goes.

I agree. However, neither do I understand what the problem is that needs to
be solved.

As explained earlier in the thread, there are currently two means of
handling punctuation:

1. SpeakUp processes it, converting it to text which is sent to the
synthesizer.

2. Alternatively, it is passed to the synthesizer for handling according
to its internal rules and configuration.

I haven't investigated how the punctuation settings currently work, but
the proper solution, it seems to me, if both of the above techniques
were to remain implemented, would be as follows.

1. If SpeakUp is processing punctuation internally, then adjusting the
punctuation settings should change its internal parameters, i.e., vary
its own processing rules.

2. If punctuation is being handled by the synthesizer, then changing the
settings should issue the necessary synthesizer command or API call to
change the synthesizer's internal configuration.

3. Upon start-up, SpeakUp would set the synthesizer's internal
parameters to a known default state (i.e., no punctuation if SpeakUp
itself is handling it internally, or the  configured punctuation level otherwise).

The only ground for confusion that I see here is the case in which the
user selects internal SpeakUp punctuation processing, and also writes
commands directly to the synthesizer after SpeakUp is initialized, which
alter the latter's configuration. However, presumably people who engage
in that sort of manipulation should be assumed to know what they are
doing, or at least to be willing to find out.

Thus I don't think there need be a problem here. That said, I am not
much of a SpeakUp user so I haven't checked out how far my "in
principle" description corresponds to what is actually implemented.

Note further that implementing internal punctuation processing as a
pronunciation dictionary within SpeakUp is a special case of internal
processing as described above.

I am not expressing an opinion as to whether internal processing should
remain an option; if it does, the pronunciation dictionary solution
would seem to me to be the best, as it would allow the details to be
configured according to the synthesizer being used and the user's
requirements.




More information about the Speakup mailing list