submitted 5.269962448559671y ago by genericblindman
I'm practically blind, going to lose the remains of my sight eventually. Have tried using screen readers before (NVDA, ZoomText and Emacspeak) before but stopped because they were all but unusable even compared to my eyes now. But I might be going into a programming bootcamp and I know that eventually screen readers are going to be my only option. So I'm forcing myself to use them again. Right now Emacspeak is the only one that is available to me as my main computer is just a raspberry pi 3. Surprise surprise it's a nightmare. I know emnacspeak in particular is supposed to have a high learning curve that promises to have this amazing payoff but I ain't seeing it yet. I'm really annoyed at how there seems to be no documentation for it anywhere. The only guides or tutorials I can find for it are from the late 90's and very early 2000's. You'd think someone would've updated those by now. Not only that but the actual voice synthesizer it uses, espeak, refuses to not read every single piece of punctuation ever, in full, every single time. Despite the fact that emacspeak uses sound tones elsewhere to denote things like moving to empty lines. It makes the speech grating at best and completely unintelligible at worst. I mean really, why couldn't there just have been a dot sound for periods and a quote sound for quotation marks, etc? From what I've read it sounds like espeak supports things like that as it is so mit makes no sense. Also, when shifting lines and chunks of text it will continue to read whatever I was previously on making it impossible to tell where I've even gone unless I wait forever for it to finish and figure out I've stopped moving instead of just clearing the espeak buffer and refilling it with text at the new location. I can't see how this is intended behaviour given how unusable it makes emacspeak. So I've looked around myself for any sort of solution to these problems and have found nothing. Supposedly you're able to use eflite for the speech engine and it's recommended over espeak but despite following teh spares tutorials that require me to go into system config files and everything, which itself is retarded to force an end user to do, I've yet to get it to work. Again, you'd think customizing voice settings on a screen reader would be a very easy thing you'd want an end user to be able to do but apparently not. I'm lucky that I'm incredibly tech savvy and know how to do some of this stuff as is but I can't imagine what it would be like for, say, a 65 year old with macular degeneration who's barely conscious that computers even exist. I know emacspeak is technically just an emacs module but still. Right now I seriously don't understand why emacspeak has the reputation it has for being such an amazing screen reader. It's all but unusable as far as I can tell. The sheer amount of time and effort I've had to spend just getting it to work to the point it does is a joke. Seriously, if this is what using a computer is going to be like when I lose my remaining tunnel vision, I'd much rather give up entirely. I've already had my life stolen from me thanks to genetic bullshit, I'm not going to put up with this shit too. The only other things I can think of is that maybe somehow the raspberry pi is causing problems. But I doubt it given how it performs on everything else and emacspeak was bundled into Raspbian by default so I'd expect it to be a stable version.
Amonwilde2 points5y ago
The Emacspeak docs really stink. It's a hard program to install and I'm surprised you even got it working on a Pi. With that said, Emacs is amazing and the fact that you can edit it in real time to fix issues is perfect for blind people who have different needs from everyone else.
I'm low vision and what i do is have three or four functions that read stuff out to me. I have one that reads the current line and goes to the next one, I have one that reads the rest of the buffer from the point, I have one that reads the whole buffer, and I have one that reads the name of the current buffer. Between those I'm pretty much set as a low vision person who can magnify to see little annoying syntax features.
I also have a library, Eloud, that does some of what Emacs does for a more low vision crowd.. It's pretty rough right now, but during the summer I should have some time to make changes. (I'm an academic.)
https://github.com/smythp/eloud
Anyway, let me know if those functions would be useful to you. I've been meaning to build that stuff into Eloud and make it so that people can choose different levels of verbosity. I might do that in June/July if there's interest.
TheBlindBookLover1 points5y ago
Hi. I am not a computer programmer, but I did find a video that you might find helpful. Also, I know that it is frustrating, but becoming proficient in braille will benefit you in the long run. I hope that this helps. https://youtu.be/iWXebEeGwn0
BlindGuyNW1 points5y ago
Emacspeak does take some getting used to. A lot of the documentation is in the ELisp files themselves. The author actually maintains his personal copy in a Git repository, which he commits to fairly often, so it's definitely worth checking there if you haven't already.
It is possible to use emacspeak with hardware synthesizers, which might be a bit more intelligible. If you can get a DecTAlk USB you can connect that via a serial/USB adaptor and it will work quite well. Another option is to switch the punctuation level on a per-buffer or global basis, with c-e d p.
genericblindman [OP]1 points5y ago
Well at least the documentation exists somewhere. I'll have to see if I can find it. I'm glad there's at least some way to change punctuation settings. I hope I can find more stuff like this in the documentations. Don't get me wrong, Emacspeak has huge potential, that much is obvious from the use of tones that I've already seen. I just got really, really frustrated at the inability to find any docs or change any settings. Thanks for your help.
Ramildo1 points5y ago
I can confirm that blindness sucks all the fun out of coding even when you have the best tools at your disposal, which in my opinion are Visual Studio with the Code Talks extension and NVDA. It's not impossible, but the fact that code becomes so much harder to read forces you to waste a lot more mental resources maintaining a detailed representation of code in your brain. There are people out there who code blind, but personally I have all but given up because I can no longer trust my own code. Before going blind I could easily write 5000 lines of code without a single mistake; nowadays I can't even write 5 lines of code without a syntax error, let alone runtime bugs that aren't caught by compilers.
I've never used EMACS as I used to be more of a vim user, and while I never cared much about IDEs back when I had sight I can't really code without them now. Raspian is definitely not a good OS choice for someone planning on going all in with screen-readers.
genericblindman [OP]1 points5y ago
I don't plan on doing this immediately but I'll probably end up writing my own thing that allows me to search text based on curly braces, semicolons and probably keywords of various languages like class, void, static, etc. Then I'd be realeasing it as free and open source because really, if something like this doesn't already exist, it should.
[deleted]1 points5y ago
[deleted]
redstone13371 points5y ago
Do you also use a Braille display. I think that would improve things.
Ramildo1 points5y ago
I read Braille at like 2 words per minute and have no motivation to train it further.
redstone13371 points5y ago
Braille has genuine advantages over TTS. You can read privately while still being aware of things going on around you. It also makes programming and IT much better. Catching syntax errors is much easier. I always enjoy picking up on the nuances of punctuation when reading braille.
It's difficult at first, but worth it. The Orbit Reader 20 should finally be out this summer, so you can have a decent braille display for under $500.
If you're like me there's some embarrassment that comes with slowly struggling through the simplest texts, but you won't improve without reading. Getting kids books you enjoyed when you were young and reading through them again is a good way to pick up speed.
There's a Linux daemon called brltty that can drive a ton of different displays, and it seems surprisingly robust given the time I've been able to use it. Using vim with it looks doable, but I didn't get to play with it for long. It has some limited speech output, but I can't seem to get that to work.
Our mission is to provide everyone with access to large- scale community websites for the good of humanity. Without ads, without tracking, without greed.