Re: [orca-list] PulseAudio (was Re: orca speech uncontrolled and jumbled with speech-dispatcher)
- From: Luke Yelavich <themuso ubuntu com>
- To: orca-list gnome org
- Subject: Re: [orca-list] PulseAudio (was Re: orca speech uncontrolled and jumbled with speech-dispatcher)
- Date: Tue, 3 Nov 2009 09:36:05 +1100
On Sun, Nov 01, 2009 at 10:51:51AM EST, Jason White wrote:
Recent versions of PulseAudio are reputed to give better latency. It should
also be noted that, according to the PulseAudio developers, it has exposed
bugs in some sound drivers that have needed to be fixed.
Thus, a recent version of PulseAudio with a recent Linux kernel should work
better, but this does not imply that all of the issues have been resolved with
all sound cards.
Also bare in mind that the speech-dispatcher code to work with pulseaudio is by no means optimized. Since
speech-dispatcher's pulseaudio output code was added, pulseaudio's buffering metrics have changed quite a lot
from a more static buffering setup, to a dynamic buffering setup, where pulseaudio is constantly monitoring
performance with the audio hardware, and changes audio buffers accordingly.
Speech-dispatcher's pulseaudio output, and indeed synthesizer drivers still use a static buffering system,
where buffering is set to an arbitrary number, according to previous testing etc. The pulseaudio output code
at the moment requests that pulseaudio set the best possible settings for speech-dispatcher's pulseaudio
output buffering, however this is still not optimal, due to several speech synthesizer drivers having static
buffering settings, causing speech to break up when used with pulseaudio output. The speech-dispatcher
pulseaudio output code also does not request an update on buffering metrics from pulseaudio during its
operation
The one speech synthesizer that works with speech-dispatcher, and that does not break up when being used via
pulseaudio, is flite. Flite doesn't have anything in its API that requires an audio buffer to be set, however
as we all know, flite is not the most pleasant to listen to, and is not the most responsive of speech
synthesizers.
During the GNOME 2.29/30 cycle, and during the next Ubuntu cycle, my main accessibility focus will be to
optimize the speech-dispatcher pulseaudio code, and adjust the driver and audio output buffering metrics to
be dynamically updated, according to what pulseaudio uses. If alsa is used, things will stay as a static
buffering system, as that seems to work now without issue.
As for speech-dispatcher and orca in Ubuntu karmic, if one was to use the screen reader accessibility profile
to install Ubuntu, pulseaudio will be disabled system wide, allowing speech-dispatcher to work via alsa. As
for the espeak crashing issue, the actual problem has not yet been found, but I do have a work-around in
mind, which I hope to code in the next week. The work-around in question will cause the sd_espeak driver to
be restarted should it crash.
Hope this helps clear things up a bit.
Luke
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]