SVN_SILENT made messages (.desktop file)
[kdeaccessibility.git] / kttsd / README
blobf3a06c5c330d212cd39b8fdcdbfb116bfbf19f9f
1 KTTS -- KDE Text-to-Speech -- is a subsystem within the KDE desktop
2 for conversion of text to audible speech. KTTS is currently under
3 development and aims to become the standard subsystem for all KDE
4 applications to provide speech output. Currently, KTTS consists of
5 the following components:
7 KTTSD
8   The KDE Text-to-Speech Deamon, a non-gui application that runs in
9 the background, providing TTS support to KDE applications. Applications
10 initiate TTS by making DCOP calls to kttsd.
12 KTTSMGR
13   An application for configuring the KTTS System and for managing in-progress
14 speech jobs. kttsmgr provides an icon in the system tray for performing
15 these functions as needed.
17 kttsjobmgr
18   A KPart for managing in-progress speech jobs.
20 kcmkttsd
21   A KControl module for configuring the KTTS System. kcmkttsd runs in the
22 KDE Control Center or start it with the command "kcmshell kcmkttsd".
24 ktexteditor_kttsd
25   A plugin for the KDE Advanced Text Editor that permits you to speak an entire
26 text file or any portion of a file.
28 khmtl-plugin
29   A plugin for Konqueror that permits you to speak all or any portion of an
30 HTML web page.  (Note: this component is in kdebase/konqueror/kttsplugin)
32 Original Author: José Pablo Ezequiel "Pupeno" Fernández <pupeno@kde.org>
33 Current Maintainer: Gary Cramblitt <garycramblitt@comcast.net>
34 Contributors:
35   Olaf Schmidt <ojschmidt@kde.org>
36   Gunnar Schmi Dt <gunnar@schmi-dt.de>
37   Paul Giannaros <ceruleanblaze@gmail.com>
38   Jorge Luis Arzola <arzolacub@hotmail.com>
39   David Powell <achiestdragon@gmail.com>
41 User features:
42   * Speak contents of a text file.
43   * Speak KDE notification events (KNotify).
44   * Speak all or part of the text of a web page in Konqueror.
45   * Speak all or part of the text in Kate text editor, including
46     instances where Kate is embedded in another KDE application.
47   * Long text is parsed into sentences. User may backup by sentence
48     or paragraph, replay, pause, and stop playing.
49   * Filter plugins for converting chat emoticons to speakable words,
50     fix mispronunciations, and convert xhtml to SSML.
51   * Audio output via aRts, ALSA, GStreamer (version 0.8.7 or later),
52     or aKode.
54 Programmer features:
55   * Priority system for screen reader outputs, warnings and messages,
56     while still playing regular texts.
57   * Plugin-based architecture for support of a wide variety of speech
58     synthesis engines and drivers.
59   * Permit generation of speech from the command line (or via shell scripts)
60     using the KDE DCOP utilities.
61   * Provide a lightweight and easily usable interface for applications
62     to generate speech output.
63   * Applications need not be concerned about contention over the speech device.
64   * FUTURE: Provide support for speech markup languages, such as VoiceXML, Sable,
65     Java Speech Markup Language (JSML), and Speech Markup Meta-language (SMML).
66   * FUTURE: Provide limited support for embedded speech markers.
67   * Asynchronous to prevent system blocking.
69 Requirements
70 ------------
71 KDE 3.2 or greater and a speech synthesis engine, such as Festival.  Festival
72 can be obtained from http://www.cstr.ed.ac.uk/projects/festival/.  Festival
73 is distributed with most Linux distros.  Check your distro CDs.  Also works
74 with Hadifix, Epos, Festival Lite (flite), FreeTTS, or any command that can
75 speak text.
77 Optional Components
78 -------------------
79   * The sox utility is needed for adjusting overall speech rate.
80   * The xsltproc utility is needed for SSML support.
81   * GStreamer 0.8.7 or greater.
83 See the KTTS Handbook
85   (http://accessibility.kde.org/developer/kttsd/handbook/index.html)
87 for complete instructions on installing, compiling, configuring, and using
88 KTTS.
90 Audio Plugins
91 -------------
92 KTTS can be built with the following audio plugins.  The "Default Configure
93 "Option" column shows the default option for the configure command.
94 The "Alternate" column gives the opposite configure option:
96   System     Plugin        Default Configure Option  Alternate
97   ------     ------------  ------------------------- ------------------------
98   aRts       artsplayer    --with-arts               --without-arts
99   ALSA       alsaplayer    --with-alsa=check         --with-alsa=no
100   GStreamer  gstplayer     --with-gstreamer=no       --with-gstreamer=check
101   aKode      akodeplayer   --with-akode=no           --with-akode=check
103 You *must* have at least one of these plugins for KTTS to work.
105 The aKode and GStreamer players are not built by default because they have issues
106 with instant stopping and starting.
108 Packager Notes
109 --------------
110 The following speech synthesizer plugins are all built by default.
111 Some of them are runtime only dependent upon non-free software.
112 (Non-free according to Debian Policy). The "Configure Option to
113 not build" column shows the configure command to not build the plugin:
115   Synth          License   Configure Option to not build
116   -------------  --------  -----------------------------
117   Festival       free      --disable-kttsd-festivalint
118   Festival Lite  free      --disable-kttsd-flite
119   Epos           free      --disable-kttsd-epos
120   Command        free      --disable-kttsd-command
121   Hadifix        non-free  --disable-kttsd-hadifix
122   FreeTTS        non-free  --disable-kttsd-freetts
124 IMPORTANT NOTE TO BINARY PACKAGERS:
125 Please do not distribute binary packages of kdeaccessibility with the
126 gstreamer plugin, as this creates unwanted dependencies.  Instead,
127 distribute the gstreamer plugin in a separate package, e.g.
128 kde-accessibility-extras.  The separate package should require
129 gstreamer >= 0.8.7.  Thank you.
131 Support
132 -------
133 The KTTS website is
135   http://accessibility.kde.org/developer/kttsd
137 In addition to the KDE Bugzilla database (bugs.kde.org), discussions for KTTSD
138 currently take place in the kde-accessibility mailing list.  Subscribe at
139 https://mail.kde.org/mailman/listinfo/kde-accessibility.  Developers
140 also hang out in IRC (irc.kde.org channel #kde-accessibility).
142 Directories
143 -----------
144 libktts            Library for applications desiring to speak text.  This must be built first.
145 libkttsd           Library for KTTSD.  Defines the interface for plugins for KTTSD.  Must be built second.
146 players            Audio plugins for KTTSD.
147   artsplayer         aRts audio plugin for KTTSD.
148   gstplayer          GStreamer audio plugin for KTTSD.
149   alsaplayer         ALSA audio plugin for KTTSD.
150   akodeplayer        aKode audio plugin for KTTSD.
151 plugins            Plugins for KTTSD.  You must have at least one plugin to use KTTSD.
152   festivalint        Plugin for Festival using Festival Interactive mode (festival --interactive).
153   flite              Plugin for Festival Lite.
154   hadifix            Plugin for Hadifix.
155   freetts            Plugin for FreeTTS.
156   epos               Plugin for Epos.
157   command            Generic command plugin.
158 kttsd              KTTSD itself.  Non-interactive deamon.
159 icons              Icon for kttsmgr and KTTSD.
160 kttsjobmgr         A KPart used by kcmkttsmgr for managing text jobs in KTTSD.
161 kcmkttsmgr         A KControl module for managing KTTSD.  Run using "kcmshell kcmkttsd".
162 kttsmgr            Application for managing KTTSD.  Wrapper for kcmkttsmgr plus a system tray icon.
163 app-plugins        Plugins for other applications to speak text.
164   kate               Embedded Kate plugin.
165 compat             Copy of kdelibs/interfaces/kspeech.  Used when compiling for KDE less than 3.4.
166 debian             Debian packaging files. (possibly way out of date)