nvda icon indicating copy to clipboard operation
nvda copied to clipboard

NVDA fails to announce capital letters when pitch is set to 0

Open lukaszgo1 opened this issue 4 years ago • 6 comments

Steps to reproduce:

  1. Switch to eSpeak
  2. Enable "Say 'cap' before capitals"
  3. Ensure that "capital pitch change percentage" is set to value different than 0
  4. Set pitch to 0
  5. Try to read character by character "aA"

Actual behavior:

When encountering capital letter the error sound is played and the following is in the log:

error executing script: <bound method EditableText.script_caret_moveByCharacter of <NVDAObjects.Dynamic_IAccessibleEditWindowNVDAObject object at 0x074AE1D0>> with gesture 'left arrow'
Traceback (most recent call last):
  File "scriptHandler.pyc", line 205, in executeScript
  File "editableText.pyc", line 223, in script_caret_moveByCharacter
  File "editableText.pyc", line 164, in _caretMovementScriptHelper
  File "NVDAObjects\behaviors.pyc", line 175, in _caretScriptPostMovedHelper
  File "editableText.pyc", line 150, in _caretScriptPostMovedHelper
  File "speech\__init__.pyc", line 1080, in speakTextInfo
  File "speech\__init__.pyc", line 767, in speak
  File "speech\manager.pyc", line 164, in speak
  File "speech\manager.pyc", line 298, in _pushNextSpeech
  File "synthDrivers\espeak.pyc", line 110, in speak
  File "speech\commands.pyc", line 152, in multiplier
ZeroDivisionError: float division by zero

Expected behavior:

The capital letter should be read.

System configuration

NVDA installed/portable/running from source:

Portable

NVDA version:

Latest Alpha

Windows version:

Windows 7 x64

Name and version of other software in use when reproducing the issue:

Notepad

Other information about your system:

Other questions

Does the issue still occur after restarting your computer?

yes

Have you tried any other versions of NVDA? If so, please report their behaviors.

It works as expected in 2019.2.1 and fails in 2019.3

If addons are disabled, is your problem still occuring?

Yes

Did you try to run the COM registry fixing tool in NVDA menu / tools?

Not relevant

cc @feerrenrut @michaelDCurran

lukaszgo1 avatar Apr 04 '20 13:04 lukaszgo1

Did this work on Python 2 versions of NVDA? I guess this applies to almost every synthesizer.

LeonarddeR avatar Apr 04 '20 14:04 LeonarddeR

Marking this p3, as it is unlikely that one would feel very comfortable with having synthesizer pitch at 0. Having said that, it should be pretty easy to fix.

LeonarddeR avatar Apr 04 '20 14:04 LeonarddeR

Maybe limit all to 1 grin. Brian

Brian1Gaff avatar Apr 05 '20 08:04 Brian1Gaff

I think this is related to #10896 and indeed might hav been appeared after migrating to Python 3.

Adriani90 avatar Aug 02 '20 14:08 Adriani90

I can replicate this with Windows OneCore as well as eSpeak-NG, so I don't think it is an eSpeak-NG issue.

I just tried in NVDA 2019.2.1 (pre Python 3) and cannot replicate this issue then, so it may be something which came in with Python 3.

Investigated as someone reported via Twitter, however I agree this is not likely to be a commonly encountered situation.

Twitter thread: https://twitter.com/mhussaincov/status/1539558402434777088

Qchristensen avatar Jul 19 '22 03:07 Qchristensen

A different but similar issue: #9811

feerrenrut avatar Jul 19 '22 05:07 feerrenrut