The eSpeak homepage is: http://espeak.sourceforge.net Compiling ========= The src directory contains a makefile that produces: 1. "libspeak.so.1.xx". (where xx is a version number) This is a shared library which contains the text to speech engine. Its API is described in the file "speak_bin.h". If you copy libespeak into /usr/lib/ manually (rather than doing "make install"), then do the command "ldconfig" to set the link from libespeak.so to libespeak.so.1.xx 2. "espeak" binary. This is a small command-line program which is a front end to the libespeak library, which it needs. 3. "speak" binary. This is a command-line program which contains the text to speech engine. It does not use the libespeak library. When run, the "speak" and "espeak" programs expect to find the espeak-data directory either in the user's home directory, or if not there, in /use/share. Portaudio. ========== The "speak" program uses the PortAudio sound interface library. There are two versions, V18 and V19 and their APIs are different. Some Linux distributions use V18 (eg. Debian, Ubuntu) others (eg. SuSe) use V19. To compile to use a particular version of the PortAudio library, first copy either portaudio18.h or portaudio19.h to portaudio.h. If you don't need eSpeak to output sound, but only to produce WAV files, then you can remove or comment out the following line in speech.h. This will mean that eSpeak doesn't use any PortAudio functions. #define USE_PORTAUDIO Compiling Data ============== You can modifiy spelling-to-phoneme rules and exceptions and re-compile this data with the speak program (see docs/dictionary.html). In summary, edit the dictsource/**_rules and dictsource/**_list files and compile using: espeak --compile=** where ** is the language code (eg. en for English). In order to modify the sounds or other characteristics of phonemes, or to add additional phonemes, another program "espeakedit" is needed. This is provided in a separate package.