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

Allow SAPI5 voices to be instantly interupted / paused by making use of the underlying ISPAudio interface. #8174

Merged
merged 1 commit into from Apr 30, 2018

Conversation

Projects
None yet
4 participants
@michaelDCurran
Contributor

michaelDCurran commented Apr 13, 2018

Partly taken from #6166.

Link to issue number:

None

Summary of the issue:

Some SAPI5 voices, especially those from Microsoft included with Windows 8 and higher, feel as if they lag, due to the fact that interupting their last utterance does not work.
For instance, moving quickly though the synth settings ring causes these SAPI5 voices to read the entire current synth setting, rather than cutting off the end when new keyboard input is received. A more practical case would be quickly navigating up and down a document or left and right by character. In many cases the end of the line or character will be needlessly spoken.

Description of how this pull request fixes the issue:

Previously our SAPI5 synthDriver would instruct the SAPI5 engine to speak an empty string, interupting any previous speech and purging any remaining speech.
Now, we make use of the underlying ISPAudio interface to tell the audio to stop first, before we interupt and purge.
Similarly for pausing, we use ISPAudio to pause.
This allows us to instantainiously stop / pause with these newer SAPI5 voices.

Testing performed:

Tested various Microsoft voices on windows 10, noting that the lag has now disappeared.
Still requires testing on windows 7 and possibly 8. And also with some popular 3rd party SAPI5 voices.

Known issues with pull request:

None

Change log entry:

Bug fixes:

  • Newer Microsoft SAPI5 voices no longer lag at the end of speech, making it much more efficient to navigate with these voices.
SAPI5: allow SAPI5 voices to be instantly interupted / paused by maki…
…ng use of the underlying ISPAudio interface.

michaelDCurran added a commit that referenced this pull request Apr 16, 2018

@michaelDCurran michaelDCurran merged commit 1efa20e into master Apr 30, 2018

@nvaccessAuto nvaccessAuto added this to the 2018.2 milestone Apr 30, 2018

@tmthywynn8

This comment has been minimized.

Show comment
Hide comment
@tmthywynn8

tmthywynn8 Apr 30, 2018

Correction: It is #6166 rather than #7166 where @michaelDCurran wrote:

Partly taken from #7166.

tmthywynn8 commented Apr 30, 2018

Correction: It is #6166 rather than #7166 where @michaelDCurran wrote:

Partly taken from #7166.

@michaelDCurran

This comment has been minimized.

Show comment
Hide comment
@michaelDCurran

michaelDCurran Apr 30, 2018

Contributor
Contributor

michaelDCurran commented Apr 30, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment