pasky / speedread

A simple terminal-based open source Spritz-alike (per-word RSVP aligned on optimal reading points)
MIT License
1.06k stars 93 forks source link

speedread

A simple terminal-based open source Spritz-alike.

This command line filter shows input text as a per-word RSVP (rapid serial visual presentation) aligned on optimal reading points. This kind of input mode allows reading text at a much more rapid pace than usual as the eye can stay fixed on a single place.

Basic Example

cat tea.txt | ./speedread -w 250

The default of 250 words per minute is very timid, designed so that you get used to this. Be sure to try cranking this up, 500wpm should still be fairly easy to follow even for beginners.

250wpm example 500wpm example 750wpm example 1000wpm example

Controls

speedread is slightly interactive, with these controls accepted:

Integration Recipes

You can connect mutt with speedread by putting a macro like this in your ~/.muttrc (or pressing ':' in running mutt and pasting it):

macro pager R "<enter-command>set pipe_decode=yes<enter>v|grep -v '^>' | ~/speedread/speedread<enter><enter-command>unset pipe_decode<enter>q" "speedread"

Then, just press R when viewing a message. Unfortunately, it does not work with non-ASCII messages (probably due to mutt limitations).

TODO

Not sure if I will ever get around to these...

Check out also OpenSpritz or spritz-js if you want to get this functionality in the web context.