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

Use OneCore speech on windows 10 by default rather than eSpeak #8176

merged 1 commit into from Apr 30, 2018


Copy link

@michaelDCurran michaelDCurran commented Apr 13, 2018

Link to issue number:


Summary of the issue:

For many years, NVDA has used eSpeak as its default voice because we could not trust the quality or existence of SAPI4 or SAPI5 voices on each machine NVDA is run on. However, as much as eSpeak is very popular with power users, it is not very well liked at all by beginners. It would greatly help the update of NVDA if we could default to a nicer sounding voice.

Description of how this pull request fixes the issue:

Windows 10 now comes with OneCore speech voices. There are mostly high quality, and most of the major languages in Windows now have speech packs meaning that the vast majority of Windows 10 machines will now come with a suitable voice included.
This PR changes the default synthesizer on windows 10 from espeak to oneCore. If for some reason the machine does not have any oneCore voices (I.e. the synthDriver fails to load, then it will still fall back to eSpeak). On previous Operating systems, the default remains as eSpeak.

Testing performed:

Ran NVDA with a new configuration on both Windows 10 and Windows 8. The Windows 10 NVDA chose oneCore, the Windows 8 NVDA chose eSpeak.

Known issues with pull request:


Change log entry:

The default speech synthesizer when running on Windows 10 is now oneCore speech rather than eSpeak.

…speech by default, falling back to eSpeak if no voices are available. Previous Operating systems still use eSpeak by default.
@michaelDCurran michaelDCurran requested a review from feerrenrut Apr 13, 2018
Copy link

@codeofdusk codeofdusk commented Apr 13, 2018

Does this only affect new installs? I don't think we should override the synth on update (in other words, if a user set their synth to Espeak/it was set as the synth due to the old default behavior, we shouldn't change to onecore on update).

Copy link
Member Author

@michaelDCurran michaelDCurran commented Apr 16, 2018

@codeofdusk this will only affect the first time you run NVDA with no existing user configuration. As soon as configuration is saved, the active synth is placed in the config it seems.

michaelDCurran added a commit that referenced this issue Apr 16, 2018
@michaelDCurran michaelDCurran merged commit 84d3e27 into master Apr 30, 2018
@nvaccessAuto nvaccessAuto added this to the 2018.2 milestone Apr 30, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

4 participants