Re: [orca-list] Patch: Experimental eSpeak support using python-espeak



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

hi
I'd say one advantage to using espeak directly is that it would allow
orca to work well on systems that don't utilize pulseaudio.
Speech-dispatcher's alsa code is quite buggy and prone to crashing,
whine espeak works just fine on an alsa only system. Other than that
there really isn't much of a difference. Kyle says he has lots of
problems with speech-dispatcher on his rasberry pie, and this might
work better for him there so this is an option on systems for whatever
reason speech-dispatcher doesn't work well. It might also get us
proper varient support sooner than speech-dispatcher.
Thanks
Kendell clark


Peter Vágner wrote:
Hello, Well unfortunatelly nothing I have done applies to orca vs 
speech-dispatcher communication. So if I have mentioned possible
fixes in this conversation these are just fixes to this
experimental direct eSpeak backend. These are things I haven't
understood correctly on my first try or I have implemented
incorectly. If you are asking about comparison to the
speech-dispatcher backend and if you are curious what motivated me
to try doing this then I would say I don't consider this release
quality at least not yet. It creates some performance issues when
comparing to the speech-dispatcher backend. There are issues with
interupts not being responsive enough to be usefull. Originally I
assumed we should be able to at least slightly boost responsiveness
of the whole chain orca vs speech-dispatcher vs eSpeak by taking
speech-dispatcher out of the chain for good. However initial 
testing shows this is either not the case or it needs additional
work. I need to test it more and try to come up with more
improvements to find out whether this will be at least comparable
to speech-dispatcher backend. Of course when we are considering
adding eSpeak specific features such as variants support, rate
boost and perhaps there is something else too we can either do it
by first contributing this to speech-dispatcher and then adapting
orca to new speech-dispatcher API. I don't feel brave enough to
implement something usefull for speech-dispatcher so I'm 
experimenting this way. eSpeak specific featues may or may not
come later from me depending on the fact if I can make this
performant enough.


Greetings

Peter

On 24.08.2015 at 15:15 Joanmarie Diggs wrote:
Hi Peter.

Can you please explain the reasons why these sorts of features
and fixes cannot be added to speech-dispatcher?

--joanie

On 08/23/2015 06:25 PM, Peter Vágner wrote:
Hello, Today I was playing with orca a bit more than usual. The
result is that I have implemented an alternative speech server
subclass. I have taken speechdispatcherfactory module and I
have replaced python-speechd API with python-espeak one accross
the whole module. So by doing this I think I have created
experimental direct eSpeak support for orca. It requires
python-espeak to be installed. I tryed to do this because a
while ago we were discussing this approach here on the list.
You guys were hoping for additional responsiveness increase and
easier way on how to add eSpeak specific features like variants
support into orca. Also I have come up with another little 
advantage as I have been thinking about this more. By default
eSpeak is built with both pulseaudio and portaudio sound
outputs. It first tryes to use pulseaudio and if that is not
available it plays its audio through portaudio thus using alsa
directly. It can't switch between this dynamically at runtime
but it at least works out what to use at initialization what
translates to when launching the application when using
python-espeak. There are no eSpeak specific features yet.
Things which are working include speaking, changing voices,
changing pitch, rate and volume. Say all support with proper
progress tracking is also working. I am not sure I like this
better than using eSpeak through speech-dispatcher like we are
doing for years. I am using this experiment for just a few
hours now. I am attaching a patch for those of you who are not
afraid of risking a bit. Please make sure you know how to
revert this and troubleshoot your system when it fails to
speak. This is my first attempt at trying to implement
something into orca so it is very likelly it may have loads of
issues I even can't think of at the moment. So how to apply it
if you really want to test it out. - Install python-espeak. If
you are on arch linux, get it from the AUR. I guess on Debian
or Ubuntu you can just do apt-get install python-espeak. With
other distributions I don't know whether there are prebuilt
packages. Python-espeak is hosted on launchpad and if there
are no packages for your distro then you can get it from there
and install using python setup tools. To check whether the
patch applies cleanly into your cloned orca git tree you can
run git apply --check espeakfactory.patch If there are no
conflicts found you can then apply it by doing git apply
espeakfactory.patch After doing this you can just build and
install orca like normal.

Greetings

Peter



_______________________________________________ orca-list
mailing list orca-list gnome org 
https://mail.gnome.org/mailman/listinfo/orca-list Visit
http://live.gnome.org/Orca for more information on Orca. The
manual is at 
http://library.gnome.org/users/gnome-access-guide/nightly/ats-2.html


The FAQ is at http://live.gnome.org/Orca/FrequentlyAskedQuestions
Log bugs and feature requests at http://bugzilla.gnome.org Find
out how to help at http://live.gnome.org/Orca/HowCanIHelp


_______________________________________________ orca-list mailing
list orca-list gnome org 
https://mail.gnome.org/mailman/listinfo/orca-list Visit
http://live.gnome.org/Orca for more information on Orca. The manual
is at 
http://library.gnome.org/users/gnome-access-guide/nightly/ats-2.html


The FAQ is at http://live.gnome.org/Orca/FrequentlyAskedQuestions
Log bugs and feature requests at http://bugzilla.gnome.org Find out
how to help at http://live.gnome.org/Orca/HowCanIHelp
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBCgAGBQJV25m/AAoJEGYgJ5/kqBTd2lgP/jKvf287XmTjjsh2fBNXpX4Q
ParWKNMmuLabOTaL8VOduT3aOqbxp3D8nS7ctYx5wwiL+WSDiEK1TCHcwfQ6mfC7
0ded7uxTfpZTyMJKNTG9GIR4BpcuqKVjtpHotINmG8lKBrOpt/h3D0CB/+pr7BtV
W38FDuAC8PmzstDjO2oI1CHrW1bCr5i5kLmtAY0+Vdz7JIgLsXADhSoaoAssLa53
gODjs7awvEwb46iFbyR4Gv68ZgZAtQ30ZuWXDEyylhXzHKyQBuJ4Iy7jqyN5+17q
SS0UymYg8cdxiai9ebWspXkCPKDteLrQbPkY0yKhhn05YKVQupRgp0CUHDDO96Tn
4lBBcBeovM9E2g/lwwffT2PQgZTf8cZLKfQs7ExTCQaOjaAWKCr6Lbcux6M6U6ZL
hHSp8a/eACNudB2oJxOrWMHUKDCy/c0mZ29GfW//D2NFGiTfrkC9MNiK4ZyT+H/M
UhbHI/VAfmZm0O10HOBHqK4lVwqHcowEycyPyYgo+6lrIhdPuZtlvzQ/M0VdWfXA
iIdYw5iapJjcZueFS0VatoDhhKcS2xhzZ5Q69MejOG1YMNttxPa2k6TNvRCnwDFa
WS3yykJzvQUxed48NQsPKbcHKECUHuKuHSpi8JcvNUZCYhIfaFrk3YmG09rxcLrP
2mBsPhc+8pRQCnUXFnex
=kpHT
-----END PGP SIGNATURE-----


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