External dependency proposal: OpenTTS (http://www.opentts.org)



Greetings all,
I am writing to propose a new external dependency for GNOME. This external dependency will replace the deprecated gnome-speech module as a desktop agnostic text to speech framework. OpenTTS is a fork of the speech-dispatcher project, which is an open source text to speech framework. You can see the original speech-dispatcher website at http://www.freebsoft.org/speechd. The reasons why a fork of speech-dispatcher was made can be found on the OpenTTS website,  http://www.opentts.org/Frequently-Asked-Questions.

While the OpenTTS project does not currently have any commercial backing, the current community contributors and project maintainers are an enthusiastic bunch of individuals who wish to see a standard text-to-speech API and framework for the *nix ecosystem. Use by assistive technologies is our main drive for a standard, but we also feel that text-to-speech has many other uses for many different people, not only those with a disability.

We are in talks with Brailcom, the original non-proffit organisation behind the freebsoft and speech-dispatcher projects, about returning our development focus back to speech-dispatcher. However with questions still up in the air about a development model that will allow rapid development and regular releases, the OpenTTS project maintainers do not feel that concensus will be reached any time soon. Brailcom cannot promise that they will be able to commit much in the way of developer resources to speech-dispatcher, and still wish for community contributors to make patches available, and Brailcom developers occasionally reviewing these patches, committing them, and occasionally making releases of the project. This will hoefully change in the future, however for now, the OpenTTS project maintainers feel that a fork is still the best way forward. We will always be hopeful that OpenTTS development can be merged back into speech-dispatcher proper.

OpenTTS is yet to see an official tarball release, however you can check out the code in its current form from git://git.opentts.org/opentts.git. It is currently undergoing heavy development and cleanup, and may not work properly, however you can test speech-dispatcher to get an idea of what OpenTTS is and how it works. OpenTTS will likely follow a similar development model to GNOME, in that we will have a stable release series, and develope new functionality in parallel until the new code is considered mature, thereby becoming the new stable release. We intend to make our first release within the month, once the code has been cleaned up, and everything appropriately renamed and sorted.

The focus for the OpenTTS project over the next few months is to achieve the same or better experience than what has been offered by gnome-speech. While not yet documented on the website, the project maintainers also have many ideas and plans for further improvements to OpenTTS, including dbus support, and allowing client applications to request the audio be sent back to them, as opposed to the audio being played via the sound card. 

The only GNOME module currently affected by this change is orca, however with new on-screen keyboards and other assistive technologies being developed for GNOME, they are likely to start using OpenTTS for any tex-to-speech needs they may have. It would also be nice to see OpenTTS used for general text-to-speech uses accross the GNOME desktop, i.e for general uses like announcing date/time/appointments, reading instant messages, etc.

OpenTTS depends on a handfull of other packages, most of which are completely optional at build time.
 * glib
 * dot.conf: http://www.opentts.org/projects/dotconf (This package recently had a maintainer change, and is currently hosted on opentts.org. Git code can be found at git://git.opentts.org/dotconf.git.
 * python (optional for python bindings)
 * alsa-lib (optional)
 * pulseaudio (optional)
 * Network Audio System (NAS) (optional)
 * OSS audio output is also supported.
 * espeak (optional)
 * flite (optional)
 * festival (optional)
 * Ivona (optional)
 * There are language bindings available for c/c++, python, common  lisp, and guile.

I appreciate that new external dependencies take time to review, regardless of the number of GNOME modules affected. Please feel free to ask any questions, and I will do my best to answer them, and answer them as soon as possible. I already have a good relationship with other GNOME accessibility developers, and I hope this eventually extends to other parts of the GNOME desktop. I feel that proposing OpenTTS as the next text-to-speech framework for use by GNOME, and eventually other desktops/applications is a good step towards extending this relationship.

Thank you all for your time and consideration

Kind regards
Luke Yelavich
OpenTTS project founder.


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