Recent

Author Topic: sak (Speaker Assistive Kit) is here !  (Read 30998 times)

BigChimp

  • Hero Member
  • *****
  • Posts: 5740
  • Add to the wiki - it's free ;)
    • FPCUp, PaperTiger scanning and other open source projects
Re: sak (Speaker Assistive Kit) is here !
« Reply #45 on: July 20, 2013, 01:17:08 pm »
on the other hand if you do use the espeak.dll directly then your application must be gpled as well.
Didn't see that (edit: looking at his comments, IMO he does not address using espeak DLLs directly at all).

Reasoning a bit:
1.GPL espeak dlls=>2.called by Windows SAPI subsystem=>3.called by user program

If this chain 1=>2=>3 does not lead to 3 being GPL contaminated, it follows 1=>2 does not have GPL contamination either => so the author is implying you can use espeak.dlls directly as well.

Does this sound correct?
« Last Edit: July 20, 2013, 01:20:32 pm by BigChimp »
Want quicker answers to your questions? Read http://wiki.lazarus.freepascal.org/Lazarus_Faq#What_is_the_correct_way_to_ask_questions_in_the_forum.3F

Open source including papertiger OCR/PDF scanning:
https://bitbucket.org/reiniero

Lazarus trunk+FPC trunk x86, Windows x64 unless otherwise specified

taazz

  • Hero Member
  • *****
  • Posts: 5368
Re: sak (Speaker Assistive Kit) is here !
« Reply #46 on: July 20, 2013, 01:45:47 pm »
No he specificaly said  and I quote
Quote
Similarly, if your software produces speech by using the standard
Windows SAPI5 inferface
, then it does not become a "derived work" if a
user selects
an eSpeak voice from his SAPI5 voice menu


there two ifs in the sentence that the software must meet to not be considered a derived work in all other cases consult your GPL license. I read this as "If and only If a user selects to use espeak" you can't be accountable for the users selection, in any other case you are accountable and better get a commercial license if it exists.

So linking the dll only through the SAPI mechanism does not enforce the GPL on you simply because you did not link directly with the dll but through a public interface that happens to be able to use espeak dll.
He cleverly does not say what happens if you as a developer select to link against the DLL.

Sneak mode ON

Based on the answer you could claim that "I support espeak dll interface" if the user set up my program to load the dll instead of the exe then it's not a derived work as well, as long as the program can function with out the dll I think you are covered with "I only provide a service to my users to make their life easier, I do not enforce anything on them" ee espeak.dll

[/quote]
Good judgement is the result of experience … Experience is the result of bad judgement.

OS : Windows 7 64 bit
Laz: Lazarus 1.4.4 FPC 2.6.4 i386-win32-win32/win64

Fred vS

  • Hero Member
  • *****
  • Posts: 3628
    • StrumPract is the musicians best friend
Re: sak (Speaker Assistive Kit) is here !
« Reply #47 on: July 20, 2013, 02:16:39 pm »
Quote
Sneak mode ON

Yep, good idea, (with espeak.dll by default ?)

Quote
Sneak mode OFF

Re-write sak code using espeak.exe.
And when eSpeak becomes LGPL, re-use old sak dll code...

I think i will use the Sneak mode OFF.

Many thanks to everybody for deep and clear license explanations.

Nice WE for all.  ;)
« Last Edit: July 20, 2013, 02:19:23 pm by Fred vS »
I use Lazarus 2.2.0 32/64 and FPC 3.2.2 32/64 on Debian 11 64 bit, Windows 10, Windows 7 32/64, Windows XP 32,  FreeBSD 64.
Widgetset: fpGUI, MSEgui, Win32, GTK2, Qt.

https://github.com/fredvs
https://gitlab.com/fredvs
https://codeberg.org/fredvs

BigChimp

  • Hero Member
  • *****
  • Posts: 5740
  • Add to the wiki - it's free ;)
    • FPCUp, PaperTiger scanning and other open source projects
Re: sak (Speaker Assistive Kit) is here !
« Reply #48 on: July 20, 2013, 03:00:49 pm »
No he specificaly said  and I quote
Quote
Similarly, if your software produces speech by using the standard
Windows SAPI5 inferface
, then it does not become a "derived work" if a
user selects
an eSpeak voice from his SAPI5 voice menu


there two ifs in the sentence that the software must meet to not be considered a derived work in all other cases consult your GPL license. I read this as "If and only If a user selects to use espeak" you can't be accountable for the users selection, in any other case you are accountable and better get a commercial license if it exists.
Well, if you want to read "if and only if" when he just says "if", be my guest... IMO you're reading too much between the lines but well... it does keep the discussion going ;)

He cleverly does not say what happens if you as a developer select to link against the DLL.
Agreed ;)
Want quicker answers to your questions? Read http://wiki.lazarus.freepascal.org/Lazarus_Faq#What_is_the_correct_way_to_ask_questions_in_the_forum.3F

Open source including papertiger OCR/PDF scanning:
https://bitbucket.org/reiniero

Lazarus trunk+FPC trunk x86, Windows x64 unless otherwise specified

BigChimp

  • Hero Member
  • *****
  • Posts: 5740
  • Add to the wiki - it's free ;)
    • FPCUp, PaperTiger scanning and other open source projects
Re: sak (Speaker Assistive Kit) is here !
« Reply #49 on: July 20, 2013, 03:02:03 pm »
Re-write sak code using espeak.exe.
And when eSpeak becomes LGPL, re-use old sak dll code...
That sounds like an excellent plan as it removes all doubt.
Want quicker answers to your questions? Read http://wiki.lazarus.freepascal.org/Lazarus_Faq#What_is_the_correct_way_to_ask_questions_in_the_forum.3F

Open source including papertiger OCR/PDF scanning:
https://bitbucket.org/reiniero

Lazarus trunk+FPC trunk x86, Windows x64 unless otherwise specified

avra

  • Hero Member
  • *****
  • Posts: 2547
    • Additional info
Re: sak (Speaker Assistive Kit) is here !
« Reply #50 on: July 20, 2013, 10:53:29 pm »
So, if i understand well, the NVDA project : http://www.nvaccess.org/
is in the same case than sak because it uses espeak_sapi.dll.
And all the projects (not GPL) who use NVDA are then illegal...  :o
It is not clear what you mean by use:
a) If I use code from NVDA (which is also properly GPL as ) or call one of it's DLL's (if it has them) then that application must be GPL too and I must publish code.
b) If I do not use GPL code and do not link to it's libraries, then I can distribute and call GPL executables as much as I want from my non-GPL applications as long as I credit authors properly.
There is a clear line between these two, so they must be distinguished.

If eSpeak author is the only author then he can change the license whenever he wants (but old code remains with old license for everyone who needs it). If there are other authors then he should first get permission from all other authors or omit their contributions if they don't like the idea.
ct2laz - Conversion between Lazarus and CodeTyphon
bithelpers - Bit manipulation for standard types
pasettimino - Siemens S7 PLC lib

Fred vS

  • Hero Member
  • *****
  • Posts: 3628
    • StrumPract is the musicians best friend
Re: sak (Speaker Assistive Kit) is here !
« Reply #51 on: July 22, 2013, 06:28:58 am »
Quote
but well... it does keep the discussion going

Hum, if you like it  ;), i have something that still disturb me.

Avra said :
Quote
If you customize eSpeak executable then you also must publish it's sources with all changes (GPL enforces it).

The espeak.exe binary file in espeak-package contains in resource PortAudio static library.

But this is not done by espeak code.
It is done by option in VS compiler.

If i give espeak.exe compiled without static-lib-in-resource  + independent PortAudio.dll library, is it OK ?

Or must i exclusively use the binary exe of espeak package with static portaudio lib ?

[EDIT] If i must use exe with static portaudio in resource, must it be the static portaudio lib given in espeak pakage or may i use a other (newer) static portaudio lib ?

Thanks.
« Last Edit: July 22, 2013, 06:55:46 am by Fred vS »
I use Lazarus 2.2.0 32/64 and FPC 3.2.2 32/64 on Debian 11 64 bit, Windows 10, Windows 7 32/64, Windows XP 32,  FreeBSD 64.
Widgetset: fpGUI, MSEgui, Win32, GTK2, Qt.

https://github.com/fredvs
https://gitlab.com/fredvs
https://codeberg.org/fredvs

BigChimp

  • Hero Member
  • *****
  • Posts: 5740
  • Add to the wiki - it's free ;)
    • FPCUp, PaperTiger scanning and other open source projects
Re: sak (Speaker Assistive Kit) is here !
« Reply #52 on: July 22, 2013, 07:50:04 am »
Avra said :
Quote
If you customize eSpeak executable then you also must publish it's sources with all changes (GPL enforces it).

The espeak.exe binary file in espeak-package contains in resource PortAudio static library.

But this is not done by espeak code.
It is done by option in VS compiler.
Doesn't matter who does it. It's compiled statically into the espeak binary=>it's GPL.

If i give espeak.exe compiled without static-lib-in-resource  + independent PortAudio.dll library, is it OK ?
That depends on if you think linking against DLLs transmits the GPL. See the discussion above.

[EDIT] If i must use exe with static portaudio in resource, must it be the static portaudio lib given in espeak pakage or may i use a other (newer) static portaudio lib ?
The only thing is that the GPL tells you to publish the (modifications of) the espeak as well as portaudio code if you compile (parts of) them both into one executable.
So yes, you can use a newer lib, as long as it's compatible with the GPL license.
Want quicker answers to your questions? Read http://wiki.lazarus.freepascal.org/Lazarus_Faq#What_is_the_correct_way_to_ask_questions_in_the_forum.3F

Open source including papertiger OCR/PDF scanning:
https://bitbucket.org/reiniero

Lazarus trunk+FPC trunk x86, Windows x64 unless otherwise specified

Fred vS

  • Hero Member
  • *****
  • Posts: 3628
    • StrumPract is the musicians best friend
Re: sak (Speaker Assistive Kit) is here !
« Reply #53 on: July 22, 2013, 11:37:29 am »
@ BigChimp : many thanks for the "no doubt".

Have perfect days.
I use Lazarus 2.2.0 32/64 and FPC 3.2.2 32/64 on Debian 11 64 bit, Windows 10, Windows 7 32/64, Windows XP 32,  FreeBSD 64.
Widgetset: fpGUI, MSEgui, Win32, GTK2, Qt.

https://github.com/fredvs
https://gitlab.com/fredvs
https://codeberg.org/fredvs

Fred vS

  • Hero Member
  • *****
  • Posts: 3628
    • StrumPract is the musicians best friend
Re: sak (Speaker Assistive Kit) is here !
« Reply #54 on: July 31, 2013, 09:32:58 pm »
Hello.  ;)

According with the eSpeak GPL license, (license differs if you use eSpeak executable or eSpeak library) there are now 2 versions of sak : sak and sak_dll.

sak > for all types of licenses, included commercial applications without source.  It uses eSpeak executable and old Portaudio static library.

sak_dll > for applications with GPL Open Source licences.  It uses eSpeak dynamic library and new Portaudio dynamic library.

You may download sources, examples and binaries here :

http://fredvs.github.io/sak/

Have fun.  :)

PS : Wiki is here : http://wiki.lazarus.freepascal.org/sak
I use Lazarus 2.2.0 32/64 and FPC 3.2.2 32/64 on Debian 11 64 bit, Windows 10, Windows 7 32/64, Windows XP 32,  FreeBSD 64.
Widgetset: fpGUI, MSEgui, Win32, GTK2, Qt.

https://github.com/fredvs
https://gitlab.com/fredvs
https://codeberg.org/fredvs

ROCABDEL

  • New Member
  • *
  • Posts: 41
Re: sak (Speaker Assistive Kit) is here !
« Reply #55 on: July 31, 2013, 11:28:25 pm »
Hi Fred vS and thank you for your great job.

I tried sk_bin_demos under windows 7 32 bit but both programs (sak_fpGUI_test_win32 and  sak_LCL_win32_test_win32) crash with this message :

"The program can’t start because MSVCR110.dll is missing from your computer."

I think we should install The Visual C++ Redistributable Packages ?

thank you again.
Processor:IntelCore 2 2.19GHz - RAM 2GB
(Lazarus1.0.4 / fpc2.6.0 / qt4.7.3 at4pas2.5 / Xcode4.0)
-Windows 7/8-Intel Mac OS X 10.6.8-Haiku-Openidiana,Solaris11-PC-BSD,GhostBSD-openSUSE,Ubuntu,Fedora,mageia,Sabayon,Chakra..

Fred vS

  • Hero Member
  • *****
  • Posts: 3628
    • StrumPract is the musicians best friend
Re: sak (Speaker Assistive Kit) is here !
« Reply #56 on: July 31, 2013, 11:37:47 pm »
@ Rocabdel :

Ooops, i just have tested on a virgin-windows system and indeed, the MSVCR110.dll that i gived was not working.

Now i have just upload a MSVCR110.dll who is working for all version.

Just copy it into c:/windows/system32 .

Cheers
I use Lazarus 2.2.0 32/64 and FPC 3.2.2 32/64 on Debian 11 64 bit, Windows 10, Windows 7 32/64, Windows XP 32,  FreeBSD 64.
Widgetset: fpGUI, MSEgui, Win32, GTK2, Qt.

https://github.com/fredvs
https://gitlab.com/fredvs
https://codeberg.org/fredvs

Fred vS

  • Hero Member
  • *****
  • Posts: 3628
    • StrumPract is the musicians best friend
Re: sak (Speaker Assistive Kit) is here !
« Reply #57 on: August 01, 2013, 06:36:44 pm »
Quote
"The program can’t start because MSVCR110.dll is missing from your computer."
Ok, solved in new release. MSVCR110.dll is included in sakit_dll and dynamically loaded at init. No need to install anything into c:/windows/system32.

Quote
I tried sk_bin_demos...
Here up-to-date binaries demos (both sak and sak_dll versions) :
https://sites.google.com/site/fiensprototyping/sk_bin_demos.zip


And here complete package with sources, examples, libraries and binaries demos :
http://fredvs.github.io/sak/


Hope everything is working now.

Have fun.  :)
« Last Edit: August 01, 2013, 07:10:30 pm by Fred vS »
I use Lazarus 2.2.0 32/64 and FPC 3.2.2 32/64 on Debian 11 64 bit, Windows 10, Windows 7 32/64, Windows XP 32,  FreeBSD 64.
Widgetset: fpGUI, MSEgui, Win32, GTK2, Qt.

https://github.com/fredvs
https://gitlab.com/fredvs
https://codeberg.org/fredvs

ROCABDEL

  • New Member
  • *
  • Posts: 41
Re: sak (Speaker Assistive Kit) is here !
« Reply #58 on: August 01, 2013, 10:17:42 pm »
Tested and everything works very well  ;)

thanks again..

Processor:IntelCore 2 2.19GHz - RAM 2GB
(Lazarus1.0.4 / fpc2.6.0 / qt4.7.3 at4pas2.5 / Xcode4.0)
-Windows 7/8-Intel Mac OS X 10.6.8-Haiku-Openidiana,Solaris11-PC-BSD,GhostBSD-openSUSE,Ubuntu,Fedora,mageia,Sabayon,Chakra..

Fred vS

  • Hero Member
  • *****
  • Posts: 3628
    • StrumPract is the musicians best friend
Re: sak (Speaker Assistive Kit) is here !
« Reply #59 on: March 13, 2015, 03:17:18 pm »
Hello.

New release of sak is there => version 1.2. =>
https://github.com/fredvs/sak
sak is the assistive kit who transforms your LCL/fpGUI application into a complete "assistivized" application.
You do not have to change anything in your code.

Here video + sound of sak in action => https://sites.google.com/site/designerext/test_fpGUI_sak.mp4

Have fun.

Fre;D
I use Lazarus 2.2.0 32/64 and FPC 3.2.2 32/64 on Debian 11 64 bit, Windows 10, Windows 7 32/64, Windows XP 32,  FreeBSD 64.
Widgetset: fpGUI, MSEgui, Win32, GTK2, Qt.

https://github.com/fredvs
https://gitlab.com/fredvs
https://codeberg.org/fredvs

 

TinyPortal © 2005-2018