Skip to content

Make eSpeak's sonic boost be activated only when rate boost is enabled.#13893

Merged
seanbudd merged 5 commits into
nvaccess:masterfrom
CyrilleB79:eSpeakDriver
Jul 14, 2022
Merged

Make eSpeak's sonic boost be activated only when rate boost is enabled.#13893
seanbudd merged 5 commits into
nvaccess:masterfrom
CyrilleB79:eSpeakDriver

Conversation

@CyrilleB79

@CyrilleB79 CyrilleB79 commented Jul 12, 2022

Copy link
Copy Markdown
Contributor

Link to issue number:

A partial fix for issue #13876.

Summary of the issue:

With eSpeak, when rate boost is off, the speech rate is slightly higher (7% according to espeak-ng/espeak-ng#131 (comment)) when rate is 99% than when rate is 100%.

Description of user facing changes

With eSpeak, a speech rate of 100% corresponds to the fastest speech rate without rate boost; no more rate drop between 99% and 100%

Description of development approach

_espeak.maxRate is the rate used when NVDA speech rate is 100%.
So set _espeak.maxRate to 449 instead of 450. Indeed according to espeak-ng/espeak-ng#131:

This allows to have a continuous increasing of speech rate when rate boost is off and to reserve the use of the sonic library for rate boost on.

If one day, eSpeak turns back to 450 for maxRate (what seems unlikely), we may revert this PR's content to follow eSpeak's decision.

Testing strategy:

Read the following lines in American English:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19

Tested with rate from 0%, 10%, 20%, ..., 90%, 91%, ..., 99%, 100%
Checked continuous increasing of speed.

Known issues with pull request:

The 7% speech-rate drop is still present between 18% and 19% when rate boost is on. This has to be fixed on eSpeak's side.

Change log entries:

Bug fixes
When rate boost is off, eSpeak's rate does not drop anymore between rates 99% and 100%. (#13876)

Code Review Checklist:

  • Pull Request description:
    • description is up to date
    • change log entries
  • Testing:
    • Unit tests
    • System (end to end) tests
    • Manual testing
  • API is compatible with existing add-ons.
  • Documentation:
    • User Documentation
    • Developer / Technical Documentation
    • Context sensitive help for GUI changes
  • UX of all users considered:
    • Speech
    • Braille
    • Low Vision
    • Different web browsers
    • Localization in other languages / culture than English

@AppVeyorBot

Copy link
Copy Markdown

See test results for failed build of commit 3f3d8839a5

@CyrilleB79 CyrilleB79 marked this pull request as ready for review July 12, 2022 22:09
@CyrilleB79 CyrilleB79 requested a review from a team as a code owner July 12, 2022 22:09
@CyrilleB79 CyrilleB79 requested a review from seanbudd July 12, 2022 22:09
Comment thread source/synthDrivers/_espeak.py Outdated
@AppVeyorBot

Copy link
Copy Markdown

See test results for failed build of commit 01923f8941

@CyrilleB79

Copy link
Copy Markdown
Contributor Author

@seanbudd, this PR is ready.
System tests fail but this seems unrelated.

@AppVeyorBot

Copy link
Copy Markdown

See test results for failed build of commit fb3da566bb

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