[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1. Installation

(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).

  1. Install your favorite speech synthesizer

    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.

  2. Make sure the synthesizer works

    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.

  3. Install Speech Dispatcher

    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.

  4. Make sure Speech Dispatcher works correctly

    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.

  5. Install Speechd-Up

    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.

  6. Make sure SpeechD-Up can communicate with Speech Dispatcher

    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).

  7. Install SpeakUp

    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.

  8. Make sure SpeechD-Up works

    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.

  9. Make Speech Dispatcher and SpeechD-Up start automatically

    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.

  10. It's somehow slow etc...

    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.