The Speakup Tutorial By Saqib Shaikh Introduction In recent months there has been a vast growth in the popularity of the Linux operating system. Speakup is a Linux screen reader, that is it is a software program that enables blind computer users to use Linux by receiving speech output. This tutorial takes the new Speakup/Linux user through the basic things that they need to know. What Is Speakup? As mentioned previously, Speakup is a screen reader for the Linux operating system. One of the things which makes Speakup different from more traditional screen readers is that it is patched into the kernel. To explain what this means, Speakup is an integral part of the operating system. This means that when you turn on your computer and Linux starts, Speakup also starts, meaning you can hear all boot-up messages, and resolve any problems related to the computer not reaching the login prompt. In addition, when you shutdown your system you will receive speech feedback right until the message "Power down" is given, indicating you should turn off your computer. Speakup is written by Kirk Reiser and Andy Berdan. It is distributed under the terms of the GNU GPL. If you don't already know, GPL stands for General Public License, and is a license agreement that basically states that you are free to copy, modify and distribute Speakup, but may not turn any part of it into proprietary or commercial code without the permission of the author, Kirk Reiser. Currently Speakup supports the following speech synthesisers. Each synthesiser is given a keyword, which is how Speakup refers to that synthesiser. acntpc: Accent PC internal speech synthesiser. acntsa: Accent SA external speech synthesiser. apolo: Apollo II external speech synthesiser. audptr: Audapter external speech synthesiser. bns: Braille 'n Speak family of note-takers, including the Braille 'n Speak, Type 'n Speak, Braille Lite and Type Lite. decext: External DEC-Talk (for the older DEC-Talk and Multi-Voice speech synthesisers). dectlk: DEC-Talk Express external speech synthesiser. dtlk: Doubletalk PC internal speech synthesiser. ltlk: Doubletalk external or Litetalk speech synthesiser. spkout: Speakout external speech synthesiser. txprt: Transport external speech synthesiser. Speakup Resources The official Speakup home page is at http://linux-speakup.org, and the ftp site at ftp://ftp.braille.uwo.ca/pub/linux/speakup. Slackware Linux has recently become the first Linux distribution to include Speakup. You can find more information about Slackware at http://www.slackware.com, or download it at ftp://ftp.slackware.com/pub/slackware/slackware. Bill Acker also has an FTP site devoted to Speakup and Red Hat Linux at ftp://speakup.octothorp.org. There is an ever-growing group of Speakup users on the internet. They are all very friendly and willing to help each other with Speakup or Linux problems. The main interaction between Speakup users is via the Speakup mailing list. To subscribe, send a message to . In the body of the message write the word "subscribe" (or "unsubscribe" to unsubscribe). Once you are subscribed to the list, send a message to everyone else on the list by emailing . Some users also hang out on the Speakup reflector. In order to use this you should get and install a program called Speak Freely, which is available for both Linux and Windows. To connect, point your sfmike at lwl.braille.uwo.ca:4074. Various people, Matthew Campbell in particular, have done talks about Linux/Speakup on the ACB Radio Main Menu show. For more information, visit http://www.acbradio.org. Finally, you may contact Kirk directly at . However, please remember that if Kirk gets lots of emails all asking the same thing he might get rather annoyed, so its always better to try the mailing list first! Speakup Screen Reading Keys Using Speakup it is possible to use a special reading cursor to look around the screen, without affecting the application's current operation. All of Speakup's reading keys are, by default, bound to keys on the numeric keypad. It is possible to change this default layout, but this will require some knowledge of how Linux keymaps work. If you feel like doing this then you should consult the document ftp://ftp.braille.uwo.ca/pub/linux/speakup/keymap-tutorial. Sometimes Speakup uses the 0, or insert key on the numeric keypad to provide more functions. In these cases hold down the insert key and press the other button. Note that although we call this the insert key, you cannot use the other insert key which is positioned in a block of six above the cursor keys. The numbers 7, 8 and 9 on the numeric keypad read the previous, current and next lines respectively. When moving up or down, the reading cursor will be moved to that line. If you try pressing 7 when the reading cursor is on the top line of the screen, or 9 when the reading cursor is on the bottom line, then Speakup will respond "Top" or "Bottom" appropriately. To move to, and read the previous/current/next word, use 4, 5 and 6 respectively. If you hear a beep, this means that you have past the end of a line, and have moved to a different line. If you try to press 4 when you are on the first word on the first line, or 6 when you are on the last word of the last line, then Speakup will respond "Top" or "Bottom" as before. Use the 1, 2 and 3 to read by characters. As when reading words the computer will beep when you move to a new line, and say "Top" or "Bottom" when you are at the top/bottom of the screen. To read from the top of the screen to the reading cursor use insert+8. Use insert+4 to read from the beginning of the line to the reading cursor, and insert+6 to read from the reading cursor to the end of the line. Insert+5 will spell the current word. Insert+2 will say the current character phonetically, using the millitary alphabet. Use the plus (+) key to read the entire screen. Insert+plus reads from the reading cursor to the bottom of the screen. The minus key (-) toggles between having the reading cursor parked or unparked. When the reading cursor is unparked, whenever the application moves the cursor to a different position, the reading cursor will also move. If parked, the reading cursor will always stay in its current position unless you actually move it. This is often useful if you just wish to monitor a particular part of the screen. Insert+minus causes the decimal and hexadecimal value of the current character to be read. Point (.) reads the current cursor position. This includes the point on the current screen as well as which virtual console is active. The minus key causes the color attributes of the current position to be spoken. To move the reading cursor to the top of the screen use insert+9, and use insert+3 to move to the bottom of the screen. Insert+7 moves to the beginning of the line, while insert+1 moves to the end of the line. You can press any key to temporarily mute speech (the best way is to use the control key). Pressing the enter key on the numeric keypad causes Speakup to be silent until another key is pressed. Insert+enter causes Speakup to stop talking until insert+enter is pressed again. The slash key (/) will cause Speakup to go to the row/column that you specify. The star key (*) toggles on cursor tracking. Cursor tracking is currently only experimental. Changing Speech Parameters Speakup now uses the /proc file-system to change parameters. Use the command echo value >/proc/speakup/parameter Here, parameter includes such things as rate, pitch, volume, etc. To find out the list of available parameters, type: ls /proc/speakup Value refers to the value you wish to set the parameter to. For example, to set the rate of the sixth fastest value you would enter echo 6 >/proc/speakup/rate Installing Linux With Speech Using Speakup it is now possible to install Linux with speech feedback. For full details on installing Linux refer to one of the many good books available, or the documentation that comes with your distribution of Linux. To install the Debian distribution of Linux download the appropriate files from ftp://ftp.braille.uwo.ca/pub/linux/speakup/disks/debian/. Details of what files do are included in the readme file in that directory. You can use these files to fully install Debian, and then fetch further packages from the Internet, or use the disk images in conjunction with a bought CD-ROM. A CD-ROM image is also available which is similar to the standard first CD with the addition of Speakup. In ftp://ftp.braille.uwo.ca/pub/linux/speakup/disks there are also boot disks for the Red Hat and Slackware distributions of Linux. However, there are better methods to obtain disks for these distributions as detailed below. As of Red Hat 7.1 Bill Acker has created boot disks and CD images for Speakup. You may find these at ftp://speakup.octothorp.org. Recently, Slackware has become the first Linux distribution to include Speakup. Although boot disks for Slackware 7.0 and 7.1 are abailable from the Speakup FTP site, for newer versions you should just get the standard Slackware Linux distribution from ftp://ftp.slackware.com/pub/slackware/slackware. Finally, there is also another useful tool in the disks directory. This is Parted. It is a boot disk from which you can resize existing partitions. Obviously these disks have been modified to include Speakup. Changing Your Keyboard Layout One problem with Speakup is that in order to get the reading keys on the numeric keypad to work, you must use the US keymap during a talking installation of Linux. Later, you can change the keymap by using the following procedure: Firstly, download ftp://ftp.braille.uwo.ca/pub/linux/speakup/speakupmap.map. This is a keymap containing the Speakup key definitions. Copy this file into the directory where your standard keymaps live. Copy the US keymap into the file standard.map using a command like: cp us.map standard.map Then type: diff -urN speakupmap.map standard.map >map.diff Now, copy the keymap for your language to standard.map, for example: cp uk.map standard.map And finally type: patch -p0