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 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292
|
The requirements:
=================
You will need these components to compile Speech Dispatcher:
- glib 2.0 (http://www.gtk.org)
- libdotconf 1.3 (http://github.com/williamh/dotconf)
- libsndfile 1.0.2 (http://www.mega-nerd.com/libsndfile/)
- pthreads
- gcc and GNU make (http://www.gnu.org)
- festival-freebsoft-utils 0.3+ (optional)
(http://www.freebsoft.org/festival-freebsoft-utils)
- Python 3, PyXDG (optional)
(http://www.python.org)
Only if you are building from Git, you also need these:
- automake 1.11+, autoconf, autopoint, pkg-config, libtool, makeinfo, texinfo
and gettext
We recommend to also install these packages:
- PulseAudio (http://www.pulseaudio.org)
- Festival (http://www.cstr.ed.ac.uk/projects/festival/)
- Espeak (http://espeak.sourceforge.net/)
- Gettext 0.19.8+ (https://www.gnu.org/software/gettext/) for internationalization support.
These packages are known to work with Speech Dispatcher:
Software synthesizers:
- Festival (http://www.cstr.ed.ac.uk/projects/festival/) -- an extensible
speech synthesis engine with support for various languages (English,
Spanish, Italian, Finnish, Czech, Russian, Hindi, some African languages
and others)
- Espeak (http://espeak.sourceforge.net/) -- a light and fast multi-lingual
synthesizer with very good support for various Speech Dispatcher
features.
- Flite, Cicero, IBM TTS, Dectalk Software, Ivona, SVOX Pico
User applications:
- Orca (http://www.gnome.org/projects/orca/) -- AT-SPI screen reader (Gnome)
- speechd-el (http://www.freebsoft.org/) -- Emacs speech interface
- Linux Screen Reader (LSR (http://live.gnome.org/LSR)
- BrlTTY (http://mielke.cc/brltty/)
- ...
Building Speech Dispatcher:
===========================
(for instructions about how to build from Git or Git snapshot see below)
If you want to use Speech Dispatcher with Festival (recommended), you
also need to install festival-freebsoft-utils version 0.3 or higher!
If you want to use Speech Dispatcher with Ivona, you need to install
libdumbtts
To compile the whole project, including Speech Dispatcher server, all modules
and clients, simply extract the distribution archive and change to
speech-dispatcher-<version> directory and run "make all" command as follows:
$ tar -xzvf speech-dispatcher-[version].tar.gz
$ cd speech-dispatcher-[version]
Notes about Pulse, LIBAO, ALSA, OSS and NAS support
============================================
Speech Dispatcher's default audio output system is the first discovered
during configuration started with the Pulse Audio and followed by libao, ALSA,
OSS and NAS. It is possible to explicitly setup default audio output system
while building Speech Dispatcher, see configuration options.
This value can be redefined during run time in the speechd.conf.
If multiple audio output systems separated by comma are defined as default
audio output system e.g. "pulse,alsa" an automatic fallback will be done.
Notes about Espeak support
==========================
You need to install Espeak libraries to be able to use the native
output module. Some distributions like debian provide
those libraries in a different package (libespeak1 and libespeak-dev).
Notes about Flite support
=========================
You don't need to do anything special to compile Speech Dispatcher
with Flite support, Flite will be detected automatically when running
./configure. However, make sure that you have correctly installed
flite libraries and examine the output of ./configure carefully.
You should have configured flite with
./configure --enable-shared
to be able to use the flite plug-in. If you aren't sure if you have done this,
check for example for libflite_cmu_us_kal.so in your library directory.
(It's also possible to use Speech Dispatcher with Flite static libraries,
but it is generally not a good way unless you know what you are doing.)
Notes about IBM TTS support
===========================
In order to build the propriatary (non-free software) ibmtts output
module, you will need one of two things:
1. An install of the proprietary commercial IBM TTS synthesizer (for Linux),
or
2. The sdk for IBM TTS, which contains the headers and a "stub library" for
linking against. This SDK is Free Software and freely available, however
it doesn't contain the synthesizer. It will enable you to build the
module, but this module will give you no sound until you install the
synthesizer itself.
The sdk can be obtained here:
http://ibmtts-sdk.sourceforge.net/
It isn't obvious on that website, but you download the sdk using cvs:
cvs -d:pserver:anonymous@ibmtts-sdk.cvs.sourceforge.net:/cvsroot/ibmtts-sdk login
cvs -d:pserver:anonymous@ibmtts-sdk.cvs.sourceforge.net:/cvsroot/ibmtts-sdk co sdk
The sdk is licensed using a BSD-style license.
You will also need libsndfile in order to enable sound icon emulation with the
ibmtts output module. (As of Apr 2006, the Debian packages you need are
libsndfile1 and libsndfile1-dev.)
Notes about SVOX Pico support
=============================
SVOX Pico software can be obtained from
http://git.debian.org/?p=collab-maint/svox.git
SVOX Pico documentation can be found under
http://android.git.kernel.org/?p=platform/external/svox.git;a=tree;f=pico_resources/docs
It includes three manuals:
- SVOX_Pico_Lingware.pdf
- SVOX_Pico_Manual.pdf
- SVOX_Pico_architecture_and_design.pdf
To build SVOX Pico, fetch the debian-sid branch with
git checkout debian-sid
then apply Debian patches with
QUILT_PATCHES=debian/patches quilt push -a
then go to the pico subdirectory and type
chmod +x autogen.sh
./autogen.sh
./configure
make install
Continue building Speech Dispatcher
===================================
On some systems, before running make, you have to set the environment variable
SED to your binary of the sed application. This is usually done as:
$ export SED=sed
$ ./configure
$ make all
If everything worked ok, you can install all the parts to the default
path by running (as root):
# make install
# ldconfig
If it doesn't work, please see "Building from Git" if this is your case. If
not, you can ask us on speechd-discuss@nongnu.org .
Building from Git
=================
If you are building directly from Git or from some Git tarball snapshot, you
must first create the ./configure file. Please make sure you have all the
necessary tools listed in the requirements at the beginning of this README
in their appropriate versions. Automake and autoconf are especially version
sensitive.
Then please do:
$ cd speech-dispatcher # where speech-dispatcher is your Git clone
$ ./build.sh
Now the configure file should be created and you can proceed like with
an ordinary instalation.
Installing Festival Speech Dispatcher interface:
================================================
You need to install the new version of festival-freebsoft-utils (0.3
or higher).
Please make sure that Festival server_access_list configuration
variable and your /etc/hosts.conf are set properly. server_access_list
must contain the symbolic name of your machine and this name must be
defined in /etc/hosts.conf and point to your IP address. You can test
if this is set correctly by trying to connect to the port Festival
server is running on via an ordinary telnet. If you are not rejected,
it probably works.
Example of the server_access_list configuration line
in festival.scm:
(set! server_access_list '("127.0.0.1" "localhost" "chopin"))
Testing
=======
You can try to execute Speech Dispatcher by
$ speech-dispatcher
If Speech Dispatcher is running, you can test if it's working by:
(on some other console)
$ cd speech-dispatcher-[version]/src/tests
$ make check
$ ./run_test basic.test
(You can also try other tests, if you like.)
Also try
$ speech-dispatcher --help
to see how you can run it as a standalone program and possibly see
what's wrong.
Troubleshooting
===============
If you think something is missing, try additionally:
$ mkdir PREFIX/etc/speech-dispatcher
$ cp -r config PREFIX/etc/speech-dispatcher
$ mkdir PREFIX/include
$ cp clients/libspeechd.h PREFIX/include/
where PREFIX is your installation path prefix (defaulting to /usr/local).
Building in more detail:
========================
The hierarchy of Makefiles is used to build each of the parts. The top
level Makefile allows you to compile some extra parts of the project.
These are:
- doc ........ build documentation in all supported formats
(see doc/README for more information)
- src/server ..... build speachd server - this is the same as
cd src/server; make all
- src/modules .... build all speachd modules - this is the same as
cd src/modules; make all
- src/clients .... build all clients - this is the same as
cd src/clients; make all
- clean ...... remove all files except the sources (does not
clean documentation)
- all ........ build server, modules and clients
If you are building directly from git or from some git tarball snapshot, you
must first create the ./configure file. Please make sure you have all the
necessary tools listed in the requirements at the beginning of this README
in their appropriate versions. Automake and autoconf are especially version
sensitive.
Then please do:
$ cd speech-dispatcher-[version]
$ autoreconf -i
Now the configure file should be created and you can proceed like with
an ordinary instalation.
Copyright (C) 2001-2012 Brailcom, o.p.s
Copyright (C) 2010 Rui Batista <ruiandrebatista@gmail.com>
Copyright (C) 2010 William Hubbs <w.d.hubbs@gmail.com>
Copyright (C) 2010-2016 Andrei Kholodnyi <andrei.kholodnyi@gmail.com>
Copyright (C) 2015 Luke Yelavich <themuso@themuso.com>
Copyright (C) 2018-2020 Samuel Thibault <samuel.thibault@ens-lyon.org>
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any later
version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details (file
COPYING in the root directory).
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
|