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
Attachment:
espeakfactory.patch
Description: Text Data