Skip to content

Fallback to eSpeak if OneCore voices are not installed#12646

Closed
seanbudd wants to merge 4 commits into
masterfrom
fix-10451
Closed

Fallback to eSpeak if OneCore voices are not installed#12646
seanbudd wants to merge 4 commits into
masterfrom
fix-10451

Conversation

@seanbudd

@seanbudd seanbudd commented Jul 14, 2021

Copy link
Copy Markdown
Member

Link to issue number:

Fixes #10451

Summary of the issue:

If a device has no OneCore voices installed, speech fails by default when starting a new NVDA copy.

Description of how this pull request fixes the issue:

Consider OneCore as unusable if there are no available voices

Testing strategy:

  • Manual confirmation that this issue still exists on the latest alpha build
  • Manual confirmation that the PR build fixes this issue on devices without any OneCore voices installed
  • Manual confirmation that all NVDA synths still work

Known issues with pull request:

#11544 is still a current issue

Change log entries:

Bug fixes

- NVDA will default to eSpeak if no OneCore voices are installed on the device. (#10451)

Code Review Checklist:

  • Pull Request description is up to date.
  • Unit tests.
  • System (end to end) tests.
  • Manual testing.
  • User Documentation.
  • Change log entry.
  • Context sensitive help for GUI changes.
  • UX of all users considered:
    • Speech
    • Braille
    • Low Vision
    • Different web browsers

@codeofdusk

Copy link
Copy Markdown
Contributor

Maybe only disable this for silence rather than only enabling for OneCore?

@seanbudd

Copy link
Copy Markdown
Member Author

Maybe only disable this for silence rather than only enabling for OneCore?

It's an easy fix for silence, I am concerned about breaking existing custom synthDrivers that could be installed as addons.

@AppVeyorBot

Copy link
Copy Markdown

See test results for failed build of commit 4042bf9ab2

@seanbudd

Copy link
Copy Markdown
Member Author

I'm applying this check to oneCore only as it broke the system test synthdriver and I imagine it will break many others.

@seanbudd seanbudd marked this pull request as ready for review July 15, 2021 00:28
@seanbudd seanbudd requested a review from a team as a code owner July 15, 2021 00:28
@seanbudd seanbudd requested a review from feerrenrut July 15, 2021 00:28
@seanbudd seanbudd marked this pull request as draft July 15, 2021 00:28
@seanbudd

seanbudd commented Jul 15, 2021

Copy link
Copy Markdown
Member Author

Hi @MarcoZehe, @VovaMobile and any others running a Windows copy which has no OneCore voices installed.
Can you please verify that:

  • the latest alpha build of NVDA still replicates this issue, such that there is no speaking by default unless the synthesizer is changed manually to espeak
  • this PR build fixes the above issue

PS:
You can confirm your device has no OneCore voices by doing the following:

  1. Go to Windows "Speech" settings
  2. Check "Installed Voice packages"

@seanbudd seanbudd marked this pull request as ready for review July 15, 2021 00:33
@VovaMobile

VovaMobile commented Jul 15, 2021 via email

Copy link
Copy Markdown

@MarcoZehe

Copy link
Copy Markdown
Contributor

My case was a bit different I believe. I had German voices installed, but Windows hadn't included English ones. NVDA acted up when it's automatic language switching wanted to switch to English on a website. I am currently not in a position to test this PR, sorry.

@seanbudd

Copy link
Copy Markdown
Member Author

My mistake, in this case it would probably be better to handle this on failure or on handling LangChangeCommand

Closing in favour of a more generic approach in #12647, and a targeted approach when changing languages

@seanbudd seanbudd closed this Jul 16, 2021
@seanbudd seanbudd deleted the fix-10451 branch July 16, 2021 02:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Windows OneCore, if a given language isn't installed, speech does not fall back to default voice

5 participants