eSpeak extension

Gilles Casse gcasse at
Mon Dec 4 16:29:34 GMT 2006


The archive below includes three file: .asoundrc, libaudiostub and
espeak-extension. I supply these files as is, (draft stage) for
illustrating the use of an external audio lib (libaudiostub) and
asynchronous calls using eSpeak.

If you are interested in trying this code, the URL is:

* firstly install libasound2-dev, eSpeak and its lib_speak.h API.
* compile and install libaudiostub. 
* Then compile and run the test program in espeak-extension. 

More details follow.

It is easier for an application to rely on a TTS which already manages
audio output. Unfortunately, these features are sometimes not the ones
expected (for example, no Alsa compatibility, no stereo under OSS).

I am currently working on an eSpeak speech driver for Emacspeak, I do
not forget the forthcoming gnome speech driver since there was a
consensus about it at Ubuntu Accessibility. 

TV Raman (Emaspeak author) uses either ALSA or OSS for his IBM
Viavoice speech drivers. With the ALSA driver, a .asoundrc file must
be available in the user environment (under $HOME). This speech driver
is appreciated.

I have tried to factorize/group the OSS or ALSA commands from the
Emacspeak Viavoice drivers in a single library (named libaudiostub). 
If you are aware of an already existing lib compliant with Alsa/OSS,
thank you to let me know.

My actual eSpeak driver relies on this static library. Just a note:
for an unknown reason :-), libaudiostub works as a static lib and
fails as a shared library (impossible to set hardware parameters for

The eSpeak speech driver needs asynchronous calls: an upper layer is
added above lib_speak.h for adding these features. There are implemented
in the file named libtclespeak/espeak.cpp .

I supply to this upper layer the ssml fragments using the say
method. I expect that if two consecutive say methods are called, the
two consecutive ssml fragments will be said.



More information about the Ubuntu-accessibility mailing list