Home -->  Enabling the Disabled --> Software  --> Sound Enhanced Lynx
Search  
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

Contents




Introduction

Features

Downloading and installing the browser

Source code

Web pages with sample text in Indian languages


A short video of Selynx in use
(Runs for about 340 seconds. Requires Real Player for viewing)

A Windows media version has also been included. Requires Windows Media Player for viewing.
Both the media files are about 10 Megabytes in size.


 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

Acharya Logo
Traditional earthen lamps. The beauty of the lamp is its simplicity.

Today is Oct. 02, 2006
Local Time: 02 21 31
Kali Year 5107
Month: Kanya , Day:16
Star: u-ashadha


| Home | Design issues | Online Resources | Learn Sanskrit | Writing Systems | Fonts |
| Downloads | Unicode, ISCII | SW for the Disabled | Linguistics | Contact us |
Last updated on 08/17/06    Best viewed at 800x600 or better