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

Eloquence and python 3. #4

Open davidacm opened 5 years ago

davidacm commented 5 years ago

Hi. Its David, the original developer of IBMTTS,the code on which eloquence driver is based. I decided to create a repo for my code (IBMTTS) to avoid many different distributions of eloquence or IBM. I already made IBMTTS code compatible with python 3 and NVDA's alpha versions, with many extra fix and features compared with eloquence driver withtout author. See my repo log to get the new fixes and features. IBMTTS name is better to avoid licence issues, ETC. So I recommend you to fork my repo and send me pull requests if you want. I liked that you added the SDK references, I'll add this to my repo also. The repo is available on: https://github.com/david-acm/NVDA-IBMTTS-Driver/ See python3 branch.

I tried to contact you via e-mail but your e-mail is not available, so I tried here.

pumper42nickel commented 5 years ago

Hi David, Ah, I wish I knew about your repository two weeks before... I was under the impression that no one maintains eloquence anymore and decided to step in. And I started to port the best version of eloquence that I new of... By the way, how could I have found your repository? I didn't see it being mentioned on NVDA add-on websites nor anywhere else on the Internet, and nowadays with overly aggressive moderators on NVDA mailing list, there is no way to ask a question like this... By the way, how did you find my repository? Also, are you the original author of eloquence add-on for NVDA? Or is that someone else took your code and released it as a separate add-on? But yeah, your code looks much cleaner and it has more features than the code that I've been working on. Cheers --PN P.S. I couldn't find your email address either. Could you send me an email to pumper42nickel_at_gmail?

davidacm commented 5 years ago

We discussed about this add-on on NVDA's add-on development list some days ago. People agree that the driver is not illegal. But the use and distribution of libraries. I don't write code for eloquence now. Only for IBMTTS, but I took improvements from others. Someone send me your add-on and I followed the github address. I started to developing IBMTTS since 2008, and at some point someone took my code and changed the name to eloquence. I decided to contribute to eloquence add-on directly, but I don't liked that there are many eloquence versions. So I changed the name again to IBMTTS (like beginnings) and upload my contributtions to github. We shouldn't develop code as eloquence, but I don't see problem as IBMTTS because the IBMTTS api is public and documented with many open source implementations on linux to see examples. If someone wants to use this driver with eloquence, is not my fault. I decided reply you on this thread but you can write me to my e-mail: dhf360@gmail.com

ultrasound1372 commented 5 years ago

When using that add-on I couldn't get it to load my root dictionary, and I don't think it has the latest crash regexes I contributed to this repo.

pumper42nickel commented 5 years ago

@davidacm, @ultrasound1372 This makes me think, that we should all converge on a single version of eloquence driver. It seems that throughout the history there were no github repository for that, which led to people creating many forks and publishing them with whatever means they had. And now it has just happened, that there's this repository - eloquence_threshold, and there's David's ibm_tts - I am not aware of any other alternative versions of eloquence that are compatible with threshold. I propose to have a discussion and make a decision. Otherwise we will be wasting our effort by maintaining several versions. Since you guys seem to be more familiar with this matter, I think you guys should make final decision. But from strategic point of view everyone would benefit if we unite our efforts now. To me it seems like David's ibm_tts version has much cleaner codebase then this repository. So do you guys think we can identify those items that are better in this repo and port them over to ibm_tts? Like those crash regexps, maybe anything else? Thoughts/opinions are welcome.

Neurrone commented 5 years ago

Does this version have support for MathML? MathML can't be read properly with @davidacm's version of the driver.

pumper42nickel commented 5 years ago

@Neurrone Could you give me an example? I thought that you need another add-on, like Access8Math to be able to read MathML - and it seems to work with David's ibm_tts. Have you tried reporting this issue in his repo?

Neurrone commented 5 years ago

See this issue on MathML support.

amirsol81 commented 5 years ago

Hi. Unfortunately @davidacm's version of Eloquence/IBM TTS doesn't support the recognition and detection of root.dic and ENURoot.dic files, or other dictionary files with the *.dic format. I have also emailed @davidacm but haven't yet heard from him. As someone who has developed an extensive root.dic file for Eloquence over the past 15 years, I believe it is essential that support for such an extensive pronunciation dictionary gets added to the new release(s) of the engine regardless of whoever keeps maintaining it. My hope is that @pumper42nickel's driver supports it which, according to @ultrasound1372 it apparently does. I'll test it in a few hours. BTW my Root.dic file is also attached as a ZIP archive. I'm currently using it with the NVDA add-on titled Eloquence Synthesizer (auto language switching support), version 0.20130827.01, and NVDA 2019.2. Cheers. root.zip

meowiamacat commented 4 years ago

Hi guys, will there be any more changes to the current eloquence (or IBM TTS, whatever you wanna call it) version? I'm just asking cus my boyfriend's been throwing tantrums over the past few days :D apparently, NVDA crashes whenever the eloquence speech encounters certain symbols... :)