[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: eSpeak



Lukas Loehrer writes:
 > 
 > > 1. An Emacspeak speech server: probably the fastest to
 > >   implement and a pure Emacspeak solution. 
 > 
 > You could try to modify eflite in such a way that it uses espeak
 > instead of flite for speech generation. You could still use flite for
 > audio playback via alsa. eflite alsready deals with parsing and
 > queuing the commands coming from emacspeak and also with queuing
 > speech for playback once it is synthesized. Modifying eflite is
 > probably the easiest solution if espeak only offers a C interface.
 > 

Creating a tcl interface to a C API based TTS is actually very easy.
While perl, python and other scripting languages have gained more
ground than Tcl in recent years, I have to say that extending Tcl with
C subroutines is a *lot* easier than with other scripting languages
like Perl. In fact, some time back, I thought it would be worth
looking into using perl rather than Tcl for the interface layer. This
wasn't because I don't like Tcl. In fact, it was my first scripting
language after doing shell scripts. My rationale was based ont he
concern that Tcl seemed to be losing support compared to other
scripting languages. 

At any rate, creating new Tcl commands which use C subroutines is very
easy and you can probably get the idea by just looking at the existing
servers. Avoid the ones which interface with C++ as this probably adds
an additional level of complexity which isn't necessary (unless espeak
is written in C++ of course!). 

The advantage of doing this with Tcl rather than perl or some other
solution is that the resulting server will be more robust, able to
implement emacspeak features in a consistent and standard way, take
advantage of the tcl libraries Raman has put together and is more
likely to be adopted and included in the main emacspeak distribution.
If you also define a server specific voices.el file, it will also be
possible to avoid the cleaning/translating of dectalk commands by the
interface script. Again, this is very easy to do and creates a better
more robust interface. 

HTH

Tim

-- 
Tim Cross
tcross@rapttech.com.au

There are two types of people in IT - those who do not manage what they 
understand and those who do not understand what they manage.

-----------------------------------------------------------------------------
To unsubscribe from the emacspeak list or change your address on the
emacspeak list send mail to "emacspeak-request@cs.vassar.edu" with a
subject of "unsubscribe" or "help"


Emacspeak Files | Subscribe | Unsubscribe | Search