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

OneCore speech: do not append silence at the end of every speech utterance #8985

Merged
merged 4 commits into from Nov 28, 2018

Conversation

Projects
None yet
4 participants
@michaelDCurran
Copy link
Contributor

michaelDCurran commented Nov 27, 2018

Link to issue number:

None.

Summary of the issue:

By default, OneCore speech appends a large annoying chunk of silence at the end of every speech utterance. For example, when NVDA announces a newly opened dialog, there is a large chunk of silence after announcing the dialog itself, and befor announcing the control with focus within the dialog.
Up until the Windows 10 Fall 2017 release, it was impossible to disable this feature.
As it is now possible to disable, NVDA should.

Description of how this pull request fixes the issue:

Code taken directly from #8934. If supported, this PR sets OneCore speech's appendSilence synth option to the minimum value (essentially disabling the feature).

Testing performed:

Tested NVDA using OneCore speech on Windows 10 Fall 2018: silence is no longer appended.

Known issues with pull request:

None.

Change log entry:

Bug fixes:
OneCore speech synthesizer: On Windows 10 Fall 2017 and above, large chunks of silence are no longer inserted between speech utterances.

OneCore speech: where supported, disable onecore from appending silen…
…ce at the end of each speech utterance.

@michaelDCurran michaelDCurran requested a review from jcsteh Nov 27, 2018

@josephsl
Copy link
Collaborator

josephsl left a comment

Wait, if API level 7 is in use, then it'll be limited to Version 1809 (October 2018 Update) and later, whereas the PR description says fall 2017 (Fall Creators Update), which defines API level 5.

@josephsl
Copy link
Collaborator

josephsl left a comment

Correction: it is API level 6 (April 2018 Update), as seen from the following:

https://docs.microsoft.com/en-us/uwp/api/windows.media.speechsynthesis.speechappendedsilence

Thanks.

@jcsteh

jcsteh approved these changes Nov 28, 2018


OcSpeech* __stdcall ocSpeech_initialize() {
auto instance = new OcSpeech;
instance->synth = ref new SpeechSynthesizer();
// By default, OneCore speech appends a large annoying chunk of silence at the end of every utterance.
// Newer versions of OneCore speech allow disabling this feature, so turn it off where possible.
if (ApiInformation::IsApiContractPresent("Windows.Foundation.UniversalApiContract", 7, 0)) {

This comment has been minimized.

Copy link
@jcsteh

jcsteh Nov 28, 2018

Contributor

Joseph is correct: this should be 6, not 7. I'm not sure where I got 7 from. :)

@michaelDCurran michaelDCurran merged commit 9e5f410 into master Nov 28, 2018

1 check passed

continuous-integration/appveyor/pr AppVeyor build succeeded
Details

@nvaccessAuto nvaccessAuto added this to the 2018.4 milestone Nov 28, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.