Skip to main content

Fast Reading System using RSVP Technology

Project description

eTech Reading - Fast Reading System

Python 3.7+ License: MIT PyPI

A PyQt5-based desktop application for rapid serial visual presentation (RSVP) reading. Increase your reading speed while maintaining comprehension through focused letter highlighting.

Features

🚀 Speed Enhancement

  • Increases reading speed 2-3 times
  • Adjustable speed from 50 to 1000 WPM (Words Per Minute)
  • Real-time speed display and adjustment

👁️ Focus-Based Reading

  • Optimal Position Fixation (OPF) algorithm
  • Each word's focus letter highlighted in red
  • Reduces eye movement fatigue

📊 Statistics & Analytics

  • Reading speed comparison table
  • Estimated reading time calculation
  • Performance tracking

⚙️ Customization

  • Adjustable font size (20-80pt)
  • Pause, resume, and stop controls
  • Keyboard shortcuts (Space for play/pause, Esc for stop)

Installation

Via pip

pip install etech-reading

From source

git clone https://github.com/eymenomersenyigit-lang/etech-reading.git
cd etech-reading
pip install -e .

Quick Start

Command Line

etech-reading

Python Script

from etech_reading import RSVPReader
from PyQt5.QtWidgets import QApplication
import sys

app = QApplication(sys.argv)
reader = RSVPReader()
reader.show()
sys.exit(app.exec_())

Using TextAnalyzer

from etech_reading import TextAnalyzer

text = "Your text here..."
analysis = TextAnalyzer.analyze_text(text)

for sentence in analysis:
    print(f"Sentence {sentence['sentence_index']}: {sentence['original_sentence']}")
    for word in sentence['words']:
        print(f"  Word: {word['clean']}, Focus: {word['focus_letter']}")

Requirements

  • Python 3.7 or higher
  • PyQt5 >= 5.15.0
  • PyQtWebEngine >= 5.15.0

How It Works

RSVP Technology

Rapid Serial Visual Presentation (RSVP) is a technique that displays text word-by-word at a fixed position instead of requiring your eyes to move across the page.

  1. Sentence Breaking: Text is split into sentences
  2. Word Analysis: Each word is analyzed for optimal focus point
  3. Focus Positioning: The Optimal Position Fixation (OPF) algorithm calculates the best letter to focus on:
    • 1-2 letters: First letter
    • 3-4 letters: Second letter
    • 5-6 letters: Third letter
    • And so on...
  4. Visual Presentation: Words are displayed sequentially with the focus letter highlighted in red

Benefits

  • Faster Reading: 2-3x speed increase
  • Reduced Eye Strain: Eyes stay fixed on one point
  • Maintained Comprehension: Optimal position fixation keeps meaning clear
  • Improved Focus: Minimizes distractions

Configuration

Speed Settings

  • 50-150 WPM: Very Slow (ideal for learning difficult texts)
  • 150-250 WPM: Slow (comfortable for average readers)
  • 250-400 WPM: Normal (standard reading pace)
  • 400-600 WPM: Fast (experienced readers)
  • 600-900 WPM: Very Fast (advanced readers)
  • 900+ WPM: Ultra Fast (speed reading)

Font Size

Adjust font size from 20pt to 80pt for comfortable viewing.

Keyboard Shortcuts

Key Action
Space Play/Pause reading
Esc Stop reading

Terminal Commands

eTech Reading includes 10 powerful terminal commands for various use cases:

Command Purpose
pip install etech-reading Install the package
etech-reading Launch GUI application
pip show etech-reading View package information
python test_package.py Run test suite
python -m build Build distribution packages
twine upload dist/* Publish to PyPI
pip uninstall etech-reading Uninstall package
python -m etech_reading.reader Run as Python module
python -c "from etech_reading import ..." Use as library in scripts
source venv/bin/activate Create isolated environment

For detailed terminal commands, see TERMINAL_COMMANDS.md

Usage Advantages

eTech Reading is not just for casual reading. It's designed for multiple use cases and professional applications:

👤 Individual Users

  • Read 2-3x faster without losing comprehension
  • Reduce eye strain with fixed focus point
  • Better focus and concentration
  • Save hours every week on reading

🎓 Educational Use

  • Accelerate student learning
  • Standardized test preparation
  • Improved reading comprehension
  • 85-95% retention at higher speeds

💼 Corporate Training

  • Faster employee onboarding (2x speed increase)
  • Policy and compliance training
  • Cost reduction: $125,000+ annually for 100 new hires
  • Measurable productivity improvements

📝 Content Creators

  • Estimate article reading time
  • Optimize content length
  • Analyze content metrics
  • Better reader engagement

🌍 Language Learning

  • Accelerated reading in new languages
  • Vocabulary exposure
  • Practice with authentic native texts
  • Faster reading proficiency

🏥 Healthcare & Medical

  • Continuing education
  • Patient education materials
  • Literature review acceleration
  • Protocol training

💻 Software Developers

  • Faster API documentation reading
  • Technical article comprehension
  • Framework learning acceleration
  • Code documentation analysis

📊 Researchers & Academics

  • Literature review 50% faster
  • Process more research papers
  • Better knowledge synthesis
  • Accelerate research progress

For complete details, see USAGE_ADVANTAGES.md

Development

Setup Development Environment

git clone https://github.com/yourusername/etech-reading.git
cd etech-reading
pip install -e ".[dev]"

Running Tests

pytest

Code Formatting

black etech_reading/

Linting

flake8 etech_reading/

Project Structure

etech_reading/
├── __init__.py          # Package initialization
├── analyzer.py          # Text analysis module
└── reader.py            # Main GUI application

setup.py                 # Setup configuration
pyproject.toml          # Project metadata
README.md               # This file
LICENSE                 # MIT License

API Documentation

TextAnalyzer

split_into_sentences(text: str) -> List[str]

Splits text into sentences using common sentence endings.

get_focus_letter_index(word: str) -> Tuple[int, str]

Returns the index and character of the focus letter for a given word.

analyze_text(text: str) -> List[Dict]

Analyzes text and returns structured data for RSVP display.

RSVPReader

analyze_text() -> None

Analyzes the input text and prepares it for display.

start_reading() -> None

Starts the RSVP presentation.

pause_reading() -> None

Pauses or resumes the presentation.

stop_reading() -> None

Stops the presentation and resets the position.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Citation

If you use eTech Reading in your research or projects, please cite it as:

@software{etech_reading_2026,
  title={eTech Reading - Fast Reading System using RSVP Technology},
  author={eOS},
  year={2026},
  url={https://github.com/eOS/etech-reading}
}

Support

For support, email eos@etech.com or open an issue on GitHub.

Roadmap

  • Multi-language support
  • Import from files (PDF, DOCX, TXT)
  • Export reading statistics
  • Customizable color schemes
  • Browser extension
  • Mobile application
  • Dark mode
  • Advanced text processing (stopwords removal, etc.)

References


Made with ❤️ by Your Name

Windows

pip install etech-reading

macOS

pip install etech-reading

Kullanım

etech-reading

Veya Python'dan doğrudan:

python -m fastread

Kontroller

  • Space: Oynat/Duraklat
  • Esc: Durdur

RSVP Nedir?

Rapid Serial Visual Presentation (RSVP), metinleri hızlı bir şekilde okumak için kullanılan bir tekniktir. Her kelime sabit bir konumda sırasıyla gösterilir. Bu sayede:

  • 👀 Göz kaybı azalır
  • ⚡ Okuma hızı 2-3 kat artır
  • 🧠 Anlama yeteneği korunur

Gereksinimler

  • Python 3.8+
  • PyQt5 5.15+
  • PyQtWebEngine 5.15+

Lisans

MIT License - Detaylar için LICENSE dosyasına bakın.

İletişim

Sorularınız ve önerileriniz için lütfen issue açınız.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

etech_reading-1.0.1.tar.gz (16.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

etech_reading-1.0.1-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

Details for the file etech_reading-1.0.1.tar.gz.

File metadata

  • Download URL: etech_reading-1.0.1.tar.gz
  • Upload date:
  • Size: 16.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for etech_reading-1.0.1.tar.gz
Algorithm Hash digest
SHA256 3963d7df6d5de5f95ed51cfff573b2925891d20f1a15ceffef4eebf86b2d9865
MD5 9e0c643df6021e0ab2a3b20be3a4a729
BLAKE2b-256 b480b11e7102293f2f61ad46a0f22ee67f1bf98cec269e0fefcd96c20659876b

See more details on using hashes here.

File details

Details for the file etech_reading-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: etech_reading-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 12.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for etech_reading-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 64323d083e77c737622586365519e6605d2ec2ffca384bc306d3d533dded4fb8
MD5 cc7738ad09f608218ab1b6a0e58fe461
BLAKE2b-256 b724d72e8c26c8cdd3b27e0a433e9c5cdb7a0c38328c58779d47d7edcef09fa1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page