From Lazarus wiki

sak is the Speecher Assistive Kit who transforms your applications into multi-language speaking assisted applications.

Easy and independent, you do not have to change anything in your original code.

Compatible with lcl(Lazarus), fpGUI, MSEgui and console.

For Linux, freeBSD, Mac and Windows.

You do not need external libraries like at-spi, sapi, nor install anything in your system...

All is included in the kit (+- 1 mega). sak uses eSpeak and PortAudio Open Source libraries. Of course the kit can be shared with other applications.

Download it from gitHub here :

sak Speecher Assistive Kit

sak uses eSpeak who is GPL license. So the license differs if you use eSpeak executable or eSpeak library.

sak > for all types of licenses, included commercial applications without source. It uses Speak executable and new Portaudio dynamic library.

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

How to use it ?

Copy the sakit/ (or sakit_dll/) folder into your application-folder (from sak/ or sak_dll/, depend of the license you give...).

For sak > add sak.pas into your application-folder.

For sak_dll > add sak_dll.pas, uos_portaudio.pas and uos_espeak.pas into your application-folder.

In uses section of your program add :

For sak > uses sak,...

For sak_dll > uses sak_dll,...

In your main program : When you want your application becomes assistived call :

SAKLoadLib(); => This will seek in program-directory for /sakit/ (if not, in system for eSpeak).


SAKLoadLib('/path/of/sakit/'); => To load custom path of /sakit/ folder.

To unload it :


You may change the default gender and language.

gender : male or female

language : language code

Here example for Portugues/Brasil woman :


In addition you may add your own speech with :

SAKSay(Text: string);

When you close your application, call :