pumper42nickel / eloquence_threshold

Eloquence synthesizer NVDA add-on compatible with threshold versions of NVDA (2019.3 and later). Supports Python 3 and new NVDA speech framework.
25 stars 10 forks source link

NVDA Crash When Eloquence Trying To Read Unicode Character And Seleric Letter And Eloquence Do Not Change To High Pich When Reading Capital Letter #2

Closed lbk2907 closed 5 years ago

lbk2907 commented 5 years ago

Hi. Greetings. Sorry. Actually I'm interesting to help this project but cause I not have any knoledge in python and other programming language, I can just report an issue that I'm facing. What I'm facing now is the NVDA will crash when eloquence try to read some special character. I will give 3 example below.

  1. Ağayev The character g in the above word actually is not a g. If I use ESpeak, it will read that letter as g greeve. But if I use the synthesizer other then ESpeak, it will just read as g.
  2. ❤️ The above emoji actually have something that I not sure what is that. If I move the cursor use the arrow key, NVDA cannot reach it but when I press backspace, ESpeak will read as symbol f e0f. If I use another tts, it will just quiet. If I I use the old eloquence, it will read like when asking question. The following is an example.

The above emoji is called red heart. For example, the sentence is like this.

❤️Hi all! This is an example.

So, the eloquence will read like this.

Red heart? Hi all. This is an example.

  1. Корпорация Майкрософт

I cannot provide other example cause I haven't got the character yet. This happend when I'm using NVDA alpha version alpha-18420,a8e8db19. Just now, I have update NVDA alpha to version alpha-18450,8c27752f.

One more issue is eloquence do not change to higher pich when read capital letter.

I hope this can be fixed. Thanks in advance.

Sincerely, Loh Boon Keat

lbk2907 commented 5 years ago

Hi. Greetings. Finally, I manage to copy the error log. The following is the log from I start NVDA until the NVDA crash cause of the Eloquence speech Synthesizer.

INFO - main (06:08:14.709): Starting NVDA INFO - core.main (06:08:15.550): Config dir: C:\Users\Calvin\AppData\Roaming\nvda INFO - config.ConfigManager._loadConfig (06:08:15.550): Loading config: C:\Users\Calvin\AppData\Roaming\nvda\nvda.ini INFO - core.main (06:08:15.938): NVDA version alpha-18450,8c27752f INFO - core.main (06:08:15.938): Using Windows version 10.0.18362 workstation INFO - core.main (06:08:15.938): Using Python version 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 19:29:22) [MSC v.1916 32 bit (Intel)] INFO - core.main (06:08:15.939): Using comtypes version 1.1.7 INFO - core.main (06:08:15.939): Using configobj version 5.1.0 with validate version 1.0.1 WARNING - baseObject.Getter.init (06:08:16.138): Abstract class properties are not supported. INFO - synthDriverHandler.setSynth (06:08:17.536): Loaded synthDriver eloquence INFO - core.main (06:08:17.536): Using wx version 4.0.3 msw (phoenix) wxWidgets 3.0.5 with six version 1.12.0 INFO - brailleInput.initialize (06:08:17.568): Braille input initialized INFO - braille.initialize (06:08:17.569): Using liblouis version 3.10.0 INFO - braille.initialize (06:08:17.577): Using pySerial version 3.4 INFO - braille.BrailleHandler.setDisplayByName (06:08:17.593): Loaded braille display driver noBraille, current display has 0 cells. WARNING - core.main (06:08:17.673): Java Access Bridge not available INFO - _UIAHandler.UIAHandler.MTAThreadFunc (06:08:17.711): UIAutomation: IUIAutomation6 INFO - core.main (06:08:18.523): NVDA initialized ERROR - stderr (06:25:12.711): Exception in thread Thread-2: Traceback (most recent call last): File "threading.pyc", line 926, in _bootstrap_inner File "C:\Users\Calvin\AppData\Roaming\nvda\addons\Eloquence\synthDrivers_eloquence.py", line 88, in run internal_process_queue() File "C:\Users\Calvin\AppData\Roaming\nvda\addons\Eloquence\synthDrivers_eloquence.py", line 314, in internal_process_queue func(*args) File "C:\Users\Calvin\AppData\Roaming\nvda\addons\Eloquence\synthDrivers_eloquence.py", line 262, in speak text = text.encode("ansi") UnicodeEncodeError: 'mbcs' codec can't encode characters in position 0--1: invalid character

I hope have someone can help to fix it. Thanks in advance.

Sincerely, Loh Boon Keat

pumper42nickel commented 5 years ago

Thanks for bug report. I fixed both of these issues in the latest release. I'll close this issue for now, feel free to open a new one if you find more bugs.