My humble experience with YEM as a blind user and some frustrations

Started by gabrielschuck, July 29, 2022, 09:29:44 AM

Previous topic - Next topic

gabrielschuck

Hello guys,
Since I bought my Tyros5 in July of last year, I was very happy with the possibility of expanding my keyboard with new voices, in addition to being able to sample the most diverse instruments. The forum helped me a lot in this regard, mainly to discover that it is even possible to adapt virtual instruments from plugins so that they can be used within the keyboard with auxiliary programs.
I used and still use Samplerobot in my experiments to quickly clone several pianos from different kontakt libraries, even getting good results. But unfortunately, not everything is rosy.

For start and as I may have said here in other topics, I am visually impaired user. This means that, for me, the YEM (Yamaha Expansion Manager) interface is partially affordable, but not completely accessible to screen readers.
The layout of the elements does not allow the use of the usual common navigation keys (tab, shift+tab and arrows), thus making it difficult to use the application in a more practical way.
It is not possible, for example, to read with the arrows the item in focus in the list of packs or contents of a certain pack.
Screen readers have features (generally mastered by advanced users) such as navigating nvda objects and using OCR; help, but they cannot overcome all accessibility problems, making certain operations sometimes impossible to be carried out autonomously.
One of them is related to the change of the LSB Bank, necessary for packs developed by third parties and also for programmers who use voices of multiple packs in their styles.
As I am unable to do this independently, I am forced to turn to a person who sees that, depending on his experience with computers and mastery with the mouse, he will not be able to help as easily due to the complexity of the resource (drag/drop).
I've been making small scripts for personal use that automate this process with the packs I use the most (especially those from pro style music) in a really very sensitive way, but I just want to use a new pack that needs to change the LSB, until even change the order of the packs added in the program, that again the problem appears. Not to mention that for my created packs, I will also need to set an fixed LSB bank for each one when using the voices in my styles.

After that comes the insertion and organization of samples using the interface: It's impractical to do all this work with almost zero accessibility using screen readers.
I have adopted as an alternative the creation of my own soundfonts. For that, I decided to learn how to create samples in SFZ format and then convert to sf2, since YEM accepts this format as imported content and also because I understand that SF2 would be more primitive than SFZ.
Yes, I know there are also SF2 editors available, but so far I haven't seen any that are affordable and practical for use with screen readers.
I thought I'd get the same results I've gotten with samples created in SFZ converted to SF2 in YEM, since it's so simple to create one manually using notepad and knowing some of the various opcodes... I was deeply wrong.
SF2 and SFZ are two completely different formats, the latter being much better and with much more possibilities.
The latest version of soundfont is 2.04 introduced in 2005 and stopped there. SFZ continues to be used by musical instrument software companies such as Garritan and Plog. Even Garritan has an engine (Aria) developed based on the sfz format.

All this to say that, unfortunately, the results with samples in SF2 format are very limited. This also explains why many soundfonts are not very realistic compared to other sample libraries from other formats like SFZ and kontakt.
I did a test converting an sfz to sf2 and from sf2 back to sfz. Result: Some important opcodes are missing, which proves the difference between the two formats.
SF2 doesn't accept, for example, the adjustment of the velocity curve (amplitude) of the layers of a sample as in SFZ, which has opcodes for this like amp_veltrack and amp_velcurve. This is particularly useful for instruments such as acoustic drums, guitars, acoustic guitars, etc., where it is interesting to have the same volume for the articulations and variations.

I'm upset that Yamaha has to impose limits even considering they own an instrument that was top of the line in the past and which they still call "legendary" or "mystical". It has technology like Wave cycling, but it cannot be used by ordinary users, just for it.
It is not possible to have randomized samples, another example that would be useful for acoustic drums and which is perfectly possible in SFZ.
In the end, this bothers me a lot.

I think I'm the only blind user who has gone too far with YEM and is still not satisfied, adding to the aforementioned accessibility issues in the software.
Another poorly finished project that will be abandoned, just like the audio phraser and so many others.
Sorry for the rant, but it comes from a demanding musician who expected much more and who had false expectations about it.
Regards,
Gabriel
-------------------------------

keyboardist, arranger, composer and music producer

"Life is like music. It must be composed by ear, with sensitivity and intuition, never by rigid rules."

Wandogau

Hello Gabriel,
I'm not as deep in the working with YEM as you, but you said, you can create a install file .cpi for yourself?
I have JAWS and NVDA here, but I'm not able to do such simple things as creating an installation file with several expansion packs, without sighted help, even using the various mouse features of the screenreaders.
May you are willing to tell me how you get more than nothing out of YEM?

Best regards
Marco

Toril S

I am also visually impaired, and am not on good terms with YEM.
Toril S

Genos, Tyros 5, PSR S975, PSR 2100
and PSR-47.
Former keyboards: PSR-S970.

https://www.youtube.com/channel/UCLVwWdb36Yd3LMBjAnm6pTQ?view_as=subscriber



Toril's PSR Performer Page

gabrielschuck

Quote from: Wandogau on August 08, 2022, 02:57:08 AM
Hello Gabriel,
I'm not as deep in the working with YEM as you, but you said, you can create a install file .cpi for yourself?
I have JAWS and NVDA here, but I'm not able to do such simple things as creating an installation file with several expansion packs, without sighted help, even using the various mouse features of the screenreaders.
May you are willing to tell me how you get more than nothing out of YEM?

Best regards
Marco

Hello,
Yes, creating installation packs of my choice I can independently, although this part in the software could be much more accessible.
It takes a lot of NVDA object navigation to figure out the right place to click, so I decided to create a script to help me with that.
If you want I can share it here and give you tips for trying to use YEM with it. It's still not 100% functional, you'll need to have a resolution of 1920 X 1080.
So I'm obliged to know a little about programming, but my knowledge in this is limited to creating a very tentative and sensitive solution, so I didn't get to talk more about the script. But that's what I've been doing to get by with YEM.
The part that doesn't have accessibility and that I can't do alone is changing the LSB bank.
Regards,
Gabriel
-------------------------------

keyboardist, arranger, composer and music producer

"Life is like music. It must be composed by ear, with sensitivity and intuition, never by rigid rules."

alanclare

Quote from: Toril S on August 09, 2022, 02:04:18 PM
I am also visually impaired, and am not on good terms with YEM.

Toril

I am not visually impaired, and also not on good terms with YEM.

Alan

Luis Carlos GM

Quote from: alanclare on August 17, 2022, 08:54:13 AM
Toril

I am not visually impaired, and also not on good terms with YEM.

Alan
As the previous, I'm visually impaired and not? or some how? in terms with YEM.
Past Yamaha keyboards that I now don't use: PSR-S710, PSR-A2000
Current Yamaha keyboard I use: PSR-A3000
Next, or future, Yamaha keyboard I will use: PSR-A5000

Wandogau

Hello Gabriel,
Posting your script here would be very nice.
Better a way to access YEM than no way ;-)
If there are questions regarding screen resolution or something I can help too, I do JAWS scripting and programming a lot.
With best regards
Moo

gabrielschuck

Quote from: Wandogau on August 30, 2022, 12:25:23 AM
Hello Gabriel,
Posting your script here would be very nice.
Better a way to access YEM than no way ;-)
If there are questions regarding screen resolution or something I can help too, I do JAWS scripting and programming a lot.
With best regards
Moo
I am very happy for your willingness to help me.
I am now getting familiar with using scripting languages for situations like this.

One of the problems I have is that I can't get everything to work well at different resolutions.
In the case of this particular script, I chose the highest resolution available on my notebook, but I know that not everyone will have that option available.
I've done several tests with this and the result is mouse clicks in the wrong positions, often popping out of the window.
I'm still testing with a version of YEM for windows 7 on a different computer to see what happens. Anyway, I'm looking for a solution that would be less labor intensive for the script to work with the most commonly used resolutions, such as 1024 X 768, but I still don't know how.
YEM is an application made in QT, so it is difficult to guarantee mouse clicks in the correct positions. Interface elements do not have a "standard control ID" as in accessible applications that use the windows API to design the GUI.
I think the best solution is to use UIA automation, but this is far from my very little programming knowledge.

About the language used, I chose Autoit because it does not depend on the screen reader you are using. It includes the "Universal Speech" library that provides speech to the screen reader that is running.
Also, I can generate standalone executables, which makes it a lot easier.
I'm pasting the download link for the latest release below for anyone who wants to try it, published today also on my Github repository:
https://www.dropbox.com/s/rincx66oof2cpsw/gs_yem_access.exe?dl=1

In addition to the release, the source code and other instructions on how to use the script can also be found there:
https://github.com/gabrielschuck/GS-YEM-Access
Any contribution will be most welcome!

Regards,
Gabriel
-------------------------------

keyboardist, arranger, composer and music producer

"Life is like music. It must be composed by ear, with sensitivity and intuition, never by rigid rules."