Fix for SAPI5 synthesizers missing some messages#11586
Conversation
|
I vote this to be merged to beta, as it is a minimal change
Cc @feerrenrut
|
|
@dawidpieper Is there an issue you can reference for this? It would be helpful to have steps to reproduce. |
|
This could potentially be included in the beta, it would need to be rebased first though. |
|
It is a longstanding issue from the speech refactoring in 2019.3
Steps to reproduce are:
1. Install demo version of any of the ivona voices from the www.harposoftware.com <http://www.harposoftware.com>
2. Keep turned speaking of the individual characters nvda+2
3. On the desktop, press individual letter on which the name of any icon starts. It will speak just the individual letter you pressed, but not the named icons. We cannot expect fix from the synth manufacturer, as Ivona is now part of Amazon, and harposoftware just sell these
|
|
It will be good to have this in beta, as there are users who want to use these synths, and there is no suitable variant, as newer synhs tend to pronounce words wrongly
|
|
@dawidpieper Could you rebase this onto beta or do you need any assistance? |
a4e29ab to
c07a2e9
Compare
See test results for failed build of commit 260f8e509a |
422786e to
a3a16a3
Compare
|
Sorry for the confusion, I hope it is okay now. |
See test results for failed build of commit c7cd8c2a48 |
|
I can see now that this issue is already mentioned as #10901 |
|
After discussing this a little, we'd like to investigate why indexes are sent to the synth without content which seems like the the real cause of the bug. The first step to investigating this would be to add a unit test for speech manager that replicates the behavior. There are lots of other tests for speech manager, see |
|
Hi
It is the driver thing, not the speech synthesizer one.
|
|
Some synthesizers just complete speech sequence after last command, ignoring last indexes. It does not seem to be NVDA issue. You can test it with simple xml: <Bookmark Mark="test_1" /> You get test_1, test_2 and test_3 bookmarks, but some synthesizers will never report test_4. Tested it also with this example VB code: |
|
That is helpful to know, and might be documented better in NVDA. We also have |
|
And we can also queue the messages instead of waiting for them with bookmarks, I think. |
feerrenrut
left a comment
There was a problem hiding this comment.
@dawidpieper Thanks, we'll merge this for now. We plan to replace this approach in 2020.4 with #11651
|
Hi, The issue is not fixed for the LH TTS voices that is described in issue 10901. I'm still experiencing the same behavior as before this recent change. Thanks, Brandon |
|
While this this seems to fix Ivona synth, this introduces regressions for other synthesizers. I'm going to revert this from the beta, there is already a more robust fix delivered to master see "Speech manager no longer sends synths utterances containing only param change and index commands." #11651 Further fixes should target 2020.4 |
This reverts commit de18dc1.
Issue:
Fixes #10901.
Summary of the issue:
In NVDA 2019.3, some indexes are not processed by SAPI5 synthesizers. As a result, for example, when expanding Windows tray or navigating using letters (with characters echo enabled), some information is lost: here icon names.
Description of how this pull request fixes the issue:
As a workaround, we add a 1msec delay after all messages sent to synthesizers, similarly to the workaround for SAPI4 (#10792).
Testing performed:
All tests passed, problem seems to be fixed.
Steps to reproduce:
We cannot expect fix from the synth manufacturer, as Ivona is now part of Amazon, and harposoftware just sell these
Known issues with pull request:
None yet.
Change log entry:
Bug fixes
SAPI5 voices should no longer miss some information