Installing Speakup Mods (Part 2)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



(Installing Speakup mods continued: Part 2)

Installing Speakup

Speakup is a set of patches to the linux kernel. It is assumed
that you are familiar with kernel configuration and compilation.
See the kernel howto for more information on building kernels.
The following instructions explain how to dowload and prepare
both speakup and the speakup modifications for sound card.

The Speakup Home page is here:
http://www.linux-speakup.org/

Get the most recent speakup source code from CVS:

cd /usr/src
cvs -d:pserver:anonymous at linux-speakup.org:/usr/src/CVS login
Password: please
cvs -d:pserver:anonymous at linux-speakup.org:/usr/src/CVS checkout speakup

You will see a new directory /usr/src/speakup


The home page for the speakup modifications for software
synthesiser is here:

http://users.wpi.edu/~blinux/

Get the speakup modifications
http://www.wpi.edu/~blinux/releases/speakup-modifications-20030403.tar.gz

You may want to check if there is a more recent release.
Check this page for updated release information:
http://users.wpi.edu/~blinux/


Extract the speakup modifications
cp speakup-modifications-20030403.tar.gz /usr/src
cd /usr/src
tar xzvf speakup-modifications-20030403.tar.gz

Compile the middleware program
cd middleware
make


The next step is to patch the linux kernel with speakup
and the modifications for sound card, which are already
extracted into the /usr/src/speakup directory.

Download the linux kernel source, for example:
ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-2.4.20.tar.gz

Prepare the kernel source

cp linux-2.4.20.tar.gz /usr/src
cd /usr/src
tar xzvf linux-2.4.20.tar.gz
rm linux
ln -s linux-2.4.20 linux
cd linux
make mrproper


Now the kernel needs to be patched with the speakup
and modifications for sound card.

cd /usr/src/speakup
cp install /usr/src
cd /usr/src
./install

Hopefully you will get a message indicating that the
patches were applied without errors. If you get errors
you will need to figure out why before proceeding
further.

After the patches are applied, compile the linux kernel:

cd /usr/src/linux

Configure the linux kernel using
make config or
make menuconfig

If you are not clear on which options to include, you
can compare to a working kernel configuration. There
are working kernel configuration examples here:

ftp://ftp.slackware.com/pub/slackware/slackware-9.0/kernels/

For example, here is the bare.i (default) slackware kernel config
ftp://ftp.slackware.com/pub/slackware/slackware-9.0/kernels/bare.i/config


The speakup patches add some new items in the kernel config.
In the console drivers section, there should be a new item
listed as "Speakup console speech". Then there will be a
list of synthesizers. For the software synthesizer using
sound card, select the "software synth driver, usrdev".
Also set the defauly synthesizer to be "usrdev" rather
than the default value which is "none". Adding these items
in the config tools adds these lines to /usr/src/linux/.config:

CONFIG_SPEAKUP=y
CONFIG_SPEAKUP_USRDEV=y
CONFIG_SPEAKUP_DEFAULT="usrdev"
CONFIG_SPEAKUP_KEYMAP=y

After you've configured your kernel appropriately, proceed
to compile and install the kernel:

cd /usr/src/linux
make dep
make bzImage
make modules
make modules_install

Copy the newly compiled kernel to its boot location
and give it an appropriate name, for example:

cd /usr/src/linux/arch/i386/boot
cp bzImage /boot/vmlinuz-speakup


You will probably need to add the new kernel to your
bootloader configuration. It's recommended that you
leave your working kernel in the bootloader in case
the new kernel doesn't boot. Here's an example of
adding a new kernel in /etc/lilo.conf

image=/boot/vmlinuz-speakup
   root= /dev/hda2 (change this to your partition number)
   label = Linux-Speakup
   read-only

What I do is copy the 4 lines from the working
kernel and modify them for the new kernel. I leave
the old kernel there so it can still be booted:

# this is the original kernel
image=/boot/vmlinuz
   root=/dev/hda2
   label = Linux
   read-only

# this is the new speakup kernel
image=/boot/vmlinuz-speakup
   root= /dev/hda2 (change this to your partition number)
   label = Linux-Speakup


Execute lilo to install the new bootloader config

/sbin/lilo -v

Check to make sure there are no errors.


Add a new device node for /dev/usrdev
mknod /dev/usrdev c 252 0

Since there is no external synthesizer, the speech will
not work until the sound system is loaded and festival
is started. You will need to add festival somewhere in
the init scripts. Adding these following lines to
/etc/rc.d/rc.local worked for me:


/usr/src/festival/bin/festival --server &
sleep 5
/usr/src/middleware/middleware &

Reboot and you should have console speech!





[Index of Archives]     [Linux for the Blind]     [Fedora Discussioin]     [Linux Kernel]     [Yosemite News]     [Big List of Linux Books]
  Powered by Linux