I really like the Espeak+mbrola thing, but I think Linux users are kind of penalised because of the way mbrola is used.
To use a mbrola voice with eSpeak a linux user has to pipe it to mbrola itself, while a Windows user can find the voice from the Speech synthesis voice in control panel.
I know that there is no mbrola.so file and thus it is necessary to use the mbrola binary, but what about an option (--mbrola?) which tells eSpeak to look for the mbrola binary in $PATH?
Or just a config file in which eSpeak can look when it has to use a mbrola voice?
Simone R.
This is a feature request rather than a bug.
The problem is not the location of the mbrola binary or mbrola data. The problem is that on Linux mbrola does not provide a library-function interface for eSpeak to use.
In order to call mbrola from within eSpeak, eSpeak will need to create a pipe to and from the mbrola binary in order to send phoneme data and receive audio data. I tried to do this, but it got complicated. A better solution would be for mbrola to provide a library-function interface as it does on Windows.
To reduce the amount of typing, you could make a short shell-script to call eSpeak with mbrola.
This is fixed in current version. On Linux,
espeak -v mb-en1 "Hello world"
should speak without the need for pipes. The mbrola voice file should be in
espeak-data/mbrola/en
/usr/share/mbrola/en
/usr/share/mbrola/en/en
(This last path was added in eSpeak version 1.45).