Hello Lewis,
LewisAlexander23 wrote:How would the autodetect function work for a custom console build, I.E: a non standard build / known console make? I ask as my console is hand built (still tweaking it's design a touch) so it's based on a 20 stop per division, 4 manual + pedal, couplers are on the manual boards as well as pistons, etc same for trems which are at the top of the console above the solo manual, etc as well as master functions such as the sequencer. it's a console that's taken me 3 years including experimental software before I started working with a company making one of their organ systems blind friendly before official release but I'd rather have hauptwerk for a 4 manual setup and the cathedral organs I'm used to working with.
Any given virtual controls (stop, piston, keyboard, expression pedal, etc.) is auto-detected via a wizard (separately, for each control), which can be invoked by either:
1. If it's a native control within the sample set (e.g. stop), by right-clicking on the virtual control on the graphical virtual console, . Without sight, presumably you won't be able to know where to click to do that, since sample sets' graphical consoles aren't navigable by keyboard shortcuts.
2. Or if it's a Hauptwerk menu function (e.g. master general combination), by right-clicking on it on an applicable control panel (or on the Touch Menu). Those controls may be navigable from keyboard shortcuts, and thus feasible without sight.
3. Alternatively, you can use the relevant settings screen on the "General settings" or "Organ settings" menu, such as "Organ settings | Keyboards". For those settings screens you need to select the relevant item (e.g. the virtual keyboard) in the item list, then press the "Auto-detect settings" button.
However, I've checked, and the item lists on the real-time MIDI settings screens that you would need to use for 3 (e.g. "Organ settings | Keyboards") don't appear currently to be readable from screen-reader software, so unfortunately I don't think you would be able to configure MIDI to a sample set's virtual controls currently after all. The next version of Hauptwerk should fix that, so I would recommend waiting until whenever that's released, and then trying Hauptwerk again to see whether it would be usable for you.
With regard to a MIDI implementations to use for MIDI stops/couplers/tremulants/pistons if building/commissioning a MIDI organ console, here is the relevant text from the Hauptwerk user guide:
If you are building a new MIDI organ console or new MIDI hardware for Hauptwerk then we recommend that MIDI switches and pistons use MIDI NRPN-on/off messages (on value=127, off value=0) and that if a MIDI switch supports MIDI output (for example, if it is solenoid-actuated or illuminated) then we recommend that it should receive identical MIDI messages to those it sends (thus making it possible for Hauptwerk to configure MIDI output to it automatically during auto-detection).
If you are building a new MIDI organ console for Hauptwerk using MIDI encoder circuitry that doesn't support NRPNs, then we recommend instead using MIDI note-on/off messages for switches and pistons, again ensuring that each MIDI switch receives identical MIDI messages to those it sends (if the MIDI switch supports MIDI output)
If you were to make your console's stops solenoid-actuated (using a suitable MIDI implementation, as above) then you would in principle be able to feel whether any given MIDI stop was on or off.
LewisAlexander23 wrote:Does the autodetect function walk you through pressing each stop, coupler, piston, etc so that you can map out a console?
No -- you need to auto-detect each one individually.
LewisAlexander23 wrote:Based on the GUI for the organ libraries, could the QT library extend to interaction with the graphical side of the libraries, or is the design of the interface based on something else? I don't know the design method. Is there a way with the custom organ designer to embed accessibility resources in to each library, so that stops, couplers, pistons, trems, other functions, etc can be recognised and navigated / interacted with through VoiceOver / other screen readers?
Sample sets' virtual consoles are entirely graphical (they don't use Qt buttons, or operating system buttons, for example), so you wouldn't currently be able to navigate them with keyboard shortcuts, or use them from screen reader software, I'm afraid. In order for them to be usable we would need to develop an alternative mechanism (e.g. a new window containing standard text-based Qt/operating system buttons for the stops and pistons). We do have that logged as an enhancement request (but I can't promise when, or even whether, it will be implemented).
Hence at the moment, the only way that I think you might be able to use it is if you auto-detected them to physical solenoid-actuated MIDI stop switches and MIDI pistons (and in order to auto-detect them you would either need help from a sighted person, or to wait for the the next version of Hauptwerk so that you could auto-detect via their settings screens from screen reader software).
LewisAlexander23 wrote:One solution I thought about was based on a GUI description by a friend and Hauptwerk owner who described one of the libraries he uses where instead of the console view, it showed as a dual jamb view, but with that dual jamb view which would be ideal for touch screens, it would also extend to adding the necessary functions like general pistons, divisional pistons, couplers, trems, etc, the vitals basically of a 4 manual console, so you could have to the left of the panel the pedal as column 1, Choir as column 2, Great as column 3, Swell as column 4, solo as column 5, from there to the bottom of the page you could have couplers, trems and sequencer buttons and furthest right to the columns for divisions, the divisional pistons and general pistons to top. the screen reader can easily navigate this as I've worked with someone on a concept for another system a while back and it worked quite nicely, but wasn't designed for hauptwerk, but could be.
...
would it be possible, without voiceover, but by using either macOS or Windows speech synthesis engine, to have stops, pistons, etc spoken out from a midi event, say you engage a stop for an 8' flute, the midi event would trigger the speech server to announce "Great - 8' flute ON"
...
regarding my suggestion about an option which could be turned on and off in preferences for hauptwerk for spoken announcements, I don't know if you know much about a developer called Native Instruments, a good company, they develop the Komplete Kontrol series hardware controllers and the software called Komplete Kontrol. Part of the software's support includes spoken announcements for the blind, it doesn't use a screen reader, it relies on either the microsoft or macOS speech synthesis server / engine to announce events. With the komplete kontrol setup, you're relying on the software with the function enabled, so that any button press is spoken, control knob change is spoken, etc, the problem with the software is that a screen reader doesn't actually work with it due to the way it's been developed, so it has a bit of an aronic method. I used to use their software and hardware but became so fed up of the fact the software itself couldn't be navigated by a screen reader either in Windows or MacOS, yet they expected blind users to set up the software using "sighted help" just to achieve the spoken UI, yet the laugh of it was that the Native Instruments software installer and manager is blind friendly, odd but ah well.
so, is there a series of components or resources as part of QT or other tools in your box of tricks which could call upon the speech server to announce events based on midi event triggers? if so, that would provide a blind person with a unique opportunity.
One challenge I face at times as an organist is when I work at a location with a console I don't know it's layout or it's stops, so either sighted help from the senior or assistant organist to the site, or if my ORCAM MyEYE Pro can handle it or just feeling my way around and learning the environment, it's a challenge. This is why I started researching and trying to develop an environment for blind organists where a console can speak out functions through either the system audio or dedicated audio interface to an ear bud while the main console audio goes through it's own interfaces.
Is this something you think you could achieve? if so, I'm up for helping you achieve it and test it.
Thanks very much for the suggestions, and offer. I've added your notes to our enhancement request log for reference. It isn't something that I can be involved with at the moment, I'm afraid, and we can't make any promises about when (or even whether) any given enhancement request would be implemented, but it's logged so that it won't be forgotten and can be considered for the future, and we do of course consider it desirable for Hauptwerk to be as usable as possible by visually-impaired users.
As above, I'd recommend waiting until the next version is released, then re-testing it, and seeing whether using it via solenoid-actuated MIDI stops and MIDI pistons would be viable for you at that time.
Best regards, Martin.
Hauptwerk software designer/developer, Milan Digital Audio.