Re: [orca-list] Orca, gnome-speech and pulseaudio
- From: Jacob Schmude <j schmude gmail com>
- To: orca-list gnome org
- Subject: Re: [orca-list] Orca, gnome-speech and pulseaudio
- Date: Thu, 26 Feb 2009 14:49:56 -0500
Hi Lorenzo
The gnome-speech system uses the synthesizer itself to do the output,
and it uses libespeak rather than the espeak command. You'd also take
quite a performance hit even if you could force it to create a wave
file but, as gnome-speech simply forces libespeak to speak the text,
you would have to modify the espeak driver for this to even be possible.
The AUDIO lines in the espeak makefile control what libraries get
linked into espeak, and what header files get included (via compile-
time -D options). Currently, you need to pick one or the other, they
can't be compiled together at least not that I'm aware. The compiler
will complain about duplicate definitions though, with some
modification to espeak itself, it would almost certainly be possible
to allow this. However, you'd have to implement a mechanism for
choosing the correct audio backend at run-time and a configuration
file and option in order for the library to know what audio system
it's supposed to use, as well as changing the audio functions to allow
them to coexist without trying to override each other.
Imho the absolute best thing to happen would be for portaudio to
include a pulse backend, but that's probably not likely to happen
right now.
On Feb 26, 2009, at 14:41, Lorenzo Taylor wrote:
Since the eSpeak makefile contains lines for both portaudio and
pulseaudio, is there not a way to compile for both in order to have
a fallback mechanism? What would happen if I uncommented the
pulseaudio line without commenting out the portaudio line. Are they
mutually exclusive?
Also, I thought of writing a wrapper script around eSpeak itself
that would pass the command tail to eSpeak with the option to output
to a wav file in /dev/shm and play it using paplay if pulseaudio is
running. If not, the command tail would simply be passed to eSpeak
unmodified. Could this work with gnome-speech or am I just spinning
my wheels? Is libgnome-speech using the eSpeak command or is it
using libespeek? Would there be a way to modify the wrapper script
for espeak-synthesis-driver to perform this function? And would I
take an extreme latency hit by doing this, even though I am
considering using /dev/shm because it resides in RAM rather than
using /temp or similar?
Meanwhile, I plan to file a bug against speech-dispatcher so
hopefully I can get its sudden death problem resolved. I definitely
would prefer using it, especially for its ability to use eSpeak's
capital letter click rather than a change in pitch or volume, and
Orca doesn't support this feature natively. Where is the best place
to file this bug? I seem to have lost the sd web address and can't
remember if there is a bug report system in place there. The bug, at
least sometimes, appears to be in the espeak module itself, since
sometimes the dummy module starts speaking in its place. However,
this isn't always the case.
Thanks for your help,
Lorenzo
--
Great Goddess Isis,
Thou who art above the stars,
Grant us peace and love.
--Lorenzo Taylor
The major difference between a thing that might go wrong and a
thing that cannot possibly go wrong is that when a thing that cannot
possibly go wrong goes wrong it usually turns out to be impossible to
get at or repair.
--Douglas Adams
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]