descriptionA minor mode helping user speed-reading. Similar with Spritz (speed read).
ownernumbchild@gmail.com
last changeSun, 9 Apr 2023 10:18:41 +0000 (9 18:18 +0800)
content tags
add:
README.org
* Intro

This is a minor mode helping user speed-reading. Similar with Spritz (speed read).

The core code is borrowed from "Spray".

* Screencast

[[file:scroll-by-word.gif]]

[[file:scroll-by-line.gif]]

* Features

- [X] interactive select scroll style by word or line at first time
- [X] resume from the position where stopped
- [X] scroll by word or line reading interactively
- [X] speed up/down scroll
- [X] pause/resume from position
- [X] support Chinese context
  - [X] 自动内容分词,将分词作为一个 word, 在分词的结果上进行移动,这个办法太复
    杂了,直接将行长度作为字符串长度考虑来计算停留时间。
- [X] line style scroll by smart timer speed based on current and next line text length
- [X] support customize overlay face font and color
- [X] support reading highlighted text (word,line) with cross-platform TTS Speech API or command-line voice tools.
  + cross-platform TTS Speech API
  + macOS: "=say="
  + GNU/Linux: "=espeak=", "=festival="
  + Microsoft Windows: TTS

* Installation

MELPA available soon.

#+begin_src emacs-lisp
(use-package amread-mode
  :ensure t
  :commands (amread-mode))
#+end_src

* Usage

1. start amread-mode with command =[M-x amread]=.

2. amread-mode will ask you use which scroll style? scroll by word or scroll by line.

   #+NAME: scroll by word
   [[file:scroll-by-word.gif]]

   #+NAME: scroll by line
   [[file:scroll-by-line.gif]]

3. keybindings in amread reading status:
   * stop amread-mode minor mode by pressing =[q]=.
   * press =[SPACE]= to pause or resume.
   * press =[+/-]= to change speed.
   * press =[v]= to toggle voice reading.
shortlog
2023-04-09 stardivinerFix void `defhydra' error by add hydra package as depen... master
2023-04-08 stardivinerRename Hydra interface symbol name to match package...
2023-04-08 stardivinerSetting a short minor mode lighter
2023-04-06 stardivineralign keybinding definitions code
2023-04-01 stardivinerfix byte compiler warnings
2023-03-31 stardivinerdisable voice reader by default
2023-03-31 stardivinerautoload void hydra-amread
2023-01-07 stardivinerKeep instance of engine to avoid repeat creating perfor...
2023-01-07 stardivinerInvoke cross-platform TTS Speech API through Python...
2023-01-07 stardivinerExtract "say" command function
2022-11-11 stardivinerAdd hydra support
2022-11-11 stardivinerDetect function is interactively called for hydra keybi...
2022-11-11 stardivinerdelete trailing whitespace
2022-11-11 stardivinerInteractively select language at first when amread...
2022-11-11 stardivinerImprove language variable sources
2022-11-11 stardivinerImprove chinese/english language detecting with package...
...
heads
12 months ago master