Project Overview
What did we do?
Sharp Zaurus PDA with Morse code input and Text-to-Speech (TTS) Feedback
What is the purpose?
The idea is that our software (more accurately, a more full-featured software package based on similar ideas) should allow the PDA to become an accessible electronic notepad. The key features are that the PDA will be relatively inexpensive and highly portable, while also enabled for many different users.

Benefits of a PDA w/TTS and MORSE
- Serves a need for blind/disabled/all users
- Helpful for communication
- ALS, MS, or the speech impaired
- Low requirements for physical ability (ALS)
- Mobile w/long battery life
- Cost Effective
- Reduces the hardware requirement as compared to many of the existing solutions
- Standard serial (9-pin/USB) support, so it is flexible
Why the Zaurus SL-5500?
We chose this platform for a few reasons. First it is relatively inexpensive, and provides an impressive amount of utility, even without our modifications. Further, the Zaurus is very flexible. One of the reasons for this is the choice of operating system - Linux. Because of this, there is much more software available for this platform than for some other PDAs. The advantages for us include support for Python and 3rd party TTS packages. Also, the PDA has a few other helpful features: wireless capability, stereo audio output, and removable flash memory.
Steps in the Design
- Construct a functional Morse-to-Speech application in Python (pyMTS) on a desktop system
- Research TTS options for PDAs, and install a usable system on our platform of choice
- Port the pyMTS application to a PDA Platform
- Hardware Improvements: add a custom serial or wireless input device
- Software Improvements: an accessible OS for PDAs? Additional software tools for M.C. Education?
Implementation Details
We used the Flite TTS library. This is the 'lite' version of the Festival Speech Synthesis system, which is optimized to run with a small footprint. This is especially useful for small devices like PDAs. Festival is an open-source text-to-speech system which is coded in C for speed.
Our program was designed using the Python programming language. This was quite convenient because the Zaurus has 3rd party support for Python and PyQT, a windowing toolkit.

Deliverables
pyMTS - could be made available as either a ROM image or seperate download. The program will be customizable to allow the user to specify how they want to do input. The program will accept a somewhat modified version of Morse Code. Instead of being a pure on/off implementation based on timing, pyMTS uses a 3-key version. One key represents dit, the other dah, and the third is a delimiter. This delimiter is rather multipurpose. It can signal the end of a character, word, or sentence. These are differentiated by the number of presses. After each segment is completed, the program initiates a call to the TTS. This reads out whatever character or phrase was just completed. We feel this feedback should decrease errors and increase confidence, with a net gain in the speed of text input. Also, the TTS aids in accessibility for the visually impaired, or those who aren't at leisure to look at the screen.
Conclusion
With minimal investment we were able to develop an application that with further development could serve a important role for a great variety of users, regardless of ability. With (a whole lot) more testing and development, and building upon some of our basic ideas, it should be possible to create a fully speech enabled PDA with flexible input.