Accessibility for sight impaired users

Would the screen reader be able to pick out text in a vnc screen?

nope. As said before. VNC’s are network device inter-operative only on the basis of key strokes / mouse pointer behaviour, they cannot provide direct audio or run a screen reader line, just not viable, especially when it’s a network principle.

There is a synth on the market and rather expensive, just a synth, not a workstation, it relies on wireless connectivity and uses a web UI which allows a blind user to interact, that’s using an http based editor resource, a good tool and have tried it but that is not a VNC structure. VNC’s have always been useless for blind users, nearest is terminal work, but try programming an instrument through terminal, you’ll be there days.

lew

so as there’s no native window manager, etc, it’s based on a plain menu UI right?

what is the OS running it? A screen reader doesn’t actually need complex GUI’s, it can work natively, even in shell / bash. the screen reader doesn’t actually rely on graphics, it’s object code and definitions as an example. Without me knowing what the OS is, how it’s built, then I can’t say for certain how best to advise a screen reader would work.

let’s go back about 30 years to DOS / AIX and the early years of Mac OS, for me, Mac OS, speech synthesis was either plaintalk using OutSPOKEN or hardwaer speech engine, the same was achieved on DOS machines using hardware speech engines and command based screen reader tools, it didn’t as such rely on a GUI.

One thing I could think of, but not sure how viable it would be, technically as it’s an SBC of it’s own, if an App could take over, but not a VNC, the UI of the external app has to purely control and navigate every single inch of the software used on the device. these things get really messy.

A lot of people misconstrue the screen reader as seeing images, nope. it’s all code definitions, object references, window management, tool management, UI based on cursor, etc. but in the case of Zynthian, keyboard and mouse aren’t needed, the “Virtual Cursor” of a screen reader is taking the place of the select element.

lew

This is just what we are implementing right now. And it works nicely. I’m really happy with the result. Currently, i can close my eyes, boot my zynthian and run my favorite engines, select my favorite presets, play my keyboard (not too well, as i’m not good enough for playing without my eyes :blush:) and save my layer config.
Of course, not all functionality is accesible in such a way, but all the basics are, and we could reach the 80% with little effort. Reaching 100% is challenging.

Regarding the reference hardware, It has 4 rotary with push buttons and 4 rubber push buttons. The rotary push buttons are not assignable. They have fixed, but sometimes contextual, functions. The 4 rubber push buttons are fully assignable to MIDI messages or UI actions.

The UI uses 3 types of push actions: short, bold and long. You can configure the timing.

I will record a session for your ears so you can judge. Of course, for feeling the rotary moving in your fingers, you would need a unit.

I could send you one for testing.

All the best!

2 Likes

In all the years I’ve worked with and for some particular music hardware and developers, you’re the first and I mean the first to grasp the challenges and problems first hand. It’s early tuesday morning, got your message last night but fell asleep. You have put a smile on my face. Between you, @riban and @wyleu you guys have been amazing from my first point of contact on here and I’m touched by this… no… not in that way lol

I’ll PM you re testing later today as it’s a bit of a busy morning and just catching up on a few urgent bits.

lew :slight_smile: :smile:

Don’t worry all we want is a : :face_with_monocle:: or two…

1 Like

lol. the description of that emoji throws me a touch lol, never heard an icon described that way before, "face with monocle” lol

Wow, it’s very warm here, nearly 6:45 am, birds are singing and sun is sending heat through the windows. guess I better get ready to get out to get shopping for mum and I done while it’s quiet.

lew

Here’s an interesting question. so just bare with me. What are the colours used within the UI for the display? are there ways to change this within the admin or user settings? I ask as with sight impairment in different spectrums, it would be useful to provide high contrast / easy to read display info, besides a screen reader based interface for the blind. What if your vision is a bit poo and you struggle with the default colour scheme, if there’s a way of changing colour / font scheme, that would be a good thing. Maybe if another physical version were made available with an improved size screen, say the size of the korg kronos or there abouts, it would make usability better for sight impaired users who want a touch view interface. Just a thought. I’m just thinking of other requirements for sight impairment besides full blindness here.

lew )

Hi,

Yes, by using the webconf tool in Interface → UI Options menu item. By checking the “advanced view” checkbox, there you can configure:

  • Font size
  • Font family
  • Background color
  • Text color
  • Panel background color

Regarding display size, the official kit comes with a 3.5 inch display, but the zynthian software support other displays too. You will find the list in the source code of the web configuration tool: zynthian-webconf/lib/display_config_handler.py at testing · zynthian/zynthian-webconf · GitHub

Sounds impressive. now if a version of this were to feature say either a 7” touch panel or something like that in a larger case, maybe a few hardware options such as supporting either PCIE M2 SSD for sampling support etc or a SATA M2 SSD or something like that, I think that could be worth playing with for the more pro / stage users.

Thank you so much for the info there, grand.

as soon as I take one of these on for accessibility test / dev, etc, then I can get to grips with the webconf tool, etc.

lew :slight_smile:

You can plug in an external HDMI monitor, configure in webconf and have a monitor of any size. My 55 inch TV proved a little too big to fit in my gig bag!

I do have a 7 inch HDMI touch screen powered by USB which works well.

lol. I would have to be mad to think of transporting something like that. no, hang on. In my younger days, I used to have to transport a powermac G4 MDD loaded with Protools TDM interfaces, disks, etc and then the 882/20 breakouts and snakes for recording jobs between college and Uni, before moving to then Protools HD9 onwards, now logic Pro X on a macbook pro. to be honest, size doesn’t matter llol :slight_smile:

it’s the thought of a larger touch screen for sight impaired users who still want to use a touch environment.

The first touch display I used was a korg trinity that was before I lost my sight, tried working a triton classic blind, no chance. so owned a triton rack expanded to heck instead.

The funny thing of the zynthian is, it reminds me of that rackmount synth system you could install windows based VST’s etc on and have it as an instrument host. forgot the name of it.

One thing I’d love would be to have something like the Korg M1 and Wavestation plugins on the zynthian, but korg didn’t do that, just windows and mac.

lew :slight_smile:

Another raw asset starting point: Linux Text to speech (results of a quick web survey)
perhaps for optional speech output of the current LCD UI selection, which a standard screen reader setup might not handle.
There are a few command line text to speech utilities, said to work with raspian
I imagine setting up a separate monitor output channel might be the big challenge.

Speech Synthesis on the Raspberry Pi - A fairly recent Adafruit tutorial
featruring Festival and Flite

* spd-say  (called by speech-dispatcher)
*sends text-to-speech output request to speech-dispatcher

sudo apt-get install speech-dispatcher

Use: spd-say “Your text”

Speech-dispatcher review
Works with these text to speech engines:

  • espeak-ng
  • festival
  • flite (festival “light”)

speech-dispatcher-utils apparently includes spd-say to speak terminal’s speech output

. - - - - - Trivia - - - - -
There are drivers bundled with salvaged word sets using the proprietary Speak-n-Spell speech compression scheme devised by Texas Instruments some 40+ years ago. This article includes a little video playing a sample of the aeronautics instrumentation related vocabulary., played on an arduino nano
Some created the ChipSpeech plugin (NKS? format) based on these ancient these speech samples.

1 Like

Thanks for that, that’s great info, I’m not 100% up on linux screen reader support, so that’s hhelped. It does seem viable that the speech output can be routed to the pi’s system output and not the hat. If you think of it with other operating systems, any audio interface can be configured to perform specific functions. good example here. My mac uses system output for voiceover, so either headphone or system speakers handle that. Audio system for production goes to the Focusrite Clarett. Shame these don’t work on linux based systems.

anything is routable, the trick is either in a setup like this, to send the speech output to the headphone out of the pi board or to a pair of speakers, then the rest of the synth’s services are routed to the hat or suitable interface. I wouldn’t worry about that, it’s being looked in to.

You’ve given me a lot of food for thought there and thank you. I’m sorry if I came down a little hard on some of your concepts, etc they’re good and good food for thought, but in a particular project need, not viable lol. Sorry if in any way I’ve annoyed or offended you at all. You clearly put thought in to what you’re researching and it brings up interesting avenues.

lew :smiley:

@lewisalexander2020 what a thread, lots of information, I’ll read through it all soon !

I’m Raphaël from Organnery, and to come back to the beginning of the thread, I can say that our Aeolus version also has added more midi controls for stops just like the link shared by @MaxMaxis (the documentation is soon to be released) , and we’re working on adding OSC, so exernal control should be easier, either using aeolus in Organnery or on Zynthian.
More news when I’m back on it.

5 Likes

AH! The god of Organnery is here! Heaven be praised! Glad you’re here. I’m looking forward to a system arriving with Aeolus being installed by my contact in the UK. (martin). so will be here some point next week ish. time to look in to things further.

Could we fire that out as sysex?

1 Like

I don’t see why not :). if the element could be considered as an interactive / refreshable element, then a button could be assigned when pressed, to speak out the contents of, or if a long press was given then it could be achieved. this is what I’d call “open scope” accessibility development.

I’m so glad I came here, fait guided me this way. now my guy from Organnery is here, makes things even better.

lew

I have been testing the development branch and reported some issues. I have tried a few different voices and they all have problems with pronunciation and intelligibility. Also I haven’t found a way to add pauses, intonation or inflection.

I tried with espeak and despite sounding more artificial, it is easier to get it to speak intelligibly, e.g. it interprets numbers and letters as part of a word correctly and pauses and applied appropriate inflection before and after punctuation. I will add an espeak engine to complement the festival one so that we may choose between them

@lewisalexander2020 have you experience of these two text to speech engines?

1 Like

If memory serves me right, espeak is the best way around it. it’ts been some time since I’ve sat at a linux rig as I’m purely a mac guy, mac developer, etc. so I guess I need to set up a linux rig at some point, when there’s time and cash. right now after yesterday’s hell, my plans are slightly out of the window.

Speech engines themselves can be somewhat buggy, it’s partly to do with the audio system and partly to do with the screen reader’s behaviour. depending on what the screen reader has going, there’s a few things to turn off or change, like removing speaking hints / tooltips, turning verbosity from high to low as a good example because that decreases the process chain of the speech engine’s constant output. What I need to do is sit down with a linux setup and really get to grips with it again.

lew