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



Hello,
Thanks Chrys for the feetback.
Oh I should have reported I am working on this in the IRC channel so I would not waste your time.

In the mean time I have pushed all this into my github account at https://github.com/pvagner/orca fixing a few little things along the way:
- Proper range is now used when setting eSpeak volume.
- Voices with additional dialect such en-us pt-br can now be set correctly.

I am also seeing a bit of lag when pressing keys. It's mostly noticeable when typing too fast or selecting the text. I haven't yet figured out what might be causing this. Perhaps I need to find a way on how to decrease eSpeak sound buffer somehow. Or I need to move speaking into seperate thread. If you have more ideas related to this, I'm listening.

Thanks and greetings

Peter

On 24.08.2015 at 07:35 chrys87 web de wrote:
Howdy Peter,

Haha i also did starting a work on this yesterday because storm_dragon told me that he is need this.  your 
stuff works just fine! (i just did a quick test)
So i stop my work on this and  do other things :).

Cheers chrys

Am Mo. Aug. 24 00:25:18 2015 GMT+0200 schrieb Peter Vágner:
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





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