Skip to content

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

Merged
michaelDCurran merged 4 commits into
masterfrom
oneCoreDisableAppendSilence
Nov 28, 2018
Merged

OneCore speech: do not append silence at the end of every speech utterance#8985
michaelDCurran merged 4 commits into
masterfrom
oneCoreDisableAppendSilence

Conversation

@michaelDCurran

Copy link
Copy Markdown
Member

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.

@josephsl josephsl left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 josephsl left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread nvdaHelper/localWin10/oneCoreSpeech.cpp Outdated
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)) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
@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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants