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

extra parameters and updated anticrash #5

Closed ultrasound1372 closed 5 years ago

ultrasound1372 commented 5 years ago

This pull request adds support for the head size, roughness, breathiness, and backquote voice tags settings to the synth driver. It also updates the built-in anticrash dictionary with the latest regexes I have crafted which seem to handle all currently known crash cases.

pumper42nickel commented 5 years ago

Thanks for this PR! I assume you know more than me about these anti-crash regexps. Also what is this new backquote tags option you added?

ultrasound1372 commented 5 years ago

There are many eloquence add-ons out there circulating around the net, and you just happened to pick the oldest and least featured one possible. I was simply adding the features present in other forks, a popular fork that I used to maintain called ultraeloquence was based on a fork Jake Gross maintained which had the extra settings and the backquote tags option. If you do some messing around with NVDA involving passing symbols and numbers, you can send what IBM calls annotations directly to the synthesizer, thus making it do fun things. A decent number of blind gamers use this, so having a toggle is nice. And I've just spent years crafting the anticrash expressions from many test strings me and some others tried, I recently had to update one because somebody figured out an extension to one of the patterns that my regexes didn't cover. Most people use the auto-language-switching version of the eloquence driver, and a decent number use the version with three extra languages (Chinese, Japanese and Korean), but these languages require character sets that the add-on won't handle so I figured not trying to make it compatible with the latest ECI that supports the other languages.