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 Still Crash When Trying To Read Arabic Text #3

Closed lbk2907 closed 5 years ago

lbk2907 commented 5 years ago

Sorry because I open new issue with the almost same bug. The NVDA still crash when eloquence saw the arabic text.and cjk text like chinese, japanese and korean text. The following is the log.

INFO - main (00:31:13.394): Starting NVDA INFO - core.main (00:31:13.886): Config dir: C:\Users\Calvin\AppData\Roaming\nvda INFO - config.ConfigManager._loadConfig (00:31:13.886): Loading config: C:\Users\Calvin\AppData\Roaming\nvda\nvda.ini INFO - core.main (00:31:14.048): NVDA version alpha-18450,8c27752f INFO - core.main (00:31:14.048): Using Windows version 10.0.18362 workstation INFO - core.main (00:31:14.048): 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 (00:31:14.048): Using comtypes version 1.1.7 INFO - core.main (00:31:14.049): Using configobj version 5.1.0 with validate version 1.0.1 WARNING - baseObject.Getter.init (00:31:14.100): Abstract class properties are not supported. INFO - synthDriverHandler.setSynth (00:31:14.770): Loaded synthDriver eloquence INFO - core.main (00:31:15.042): Using wx version 4.0.3 msw (phoenix) wxWidgets 3.0.5 with six version 1.12.0 INFO - brailleInput.initialize (00:31:15.046): Braille input initialized INFO - braille.initialize (00:31:15.048): Using liblouis version 3.10.0 INFO - braille.initialize (00:31:15.055): Using pySerial version 3.4 INFO - braille.BrailleHandler.setDisplayByName (00:31:15.068): Loaded braille display driver noBraille, current display has 0 cells. WARNING - core.main (00:31:15.140): Java Access Bridge not available INFO - _UIAHandler.UIAHandler.MTAThreadFunc (00:31:15.166): UIAutomation: IUIAutomation6 INFO - core.main (00:31:17.280): NVDA initialized ERROR - stderr (00:32:26.553): 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 330, in internal_process_queue func(*args) File "C:\Users\Calvin\AppData\Roaming\nvda\addons\Eloquence\synthDrivers_eloquence.py", line 257, in speak text = text.encode("mbcs") UnicodeEncodeError: 'mbcs' codec can't encode characters in position 0--1: invalid character

Anyway, good work. Thanks.

lbk2907 commented 5 years ago

One more thing that I just saw a few minutes ago. I think is better to remove the Include Unicode Consortium data (including emoji) when processing characters and symbols. You just remove this option to turn it on and off from the voice settings menu. Just make it turn on permenently because I have try to turn off the option and it crash when I tell the eloquence to read emoji.

INFO - main (00:44:33.060): Starting NVDA INFO - core.main (00:44:33.543): Config dir: C:\Users\Calvin\AppData\Roaming\nvda INFO - config.ConfigManager._loadConfig (00:44:33.543): Loading config: C:\Users\Calvin\AppData\Roaming\nvda\nvda.ini INFO - core.main (00:44:33.662): NVDA version alpha-18450,8c27752f INFO - core.main (00:44:33.662): Using Windows version 10.0.18362 workstation INFO - core.main (00:44:33.663): 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 (00:44:33.663): Using comtypes version 1.1.7 INFO - core.main (00:44:33.663): Using configobj version 5.1.0 with validate version 1.0.1 WARNING - baseObject.Getter.init (00:44:33.709): Abstract class properties are not supported. INFO - synthDriverHandler.setSynth (00:44:34.202): Loaded synthDriver eloquence INFO - core.main (00:44:34.215): Using wx version 4.0.3 msw (phoenix) wxWidgets 3.0.5 with six version 1.12.0 INFO - brailleInput.initialize (00:44:34.217): Braille input initialized INFO - braille.initialize (00:44:34.218): Using liblouis version 3.10.0 INFO - braille.initialize (00:44:34.225): Using pySerial version 3.4 INFO - braille.BrailleHandler.setDisplayByName (00:44:34.236): Loaded braille display driver noBraille, current display has 0 cells. WARNING - core.main (00:44:34.295): Java Access Bridge not available INFO - _UIAHandler.UIAHandler.MTAThreadFunc (00:44:34.313): UIAutomation: IUIAutomation6 INFO - core.main (00:44:36.416): NVDA initialized ERROR - stderr (00:44:56.651): 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 330, in internal_process_queue func(*args) File "C:\Users\Calvin\AppData\Roaming\nvda\addons\Eloquence\synthDrivers_eloquence.py", line 257, in speak text = text.encode("mbcs") UnicodeEncodeError: 'mbcs' codec can't encode characters in position 0--1: invalid character

Any help will be appriciated. Thanks.

pumper42nickel commented 5 years ago

Just fixed CJK and Arabic in new release v0.20190825.02. If you find any other bugs, please provide URL of a webpage or otherwise steps to reproduce. Thanks!

lbk2907 commented 5 years ago

Sorry. Off topic for awhile. Can I learn with you how to fix all this probmem? At least I can help some if another bug happend.

On 8/26/19, pumper42nickel notifications@github.com wrote:

Closed #3.

-- You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub: https://github.com/pumper42nickel/eloquence_threshold/issues/3#event-2582037272

lbk2907 commented 5 years ago

And, thanks. This works fine.

On 8/26/19, Loh Boon Keat lbk2907@gmail.com wrote:

Sorry. Off topic for awhile. Can I learn with you how to fix all this probmem? At least I can help some if another bug happend.

On 8/26/19, pumper42nickel notifications@github.com wrote:

Closed #3.

-- You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub: https://github.com/pumper42nickel/eloquence_threshold/issues/3#event-2582037272

pumper42nickel commented 5 years ago

You need to learn Python to help - all my edits are available here in this repo.

lbk2907 commented 5 years ago

O yeah. I not have any knoledge about python. Can you teach me some? Maybe we can have a conversation or somewhere to learn. I want to help you out.

Back to eloquence. Are easy to add some pauses between sentence to eloquence. Actually, I have the eloquence with pauses in python 2 before this.

On 8/26/19, pumper42nickel notifications@github.com wrote:

You need to learn Python to help - all my edits are available here in this repo.

-- You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub: https://github.com/pumper42nickel/eloquence_threshold/issues/3#issuecomment-524647677

lbk2907 commented 5 years ago

O yeah. One more thing. I don't know how to explain this. But I will try. Sometime, the eloquence will have a small of time to stop talking and continue talking. I mean the small of time is in about a milliseconds. It will happend in some speech rate and some words. For example, try to use NVDA speech ring setting and set the speech rate to 50. Try to hear how the eloquence stop for a few milliseconds and continue before the eloquence end talking.

On 8/26/19, Loh Boon Keat lbk2907@gmail.com wrote:

O yeah. I not have any knoledge about python. Can you teach me some? Maybe we can have a conversation or somewhere to learn. I want to help you out.

Back to eloquence. Are easy to add some pauses between sentence to eloquence. Actually, I have the eloquence with pauses in python 2 before this.

On 8/26/19, pumper42nickel notifications@github.com wrote:

You need to learn Python to help - all my edits are available here in this repo.

-- You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub: https://github.com/pumper42nickel/eloquence_threshold/issues/3#issuecomment-524647677

pumper42nickel commented 5 years ago

Sorry, I don't have time to teach you python. There are plenty of online resources available. I didn't quite get your example with small delays - I couldn't reproduce it with rate 50 on my computer.