Improvements to SSML implementation and Documentation #17609
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.
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 ifvoice
is to be implemented, it could also be disabled if automatic language switching is disabled.Additionally, some testers noted concern that
prosidy
modifiers, such asspeed
,pitch
andvolume
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 disableprosidy
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.
The text was updated successfully, but these errors were encountered: