| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
(This is not a description on how-to install SpeechD-Up itself, this is a description of all the necessary steps to make SpeakUp work with software synthesis using Speechd-Up. For how to install SpeechD-Up itself, please see the file ‘INSTALL’ in the distribution tarball.)
SpeakUp can't use software synthesis directly because SpeakUp lives in
the so called “kernel space” and software synthesizers live in the so
called “user space”. These are two different parts of your system and
the communication between them is quite difficult. The approach to make
SpeakUp work with software synthesis is the following one: Speakup
provides a device, usually called /dev/softhsynth, where it sends
all the commands to the synthesizers. Then there is a very simple
application (or rather a daemon) called Speechd-Up listening on this
device and passing all the requests for synthesis to Speech Dispatcher,
which then in turn talks to your chosen synthesizer (be it Festival,
Flite or something else).
If you want to use SpeakUp with software synthesis, you need to setup all this chain. It might not be easy, but you might later use Speech Dispatcher also for other accessibility applications. Or otherwise: chances are that you already have a great part of this up and running. Let's suppose you are starting from the scratch (if you have something already running, just make sure this is true and skip the step).
To be able to use software synthesis, you first need to install some software synthesizer. We strongly recommend a Free Software package “Festival” for it's many capabilities, support of multiple languages, quite good quality of some voices and quick responses. However, you might chose any of the synthesizers supported by Speech Dispatcher (please see http://www.freebsoft.org/doc/speechd/speech-dispatcher_10.html#SEC10)
Read the installation instructions for your chosen synthesizer and install it. There are Debian packages for both Festival and Flite.
There is usually some simple way how to check if the synthesizer works.
For festival, run festival and type in:
(SayText "Hello world")
Don't continue unless you know the synthesizer works.
You can get more information about Speech Dispatcher from http://www.freebsoft.org/speechd. You can either use a pre-compiled package (see your distribution repositories) or download the tarball from the above internet address and follow the instructions in the file ‘INSTALL’.
If you are running Debian, you can install the following packages:
speech-dispatcher, libspeechd1 and
libspeechd1-dev. The latest one is important too since you will
have to compile SpeechD-Up yourself.
You can test whether Speech Dispatcher works with a simple client called
spd-say distributed along with Speech Dispatcher. (You might
later find this package useful for many practical purposes.) It has many
parameters, so you can even test if the rate and pitch settings work
correctly etc.
spd-say "Hello world!" spd-say -r 90 -p -70 "This is quick and deep" |
If this doesn't work, please examine Speech Dispatcher documentation
for possible problems (info speech-dispatcher). You might want to
see the logfiles of Speech Dispatcher itself and of its output module
you are using.
You can download Speechd-Up source code from
http://www.freebsoft.org/speechd-up. Unpack it with tar
-xvzf speechd-up-0.1.tar.gz and follow the instructions in the file
‘INSTALL’ in the source tree.
You can test if SpeechD-Up can communicate with Speech Dispatcher by executing (as root)
speechd-up --run-single --probe |
If you hear something, everything in SpeechD-Up works except connecting to the SpeakUp's device (which was not attempted in this test).
You have probably done that already, but you must make sure you compiled
SpeakUp with support of software synthesis. You must have SpeakUp compiled
with the softsynth module and you must create the appropriate device
with
cd /dev mknod softsynth c 10 26 |
Please see http://www.linux-speakup.org/ for how to obtain and install SpeakUp. You might also want to look at the Speakup's User Guide here: http://www.linux-speakup.org/spkguide.txt
After having installed Speakup, if softsynth is your default
synthesis device, you must switch to it:
echo sftsyn >/proc/speakup/synth_name |
This should load the appropriate kernel module (if compiled as a module) automatically.
If you run into problems here, please examine modprobe -l) for
the speakup_sftsyn module and/or try to load it manually with
modprobe. If this doesn't work, there is some problem with your
instalation of Speakup.
Now you are at the point when you can invoke SpeechD-Up as an application in the foreground and see if everything works ok.
speechd-up -s |
The application should keep running and you should hear something. When you switch to another console, you should be able to use SpeakUp normally with your software synthesis.
If this doesn't work, please look at SpeechD-Ups logfile in ‘/var/log/speechd-up.log’. You can also increase the loging level of SpeechD-Up as shown bellow
speechd-up -s -l 5 |
and examine the logs again.
This part is distribution specific. It can be left out provided you will manually 1) start your synthesizer 2) start Speech-Dispatcher 3) switch Speakup to the sftsyn device 4) start SpeechD-Up each time you want to use software synthesis with Speakup (in this order).
Under Debian, Speech Dispatcher already starts automatically from ‘/etc/init.d/speech-dispatcher’ and it should not be difficult to create ‘/etc/init.d/speechd-up’ by modifying the script for Speech Dispatcher and then adding a link to it to ‘/etc/rc2.d/S21speechd-up’. You must only make sure it starts *after* Speech Dispatcher.
If this doesn't work, please test again if all the components work well as described above.
You might find the new software synthesis is rather slow with SpeakUp compared to the hardware synthesizers, and they have some other deficiencies. On today's hardware, this is not a fault of Speech Dispatcher or software synthesis in general. Speakup was not formerly designed with software synthesis in mind and neither now this is its main focus. Please don't think software synthesis is generally inferior to hardware synthesis because of this. We actually believe quite the opposite is true: The hardware synthesizer, unless they are programable, will never achieve the huge possibilities of extensible software synthesizers. See Problems
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] |
This document was generated by Hynek Hanke on March, 26 2009 using texi2html 1.78.