Skip to content

About

Scan printed text and converts to speech for the blind. Extremely simple interface and NO Internet needed.

Resources

Stars

21 stars

Watchers

7 watching

Forks

Repository files navigation

PiTextReader

Scan printed text and converts to speech for the blind.

Extremely simple interface and NO Internet needed.

Overview

PiTextReader allows someone with impaired vision to “read” text from envelopes, letters and other items. It snapshots an image of the item, converts to plain text using OCR (Optical Character Recognition) and then speaks the text using text-to-speech.

The Reader is designed to be as absolutely simple to use as possible. No Internet needed, no graphical interface, only one button. Just place the item to be read onto the stand and press a button. After a few moments, the text will be read back to them.

Documentation

** See Full Instructions in the PiTextReader.pdf document **

This checkout has been updated for current Raspberry Pi OS / Debian Bookworm systems:

  • Python 3 is used explicitly.
  • The camera command now prefers rpicam-still, with fallback support for libcamera-still and legacy raspistill.
  • python3 -m http.server replaces the old Python 2 SimpleHTTPServer.
  • gpiozero replaces direct RPi.GPIO usage.
  • A systemd service replaces the old crontab-at-boot startup path.

Install

Run the installer from the project directory:

./install.sh

The installer installs these Raspberry Pi OS packages:

  • alsa-utils
  • flite
  • python3-gpiozero
  • python3-lgpio
  • rpicam-apps-core
  • tesseract-ocr

It then creates and enables a pitextreader.service systemd unit using the directory where install.sh was run.

Start the reader immediately:

sudo systemctl start pitextreader.service

Check service status and logs:

systemctl status pitextreader.service
journalctl -u pitextreader.service

Run manually for testing:

python3 pitextreader.py

Camera Notes

Modern Raspberry Pi OS releases use rpicam-still for still image capture. The old raspistill command only exists on legacy camera stacks. The main program, installer, focus utility, and test utility all prefer rpicam-still.

The grayscale effect previously requested with raspistill -cfx 128:128 is approximated with --saturation 0 for rpicam-still and libcamera-still.

Utilities

  • install.sh -- Installation script
  • test.sh -- Tests each component of the Reader
  • focus.sh -- Assist focusing camera using a PC browser

About

Scan printed text and converts to speech for the blind. Extremely simple interface and NO Internet needed.

Resources

Stars

21 stars

Watchers

7 watching

Forks

Releases

Packages

Contributors

Languages