nvda
nvda copied to clipboard
NVDA fails to announce capital letters when pitch is set to 0
Steps to reproduce:
- Switch to eSpeak
- Enable "Say 'cap' before capitals"
- Ensure that "capital pitch change percentage" is set to value different than 0
- Set pitch to 0
- 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
Did this work on Python 2 versions of NVDA? I guess this applies to almost every synthesizer.
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.
Maybe limit all to 1 grin. Brian
I think this is related to #10896 and indeed might hav been appeared after migrating to Python 3.
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
A different but similar issue: #9811