[Kde-accessibility] Another speech engine for KTTS?
Gary Cramblitt
garycramblitt at comcast.net
Wed Feb 8 01:59:53 CET 2006
On Tuesday 07 February 2006 10:11, Jonathan Duddington wrote:
> Here is another speech synthesis engine which can be used with KTTS.
> http://home.clara.net/jsd/linux/linux_speak.zip (200 kbytes)
I downloaded the zip file and took a look. No source code and the license is
not stated. Also, never heard of portaudio.
>
> It sounds quite different from the other speech engines such as
> Festival. Although it's not as smooth or natural, it's perhaps clearer
> and more energetic. I prefer it, but that may just be because I'm used
> to it.
>
> Would it be worthwhile making it freely available for use as an
> alternative with KTTS?
>
> It speaks British English, although there are also superficial attempts
> at Esperanto and German in order to illustrate language switching.
>
> It seems to work quite well as a "Command" talker with KTTSMgr.
>
> I note that the KTTS handbook states:
> "Ideally, you should use a command that synthesizes to a temporary
> audio (wav) file, rather than send the speech directly to the audio
> device"
>
> ... but I didn't see details on how to do this. Or why it's
> preferable. How do KTTS and the speech engine both know where the wav
> file is located? Or does the speech engine play the wav file itself?
> Currently the speech is output using the portaudio library, which seems
> to work well here (using linux kernal 2.6.12).
It is preferable for three reasons. 1. Less audio device collision. kttsd
can output the wav file in 4 possible ways (aRts, ALSA, GStreamer, or aKode).
2. It improves throughput by allowing kttsd to play a wav file while the
synth works on the next utterance (sentence). 3. You can pause and stop the
speech in mid-utterance.
Based on the README and "speak --help" it does not appear that linux_speak
will create a wav file.
For the sake of argument, let's say someone adds that capability to
linux_speak. Lets suppose that it can be to told what the wav
filename is on the command line. Use the %w parameter in the command. kttsd
will generate a temporary filename and subsitute it for %w in the command.
Let's say that linux_speak can output to a specified wav file using a -w
option. The command might look like this:
cat %f | speak --stdin -w %w
I will email the author to see what his license terms are, whether source code
is available, and if output to wav can be added.
--
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