Software for the Visually Handicapped
Web
Browser with speech output features
Sound
Enhanced Lynx
(Standalone web browser
for use by the Visually handicapped.)
The application
discussed here is the text based web browser called Lynx. Lynx has been
popular in the Unix environment and has been made available free to the
users of the Internet. Lynx provides a number of useful features and coupled
with a suitable screen reader, can be of great help to the visually handicapped.
Being a text based
application, Lynx had not gained popularity under the Windows Operating
system which provides powerful graphics based browsers. Screen Readers
capable of supporting graphics based applications under the Windows operating
system are indeed available today but almost all of them are commercial
applications. Software such as Jaws for Windows are very well designed
applications but are beyond the reach of most people in the developing
countries. The project undertaken at IIT Madras was basically aimed at
providing simple screen reading and navigating features through enhancements
to Lynx and making it freely available for use under the Linux as well
as Windows platforms.
Two factors played
an important role in the successful implementation of the sound enhanced
Lynx application.
-
A freely available speech synthesizer
system distributed by the Mones Polytechnic (technical university) in Belgium.
This is known as MBROLA.
-
A development environment for
Unix applications under Microsoft Windows through cygwin.
A version of Lynx running under Windows had already been made possible
through cygwin through the efforts of several volunteers.
The IIT Madras
team had used MBROLA successfully to implement a multilingual text editor
for Indian languages which supports text to speech. There was enough motivation
here to attempt to build a web browser capable of supporting speech output
for Indian language text displayed on a web page. Being multilingual, the
application works well with different Indian languages as well as English.
The MBROLA synthesizer
is a generic concept where text to speech output can be accomplished by
feeding the required phonemes of the language to the generic speech engine.
Hence, enhancing Lynx with sound output was a question of implementing
simple screen reading controls and using the MBROLA speech synthesizer.
The source code for Lynx available on the net was downloaded and used for
the required modifications.
Back
to Contents
Summary
of what IIT Madras has provided
A version
of Lynx running under Linux as well as Microsoft Windows has been developed
with support for minimal screen reading and navigation functions. The application,
as developed, supports speech output in Indian Languages well as
English. However, many other languages could be handled by using
suitable text to phoneme conversion utilities recommended by the MBROLA
team.
The Lynx application
is invoked as a text application from a command shell. Under Windows this
is typically a DOS prompt.. As Selynx comes up, all the control messages
put out can be heard. When the page specified by the URL in the command
line has finished loading, the browser announces that it is ready. The
specified URL could be given as a command line parameter or input after
Selynx comes up. When Selynx is operational, keyboard input is echoed letter
by letter so that typing in other URLs or file names etc., is rendered
easy for the visually handicapped..
When Selynx is ready,
the user can find out the number of hypertext links on the displayed page.
Lynx will speak out the number of links on the page and will also speak
out the links themselves one by one. Thus the user will have an idea of
the hypertext links on the page. The down arrow key will move the link
selector from link to link. Selynx can be asked to handle audio files by
suitably configuring it to invoke a player for a wave file or real audio
file specified in a link.
It must be said that
the application developed by IIT Madras is a talking web browser and not
a screen reader per se. However, IIT Madras has also developed an application
which allows JAWS for DOS to be used on a PC without an external synthesizer
thus making available a meaningful screen reader for DOS based applications.
Unfortunately Selynx under Windows is a program which requires support
of a kind that is not easy to provide under DOS. Hence, at least for the
present, Seynx will have to run as a standalone application with limited
screen reading functions. A section of these web pages is devoted to the
implementation of JAWS for DOS under MS Windows.
Both sound enhanced Lynx and the implementation of JAWS for DOS using the
sound hardware on a PC are distributed free by IIT Madras.
The following
system requirements must be met for the sound enhanced Lynx to run on a
PC.
A pentium PC with
32 Mb of main memory and a sound card supported by the Windows or Linux
operating system. The application requires just about twentyfive megabytes
of disk storage. It will be necessary to have the MBROLA speech synthesizer
program installed before Lynx can be used. MBROLA may be downloaded free
for personal use from
http://tcts.fpms.ac.be/synthesis/mbrola.html
Back
to Contents
Downloading
and installing sound enhanced Lynx
The sound enhanced
Lynx browser is distributed by IIT Madras as a zip file (for Microsoft
Windows) and gzipped tarred archive for Linux. Downloading and installing
the program is fairly straightforward but may require help from a sighted
friend, especially for the MBROLA part.
Here are the steps.
1. Download the MBROLA
speech tools file from the Mbrola site. Under MS Windows, this file is
a self installing application and will install properly through its Graphical
user interface. The application includes an interactive application called
MBROLI which may be used to test the correctness of the installation.
MBROLA requires specific speech data bases for its operation. Hence users
will be required to download one or more speech data bases depending on
the application.
Under Linux, the mbrola
tools are distributed as a compressed archive. This archive consists of
the mbrola speech engine alone. An application capable of playing sound
files will be required to play the output generated by MBROLA. Sox is recommended
for this purpose.
Sound enhanced
Lynx requires that the following two speech data bases be available in
the system.
The Swedish data
base (SW1), which is required for speech output in Indian languages (Please
do not be surprised. An MBROLA compatible data base for Indian languages
is not yet available and the phonemes of swedish seem to work quite well
with Indian languages!)
The English data base (EN1).
After downloading
both the data bases, use the MBROLA control panel to include them for use
by MBROLA. The MBROLA control panel is also a utility provided by the MBROLA
team to add data bases to the speech engine. This applies to Microsoft
Windows.
Under Linux, the location
of the data bases should be specified in terms of environment variables.
The instructions provided in the Mbrola distribution for Linux will have
to be followed.
2. Download
the file selynx.zip
from this site. Under Linux, the relevant file is selynx.tar.gz
.
3. Create
a directory called selynx in your computer in the drive where you would
want the Lynx browser installed. You can do this from your dos shell command
prompt. It would help to have the selynx directory created under the root
directory. Under Linux a similar directory can be created in your home
directory.
4. Use an unzipping
utility such as unzip or winzip to unzip the selynx.zip file into the selynx
directory created as above. The gzip utility should be used under Linux.
5. When unzipped,
the following sub directories would have been created under selynx.
bin
lexicon (Change
to reflect current distribution)
The src sub directory
will contain the executable program selynx.exe along with the support files
required for speech synthesis using MBROLA. The Lexicon sub directory will
contain the dictionary used for generating the phonemes. This dictionary
is kept in a format that is convenient for easy access to the data. The
format used is consistent with the format for the GNU gdb program.
6. Change
to the bin directory and run the selynx program by typing in "start" at
the Dos command prompt. "start" is a batch file which invokes lynx with
the IIT Madras web site as the URL. You should now be able to hear the
messages as Lynx connects to IIT Madras and loads the page describing Sound
Enhanced Lynx.
At this point, sighted
viewers may want to look at a short
video clip showing the application in use.
Please note that we
have assumed that you have a connection to the internet that has already
been established when you invoke Lynx. A direct connection will allow Lynx
to work without a proxy server. You may have to modify the Lynx.cfg configuration
file to reflect the use of the proxy server. If you are connected to the
Internet through an ISP, chances are that you may not have to use a proxy
server. Please check this with the help of a friend. Lynx is sufficiently
well known that many people know how to configure it. You will have to
read the documentation that comes with Lynx to understand its use and features.
The file
lynx.cfg will allow you to vary a few parameters to control the speech
rate. The first few lines of the configuration file can specify two parameters,
one for the rate at whcih speech is output and the other for the pitch.
In the present version there are some restrictions in conrolling the way
speech is output but the settings are generally adequate for users who
are not experts in hearing very fast speech. The text to speech synthesis
is well intonated but does not know how to handle text strings which are
not part of a dictionary. So strings such as "info.txt" may be spoken as
a single word with strange effects! But one can discern the word with time.
Back
to Contents
Source
code
IIT Madras would be
happy to share the source code with others, should there be interest in
developing the software further. Specifically, there is the possibility
of using the browser with different languages. Any of the ISO-8859 compatible
character sets may be handled by the system so long as an appropriate text
to phoneme conversion utility is available.
The following development
tools were used in the project. Cygwin, the set of tools for running Unix
applications under Windows has been used. Thus the sources will be identical
for Linux and Windows with very minor changes to handle the MBROLA part.
-
Cygwin_2.0 development tools
for developing unix applications under Windows 98/2000/XP
-
Visual C++ version 5.0
-
Lynx source code as modified
to work with the cygwin development environment.
-
Mbrola tools for the windows
platform.
-
Freephone English text to phoneme
conversion utility, downloadable from the MBROLA site. Textalk is also
usable as an alternate text to speech application.
The source code for the
sound enhanced Lynx is available at this site. Please use the link below
for additional information.
Source code for the Sound
Enhanced Lynx Browser.
Linux
(Size approx. Megabytes)
Microsoft
Windows (Size approx. Megabytes)
Back
to Contents
Note
on web pages supporting Indian Language text
It is well known that
Indian language scripts require a graphical environment for display on
a web page. In the context of a text based web browser what IIT has done
is to display the text using a transliteration scheme that requires only
the Roman letters. Such transliterated text can easily be shown under
Lynx. However, a special tag has been introduced by IIT Madras to distinguish
sections of the text in Indian languages from text in English.
The sound enhanced
Lynx will directly work with any web page in English. So a visually handicapped
person may use it readily to look at any web page that presents its contents
in text form, such as web pages designed with accessibility in mind.
Since there are no
standards (sigh!) for displaying Indian language text on a web page, the
lynx browser will not be able to identify the text at many web sites which
require special fonts to display the text. It will be necessary to
set up a web site properly so that the browser can correctly identify and
speak the contents of Indian language web pages. IIT Madras has made available
a set of utilities for creating standardized web pages in all the Indian
languages and these may be downloaded and used by those desiring
to setup web sites for use by the visually handicapped.
A section of the Web site
of the Systems Development Laboratory has been setup with the above requirement
in mind. You will see sample text in Indian languages which you should
be able to hear through the sound enhanced Lynx browser. Please look at
http://acharya.iitm.ac.in/disabilities/sample_pages.html
Back
to Contents
|