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

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

michaelDCurran
Copy link
Member

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

…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
Copy link

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

Partly taken from #7166.

@michaelDCurran
Copy link
Member Author

michaelDCurran commented Apr 30, 2018 via email

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