summaryrefslogtreecommitdiffstats
path: root/kttsd/README
blob: 771a7c4e1639542a450ce19fe95247c308a3b53d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
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
KDE Control Center or start it with the command "kcmshell kcmkttsd".

ktexteditor_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 <pupeno@kde.org>
Current Maintainer: Gary Cramblitt <garycramblitt@comcast.net>
Contributors:
  Olaf Schmidt <ojschmidt@kde.org>
  Gunnar Schmi Dt <gunnar@schmi-dt.de>
  Paul Giannaros <ceruleanblaze@gmail.com>
  Jorge Luis Arzola <arzolacub@hotmail.com>
  David Powell <achiestdragon@gmail.com>

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.kde.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 "kcmshell 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)