GithubHelp home page GithubHelp logo

shipengtaov / speedread Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pasky/speedread

0.0 2.0 0.0 573 KB

A simple terminal-based open source Spritz-alike (per-word RSVP aligned on optimal reading points)

License: MIT License

Perl 88.13% Shell 11.87%

speedread's Introduction

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 minut 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:

  • [ - slow down by 10%
  • ] - speed up by 10%
  • space - pause (and show the last two lines of context)

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...

  • Better word timing! Instead of just pausing longer at commas and full-stops, distribute time better. Some short words like "not" and "can" could often get missed the way things are now.
  • Support for seeking back/forward.
  • Automatically adjust wpm on trained content difficulty (look-ahead)?
  • More controls, explore how can interactivity enhance usefulness of this.
  • Make various timing and ORP coefficients configurable.
  • Add a (Cairo-based?) simplistic graphical frontend (keeping with the filter philosophy). This would allow better eye guidance and large font.
  • An elinks-based recipe for reading websites this way.

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

speedread's People

Contributors

pasky avatar and-reas-se avatar webstrand avatar durka avatar matthewfranglen avatar nfedyashev avatar readmecritic avatar trironkk avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.