KTTS -- KDE Text-to-Speech -- is a subsystem within the KDE desktop for conversion of text to audible speech. KTTS is currently under development and aims to become the standard subsystem for all KDE applications to provide speech output. Currently, KTTS consists of the following components: KTTSD The KDE Text-to-Speech Deamon, a non-gui application that runs in the background, providing TTS support to KDE applications. Applications initiate TTS by making DCOP calls to kttsd. KTTSMGR An application for configuring the KTTS System and for managing in-progress speech jobs. kttsmgr provides an icon in the system tray for performing these functions as needed. kttsjobmgr A KPart for managing in-progress speech jobs. kcmkttsd A KControl module for configuring the KTTS System. kcmkttsd runs in the Trinity Control Center or start it with the command "tdecmshell kcmkttsd". tdetexteditor_kttsd A plugin for the KDE Advanced Text Editor that permits you to speak an entire text file or any portion of a file. khmtl-plugin A plugin for Konqueror that permits you to speak all or any portion of an HTML web page. (Note: this component is in tdebase/konqueror/kttsplugin) Original Author: José Pablo Ezequiel "Pupeno" Fernández Current Maintainer: Gary Cramblitt Contributors: Olaf Schmidt Gunnar Schmi Dt Paul Giannaros Jorge Luis Arzola David Powell User features: * Speak contents of a text file. * Speak KDE notification events (KNotify). * Speak all or part of the text of a web page in Konqueror. * Speak all or part of the text in Kate text editor, including instances where Kate is embedded in another KDE application. * Long text is parsed into sentences. User may backup by sentence or paragraph, replay, pause, and stop playing. * Filter plugins for converting chat emoticons to speakable words, fix mispronunciations, and convert xhtml to SSML. * Audio output via aRts, ALSA, GStreamer (version 0.8.7 or later), or aKode. Programmer features: * Priority system for screen reader outputs, warnings and messages, while still playing regular texts. * Plugin-based architecture for support of a wide variety of speech synthesis engines and drivers. * Permit generation of speech from the command line (or via shell scripts) using the KDE DCOP utilities. * Provide a lightweight and easily usable interface for applications to generate speech output. * Applications need not be concerned about contention over the speech device. * FUTURE: Provide support for speech markup languages, such as VoiceXML, Sable, Java Speech Markup Language (JSML), and Speech Markup Meta-language (SMML). * FUTURE: Provide limited support for embedded speech markers. * Asynchronous to prevent system blocking. Requirements ------------ KDE 3.2 or greater and a speech synthesis engine, such as Festival. Festival can be obtained from http://www.cstr.ed.ac.uk/projects/festival/. Festival is distributed with most Linux distros. Check your distro CDs. Also works with Hadifix, Epos, Festival Lite (flite), FreeTTS, or any command that can speak text. Optional Components ------------------- * The sox utility is needed for adjusting overall speech rate. * The xsltproc utility is needed for SSML support. * GStreamer 0.8.7 or greater. See the KTTS Handbook (http://accessibility.kde.org/developer/kttsd/handbook/index.html) for complete instructions on installing, compiling, configuring, and using KTTS. Audio Plugins ------------- KTTS can be built with the following audio plugins. The "Default Configure "Option" column shows the default option for the configure command. The "Alternate" column gives the opposite configure option: System Plugin Default Configure Option Alternate ------ ------------ ------------------------- ------------------------ aRts artsplayer --with-arts --without-arts ALSA alsaplayer --with-alsa=check --with-alsa=no GStreamer gstplayer --with-gstreamer=no --with-gstreamer=check aKode akodeplayer --with-akode=no --with-akode=check You *must* have at least one of these plugins for KTTS to work. The aKode and GStreamer players are not built by default because they have issues with instant stopping and starting. Packager Notes -------------- The following speech synthesizer plugins are all built by default. Some of them are runtime only dependent upon non-free software. (Non-free according to Debian Policy). The "Configure Option to not build" column shows the configure command to not build the plugin: Synth License Configure Option to not build ------------- -------- ----------------------------- Festival free --disable-kttsd-festivalint Festival Lite free --disable-kttsd-flite Epos free --disable-kttsd-epos Command free --disable-kttsd-command Hadifix non-free --disable-kttsd-hadifix FreeTTS non-free --disable-kttsd-freetts IMPORTANT NOTE TO BINARY PACKAGERS: Please do not distribute binary packages of tdeaccessibility with the gstreamer plugin, as this creates unwanted dependencies. Instead, distribute the gstreamer plugin in a separate package, e.g. kde-accessibility-extras. The separate package should require gstreamer >= 0.8.7. Thank you. Support ------- The KTTS website is http://accessibility.kde.org/developer/kttsd In addition to the KDE Bugzilla database (bugs.trinitydesktop.org), discussions for KTTSD currently take place in the kde-accessibility mailing list. Subscribe at https://mail.kde.org/mailman/listinfo/kde-accessibility. Developers also hang out in IRC (irc.kde.org channel #kde-accessibility). Directories ----------- libktts Library for applications desiring to speak text. This must be built first. libkttsd Library for KTTSD. Defines the interface for plugins for KTTSD. Must be built second. players Audio plugins for KTTSD. artsplayer aRts audio plugin for KTTSD. gstplayer GStreamer audio plugin for KTTSD. alsaplayer ALSA audio plugin for KTTSD. akodeplayer aKode audio plugin for KTTSD. plugins Plugins for KTTSD. You must have at least one plugin to use KTTSD. festivalint Plugin for Festival using Festival Interactive mode (festival --interactive). flite Plugin for Festival Lite. hadifix Plugin for Hadifix. freetts Plugin for FreeTTS. epos Plugin for Epos. command Generic command plugin. kttsd KTTSD itself. Non-interactive deamon. icons Icon for kttsmgr and KTTSD. kttsjobmgr A KPart used by kcmkttsmgr for managing text jobs in KTTSD. kcmkttsmgr A KControl module for managing KTTSD. Run using "tdecmshell kcmkttsd". kttsmgr Application for managing KTTSD. Wrapper for kcmkttsmgr plus a system tray icon. app-plugins Plugins for other applications to speak text. kate Embedded Kate plugin. compat Copy of tdelibs/interfaces/kspeech. Used when compiling for KDE less than 3.4. debian Debian packaging files. (possibly way out of date)