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
>>
>>