nvaccess / nvda

NVDA, the free and open source Screen Reader for Microsoft Windows
Other
2.08k stars 626 forks source link

Respect "spelling functionality" setting for Windows OneCore voices #8237

Open tmthywynn8 opened 6 years ago

tmthywynn8 commented 6 years ago

Currently with the native OneCore driver for NVDA, it does not respect the "spelling functionality" setting within voice preferences. While I understand the reason for it is to enable said characters to be effected by pitch changes, it also breaks the intelligibility or changes the pronunciation some letters when using other languages, in my test case Vietnamese. Also, depending on the voice and/or configuration used, the pitch changes of capitalized letters may be subtle or hard to notice if one does not know the baseline for each letter anyway(see issue #7514).

So when users are using the OneCore voices, maybe the spelling functionality setting should be unchecked by default for the pitch changes, but if the end user decides to use spelling functionality, it should correspondingly be observed by the OneCore NVDA driver? Note that I have not double checked whether said spelling functionality is synthesizer-specific—I am assuming that it is for now.

Steps to reproduce:

  1. Switch to the "Windows OneCore voices" synthesizer.
  2. In voice preferences, check the "Use spelling functionality if supported" check-box.
  3. Open Notepad.
  4. If not enabled, enable the speaking of typed characters.
  5. Type a few letters, e.g., "AĂÂ".
  6. In voice preferences, uncheck the "Use spelling functionality if supported" check-box.
  7. Switch back to the Notepad window, and Type a few letters, e.g., "AĂÂ".

Expected behavior:

When spelling functionality is used, NVDA should be invoking the pre-recorded letters and numbers that Microsoft provides while spelling or otherwise uttering letters. When disabled, letters and numbers should be processed by the text-to-speech engine rather than the recorded clips. Note that if there is an increase in rate, the rate will accordingly change in the recorded clips as well—the only feature not implemented for said clips is pitch from the testing performed.

Actual behavior:

There is no noticeable difference in behavior regardless of the the spelling functionality's checked state. Using the Vietnamese voice (Microsoft An), for example, the Vietnamese alphabet pronunciations are different depending on whether it is being spelled or not—source. If you listen closely to the rendering of the Vietnamese alphabet by the recorded clips and the text-to-speech version, you will notice that the first three letters—AĂ—have vastly different pronunciations that the text-to-speech version does not exhibit (see alphabetSample.zip). This pattern continues for the majority of the remaining 26 letters—the tone marks are not even being considered in this test case.

System configuration:

NVDA version:
master-15089,482e916c

NVDA Installed or portable:
Installed

Windows version:
Windows 10 Version 1709 (OS Build 16299.402)

Name and version of other software in use when reproducing the issue:
Microsoft An - Vietnamese (Vietnam)

Microsoft Mark - English (United States)

Other questions:

Does the issue still occur after restarting your PC?
Yes

Have you tried any other versions of NVDA?
2017.3 onwards—testing the spelling functionality when using the OneCore voices every now and then. Can download and test each release version to double check if requested.

nvdaes commented 5 years ago

Hi, a user is also requesting this on an NVDA's mailing list for Spanish speakers:

https://nvdaes.groups.io/g/lista/message/498

Thanks for taking care and for all your good work.

tmthywynn8 commented 3 years ago

Do we know how trivial this is to fix? Or are there other underlying issues that need to be addressed before this can be resolved?

tmthywynn8 commented 1 year ago

Any chance of getting this into 2023.1 of NVDA? This is nonstandard behavior which isn't reflected in Narrator, plus we have the Use spelling functionality checkbox, and that's respected in the SAPI5 driver when using the same voice (mobile vs. desktop). #CC @seanbudd.

tmthywynn8 commented 8 months ago

Any chance of getting this bug resolved in 2024.1 of NVDA? This is nonstandard behavior which isn't reflected in Narrator, plus we have the Use spelling functionality checkbox, and that's respected in the SAPI5 driver when using the same voice (mobile vs. desktop). #CC @michaelDCurran