Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improvements to SSML implementation and Documentation #17609

Open
badgernested opened this issue Jan 11, 2025 · 0 comments
Open

Improvements to SSML implementation and Documentation #17609

badgernested opened this issue Jan 11, 2025 · 0 comments
Labels
audience/nvda-dev PR or issue is relevant to NVDA / Add-on developers component/documentation p5 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation.

Comments

@badgernested
Copy link

badgernested commented Jan 11, 2025

Is your feature request related to a problem? Please describe.

Currently, voice is not supported by SSML implementation. I am not certain if this should be added to the implementation, and would like to discuss the viability of it, but if it is rejected, it would be valuable to document why (such as concerns with usability etc.). I was thinking that if voice is to be implemented, it could also be disabled if automatic language switching is disabled.

Additionally, some testers noted concern that prosidy modifiers, such as speed, pitch and volume do not appear to be able to be turned off with settings, although I may have missed the setting that disables these features.

There is also currently no documentation on the SSML implementation.

Describe the solution you'd like

To implement voice into the SSML implementation, or document why it should not be implemented; the ability to allow users to disable prosidy modifiers, and to produce documentation of how to use NVDA's implementation of SSML.

Describe alternatives you've considered

I dug through the source code of SpeechXml.py to figure out how it worked. I did figure it out but it took a lot of time, and I think adding documentation of the process would be helpful. Furthermore, I discovered that voice is currently unimplemented.

Additional context

I am developing an accessibility plugin for Godot that uses NvdaController.dll, and noticed that Godot 4.x allows for its native TTS functions to modify pitch, speed, volume and voices. This allows for reading in different languages and with different parameters which can be useful specifically in the case of a flashcard game, or in cases where foreign language dialog is displayed. I wanted to replicate that behavior with NVDA, but I noticed that voice was not included. I was thinking that it might be possibly desirable to allow users to customize what voice they use for a game's non-essential dialog, but I was unsure.

Additionally, I was trying to find documentation on the SSML implementation but I could only find the example python files.

@gerald-hartig gerald-hartig added component/documentation p5 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority audience/nvda-dev PR or issue is relevant to NVDA / Add-on developers triaged Has been triaged, issue is waiting for implementation. labels Jan 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
audience/nvda-dev PR or issue is relevant to NVDA / Add-on developers component/documentation p5 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation.
Projects
None yet
Development

No branches or pull requests

2 participants