New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Eloquence with NVDA. New driver for PeNVDA. #187

Closed
nvaccessAuto opened this Issue Jan 1, 2010 · 13 comments

Comments

Projects
None yet
1 participant
@nvaccessAuto

nvaccessAuto commented Jan 1, 2010

Reported by GianBrix on 2008-10-01 19:29
Hi,
I wish to announce you that I realized the open source part of the new driver developed from Itex (an Italian firm) that lets you use the known eloquence with NVDA in an u3 key or even in other media keeping this key connected in an usb.
PeNVDA is a commercial product and you can order or find news by
Computer Solutions Inc. http://www.specialneedscomputers.ca
or by our italian site of Nvda's comunity:
www.nvda.it.

@nvaccessAuto

This comment has been minimized.

nvaccessAuto commented Jan 1, 2010

Attachment PeNVDA_eloq.zip added by GianBrix on 2008-10-01 19:40
Description:

@nvaccessAuto

This comment has been minimized.

nvaccessAuto commented Jan 1, 2010

Comment 1 by jteh on 2008-10-01 23:00
I know that I originally urged for this driver to be made open source and I am glad that this has been done. However, looking at the code, it seems that this driver is very specific to PeNVDA's version of Eloquence, rather than the standard Eloquence API. Is this correct; i.e. was a dll written specifically for PeNVDA which wraps Eloquence's API? If so, including this in the main NVDA distribution may not be worthwhile, as it requires the specific purchase of PeNVDA, which is distributed with the driver anyway. In other words, the required version of the synth cannot be purchased separately, so this driver is perhaps not generic enough to warrant its inclusion.

Some quick code critique:

  • In eloquence.py, you import _winreg, but _winreg is never used.
  • In _eloquence.check(), the line which changes back to the NVDA directory should probably be in a finally clause so that it happens regardless of whether an exception occurred or not. This avoids the need for two calls to change back to NVDA's directory.
@nvaccessAuto

This comment has been minimized.

nvaccessAuto commented Jan 1, 2010

Comment 2 by GianBrix (in reply to comment 1) on 2008-10-02 13:17
Replying to jteh:

I know that I originally urged for this driver to be made open source and I am glad that this has been done. However, looking at the code, it seems that this driver is very specific to PeNVDA's version of Eloquence, rather than the standard Eloquence API. Is this correct; i.e. was a dll written specifically for PeNVDA which wraps Eloquence's API? If so, including this in the main NVDA distribution may not be worthwhile, as it requires the specific purchase of PeNVDA, which is distributed with the driver anyway. In other words, the required version of the synth cannot be purchased separately, so this driver is perhaps not generic enough to warrant its inclusion.

Marco Gregnanin scrive:Dear James,

let me tell you some details of eloquence license agreement, just to make my position clear.

  1. To use the eloquence voices within a program (as an example, to use the synthesis within a screen reader) you need to buy a so called RunTime license.
    One license corresponds to one user. The fact that the software has to install the the eci.dll for internal use, does not mean that you can just use the
    dll within other softwares and/or for different purposes. As an example, if you buy jaws you get eloquence and the right to use it as a voice, but you
    are not allowed to include it in other softwares, see further.
  2. To write software that somehow interacts with the eloquence voice (as an example, a driver, a screen reader) you need both an SDK and a License Agreement.
    The SDK gives you the right to use the dll from within you software. And the license agreement guarantees that, for each sold copy, a RunTime fee is paid.

Thus, to write a legal driver and/or software you should meet requirements 1 and 2. Otherwise you will be persecuted by law because, as we know, eloquence
is not an open source software.

ITEX has to guarantee the correct handling of the RunTime licenses, one fee per user, as stated in the license agreement. The only way to do this, especially
considering that NVDA is open source software and that we might thus be considered responsible for the unlegal diffusion of the eci.dll, is to create a
wrapper that performs a license validation and correctly interfaces the voice. I believe that this is correct in terms of legal behaviour and that it's
not different from what happened with Audiologic. A help file for the phyton source code can be sent with no difficulties. A totally open source driver
or a hack would expose us to excessive and unnecessary legal risks.

Should you need further information, feel free to contact me. I am happy to cooperate with you since we both believe in honesty and legality.

@nvaccessAuto

This comment has been minimized.

nvaccessAuto commented Jan 1, 2010

Comment 3 by jteh on 2008-10-02 22:29
I know most of this already and suspected this was the reason for the separate library_tts.dll library. This does not change the fact that this is not a generic driver. Your code still needs to be open source, which you have done and which I appreciate. However, because it is not generic, I see little point in including it in the main NVDA code base. We might be able to make it available elsewhere if someone wants it.

As far as I know, this is different to Audiologic. I don't know of any separate library that was written for Audiologic to protect its main SDK. As I understand it, if the user owns Audiologic, they can use it with the NVDA driver, which means it is only bound to the synth, not to a specific distribution of that synth. Perhaps the Audiologic license is less restrictive.

The point here is that someone cannot simply purchase your version of the Eloquence synth separately without buying PeNVDA, which is a bundled product.

Let me emphasise again that I am not criticising the way you have done things - it is necessary to ensure that legal obligations are being met. I am simply noting that I don't believe there is much point in including the driver if it can only be used with a bundled product in which it is already included anyway. I'm still open to discussion on this, but this is where I currently stand.

@nvaccessAuto

This comment has been minimized.

nvaccessAuto commented Jan 1, 2010

Comment 4 by jteh on 2008-10-02 23:02
Note that TTSynth, a Linux product based on IBM TTS, allows users to use the ECI API in open source applications. In fact, the other applications and libraries distributed with TTSynth which use the API are released under the terms of the LGPL. The IBMTTS SDK has been released under an open source license.

I realise that this is IBMTTS and not Eloquence. IBM acquired some of Eloquence's technology and incorporated it into IBMTTS (then known as !ViaVoice). So is the license for IBMTTS less restrictive than the license for Eloquence, even though IBMTTS is based on Eloquence and uses the same API? Alternatively, is the license less restrictive under Linux for some reason? The IBMTTS Linux license doesn't seem to require that an SDK be purchased to use it, only that the user own the synth runtime.

@nvaccessAuto

This comment has been minimized.

nvaccessAuto commented Jan 1, 2010

Comment 5 by m.gregnanin on 2008-10-10 13:38
Hi James,

unfortunately some persons posted tricks and hacks regarding the use of ETI Eloquence. I am sure that the NVDA Team took all reasonable efforts to stop Piracy. Still, I have been asked to publish this letter from the Italian distributor of Eloquence for licensing purposes (please excuse my bad translation, smile).

Sirs,

I have read in various mailing lists that the ETI Eloquence Synthesis, property of Nuance International BVBA, is used by some integrators without the regular License Agreement and thus without the right of using this technology for commercial or divulgation purposes.

Furthermore, I read that the ETI Eloquence is used by end users in combination with third parties applications for which no right of usage is granted by the producer.

At the present moment only two companies (in Italy), Cavazza 2000 and ITEX di Marco Gregnanin, are authorized to integrate ETI Eloquence.

As the legal representative of Byteway Srl, distributor of the above mentioned technologies, it is my right and duty to inform that, the persons that do an indiscriminate use of this vocal synthesis are breaking the laws against software piracy.

Thus, I kindly advise to all integrators and end-users to settle their position with respect to the right of using ETI Eloquence as soon as possible.

Byteway will be happy to provide further information, license agreements and prices.

Otherwise, as stated with Nuance's legal office, legal measures will be adopted to defend the interest of the producer and the distributor.

Highest Regards,

Donato Savino, CEO
d.savino@byteway.it

Byteway Srl
Imaging and Speech Technologies
Milano, Via Roncaglia 14 - ITALY
Tel. +39 02 3809 3651
Fax +39 02 3809 3656
www.byteway.it

@nvaccessAuto

This comment has been minimized.

nvaccessAuto commented Jan 1, 2010

Comment 6 by m.gregnanin on 2008-10-10 13:45
Hi James,

as you proposed, I will be happy to sell a "license only" version of the PenVDA, that can be installed on any U3 compatible pen or on any folder of your Hard Disk. Give me some time to understand how this can be done without breaking any law, smile. Bye,

Marco

@nvaccessAuto

This comment has been minimized.

nvaccessAuto commented Jan 1, 2010

Comment 7 by jteh (in reply to comment 6) on 2008-10-10 13:55
Replying to m.gregnanin:

as you proposed, I will be happy to sell a "license only" version of the PenVDA, that can be installed on any U3 compatible pen or on any folder of your Hard Disk.

This still isn't selling the synth separately; it is still a bundled product, albeit without the hardware. Thus, I don't see any reason to include the driver in the main NVDA distribution. Let me emphasise this again: we're quite happy for you to distribute this driver separately as long as people can obtain the source code if they want it. I just don't know that there is much point including a driver for a synth which only comes with a bundled product when the bundled product includes the driver already.

Also, do you have any comments with regard to the IBMTTS/TTSynth information in my previous comment? It seems to me that the Eloquence license is much more restrictive and painful than the IBMTTS license.

@nvaccessAuto

This comment has been minimized.

nvaccessAuto commented Jan 1, 2010

Comment 8 by m.gregnanin (in reply to comment 7) on 2008-10-15 10:46
Replying to jteh:

Do you have any comments with regard to the IBMTTS/TTSynth? It seems to me that the Eloquence license is much more restrictive than the IBMTTS license.

I had already asked Nuance and Mr. Savino about the IBMTTS/TTSynth after your first email. They asked for further time to investigate the situation. I will keep you posted as soon as I get official and legal information.
By the way, has it been possible to include the captureumpc.py into the main NVDA distribution? This script improves the use of SiRecognizer for all users and could be therefore helpful to the community.
Thanks and bye,
Marco

@nvaccessAuto

This comment has been minimized.

nvaccessAuto commented Jan 1, 2010

Comment 9 by pvagner (in reply to comment 8) on 2008-10-15 11:34
Replying to m.gregnanin:

By the way, has it been possible to include the captureumpc.py into the main NVDA distribution? This script improves the use of SiRecognizer for all users and could be therefore helpful to the community.

I guess this is an appmodule. If you or anyone else has created it and is willing to distribute it open-source then I am sure we can include it. Please create a seperate ticket with an attachment or post it to one of us by email if it's ready for the inclusion.

@nvaccessAuto

This comment has been minimized.

nvaccessAuto commented Jan 1, 2010

Comment 10 by jteh on 2008-11-26 11:48
Closing this as wontfix for the reasons given above; i.e. this driver is only useful for a commercially bundled version of NVDA. You must still make the driver's source available to those who request it, but I see no need to include it in the main NVDA distribution. If this situation ever changes, please feel free to reopen this ticket.
Changes:
Added labels: wontfix
State: closed

@nvaccessAuto

This comment has been minimized.

nvaccessAuto commented Nov 20, 2010

Comment 11 by RamboUdin on 2010-11-20 14:47
Hi,
i've seen in various webpage and mailing list, people talking about this issue. Actually, is it legall to give the link to download this software to people? Because, sorry to say, that i've downloaded it and tryed it! Do i need to remove it, or just use it? I love it!

THANKS

@nvaccessAuto

This comment has been minimized.

nvaccessAuto commented Nov 20, 2010

Comment 12 by jteh on 2010-11-20 23:22
This is related to PeNVDA. You have to purchase PeNVDA to use the PeNVDA driver.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment