An Experimental 3rd Gen Reading Aide for dyslexic/Neuro Muscular Visual Impairments
Update to README to correct rendering


browse  log 



You can also use your local clone with git send-email.

## Text Archanist

Welcome to my third attempt at writing a usable linux screen reader like program for dyslexia/Neruo Muscular Visual Impairments. Noticeably this will not be a total screen reader, rather the user will select what regions of the screen they would like read to them. via clipboard copy. and the screen reader will read the users selection, while simultaneously displaying said selection in a high contrast and dyslexic friendly font at whatever screen width the user desires.

#Why do this again!

Because my first two attempts worked great, for me and the two other people i wrote them for. But were hard to use for just about everyone else. There is nothing wrong with this, in fact the world should have more situated software like what I've written. But in the fifteen years since i wrote vsss, I've changed a lot. My skills have advanced true. Also my approach to disability and life has changed so that the head space i was in is no longer recognizable. As the same person. True i still believe in Free Libre and Open Source Software. As a means to achieve radical empowerment through technology for persons with disabilities of any level of support need. I have since i first read the GPL back in 2002 and i always will.

However I have come to see my initial design decisions, as user hostile. And the code which i intended to be minimal and highly adaptable is just spaghetti nowadays. I don't mean to turn this into a full page manifesto, on the evils of the disability industrial complex, or my own shortcoming, but the change i tried to make didn't happen because I was a user hating aspiring foss-techobro twatwaffle 15 years ago. And it shows.

Now i cannot and will not pledge that my reader design will be any less intimidating to newcomers, most of it will be written in Lua/Fennel (A LISP dialect). I will however endeavor, to provide sane defaults, and only show the user as much power as they need at any given moment. What does all this translate to in design goals?

#Design Goals

Everything i do herein should be designed to give the user the ultimate control over such an intimate piece of software

#Should be portable across devices, this means.

  1. We need to minimize the number of external dependencies, ideally it should be run able from a zip file or app image

#Archanist will be 100% user modifiable, this means a couple of things

  1. Need to have 100% free open source components by default.
  2. The code for at least the frontend should be written cleanly have good comments and should be written using a beginner friendly toolset. Hence Lua and love2d are preliminary choices for this role.
  3. The speech server should also be in lua although this is sort of beyond love2d's capabilities,
  4. Fennel for the preprocessing layer as i am convinced that the expressive power is needed Here
  5. The general idea is to get increasingly complex the further down the stack you go, and cleanly separate layers. Preprocessing should not bleed upward to user interface level.

#The User controls the DATA

  1. So many programs of this type in recent years have sent samples or fulltext to a third party cloud service to get around patent stuff not good idea for dozens of reasons.
  2. This means we might have to use an older speech engine like mimic1

#Run on low end hardware

  1. mimic1 stands out here as the back-end engine again, we might sacrifice certain features as stock options, but it will be worth it if we can run comfortably on a machine from 2008.

#Protect the code from low quality scalpers

  1. AGPL all the way baby