Fast Reading System using RSVP Technology
Project description
eTech Reading - Fast Reading System
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.
- Sentence Breaking: Text is split into sentences
- Word Analysis: Each word is analyzed for optimal focus point
- 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...
- 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.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - 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 eOS
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.
📝 Not: İlk Yayınlanan Proje
Bu proje, eOS tarafından ilk olarak yayınlanan bir projedir. Yolculuk boyunca bazı hatalar ve eksiklikler yaşanmış olabilir.
Özür Diliyorum 🙏
- Eğer dokumentasyonda veya kodda hatalar buldunuz
- Bazı özellikler beklediğiniz gibi çalışmadıysa
- Kurulum veya kullanımda sorun yaşadıysanız
Lütfen bu sorunları bildirin. Sizin geri bildirimleri beni geliştirmeme yardımcı oluyor!
Teşekkürler ❤️
Bu projeyi tercih ettiğiniz ve destek verdiğiniz için çok teşekkürler. Continuous improvement ve feedback-driven development ile daha iyi bir ürün sunmaya çalışacağız.
GitHub: eymenomersenyigit-lang/etech-reading
Email: eOS@eTech.org (note: domain not acquired yet, use eymenomersenyigit@gmail.com)
Version 1.0.1 - Updated: January 20, 2026
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file etech_reading-1.0.2.tar.gz.
File metadata
- Download URL: etech_reading-1.0.2.tar.gz
- Upload date:
- Size: 18.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
745c7df8e917152dbb7ab8e22470710a5a5c05ac00c73c097cf16b09d9e4bdca
|
|
| MD5 |
42ef8fad9d034f68dbe45d4e88717563
|
|
| BLAKE2b-256 |
0d7ccee9914db78e7951736833832fef96f2b90b205b7533db9f696154f252cb
|
File details
Details for the file etech_reading-1.0.2-py3-none-any.whl.
File metadata
- Download URL: etech_reading-1.0.2-py3-none-any.whl
- Upload date:
- Size: 14.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ffe5cb66259df493a9ea5756c3db5987789fe1bb75cd15ad91021b2545dacdc8
|
|
| MD5 |
9ce17c8d55c39008dbe78f6082c867d5
|
|
| BLAKE2b-256 |
5d444d9f3976bbec1fb498ce967d1db65deece0dedddfb67463c2142eef22ee9
|