TTS+Caiviar HOWTO |
![]() |
|
Summary:
Caiviar is a library for simplifying the creation of "Interactive Voice" (IVR)
Applications, like Voiceboxes, Unified Messaging Services, Authentication
services etc. This document describes how to use Text-To-Speech (TTS) systems together with caiviar. |
![]() |
1.Compiling Caiviar with TTS support
Caiviar supports several Text-To-Speech systems. These are available when running configure with the following options:
for Festival:
./configure --enable-festival |
for MS Speech API:
./configure --enable-msapi |
for Realspeak:
./configure --enable-realspeak |
When enabling TTS for Caiviar, the speak() function is available in the client interfaces of capiserver.
The following sections describe seperately how to install Festival, mSAPI and Realspeak, and how to link then with Caiviar.
1.1 Festival
As of this writing, Festival is available in version 1.4.2. It can be downloaded from http://festvox.org/packed/festival/1.4.2. You furthermore need the esound libraries. While festival is also available for Windows, the following appies only to Linux systems.
There's a Makefile.festival file available in the Caiviar package (directory Documentation) which is able to automatically install Festival in a form required by Caiviar. (If you have Debian GNU/Linux, you can alternatively install the Festival packages by running e.g. apt-get install festival festival-dev festlex-cmu festvox-don)
Note: Some distributions (e.g. Suse) require that you first install termcap. Furthermore, you might have to create symbolic links in /usr/lib to the termcap libraries in /usr/lib/termcap. |
Create an empty directory, and copy the files downloaded from festvox.org as well as the Makefile.festival into it. Rename Makefile.festival into Makefile Then run
make all
|
make uninstall
make install
|
./configure --enable-festival.
make
|
1.2 Realspeak
Realspeak is distributed by Scansoft (http://www.scansoft.com/realspeak), and is one of best TTS systems around today.
The following assumes you have the "Telecom Host Realspeak" product from Lernout&Hauspie. If you want to purchase the German or English Version of this product, you can get it from http://www.mobilexag.de (Send a mail to info@mobilexag.de).
1.2.1 Win32:
After installation, Realspeak has typically built a directory c:\program files\lhsp\Telecom_TTS.
Find the files ttsso_types.h, lh_err.h, lhtypes.h and lh_ttsso.h in this directory (usually in api/inc), and copy them into the server/TTS directory of caiviar. Furthermore copy the file lhstts.lib (usually in api/lib) into the server/TTS directory.
In Case you are not compiling with Cygwin but with Visual C++ (See the compile instructions in the Caviiar Manual), change mssapi.lib to lhstts.lib in server/Makefile (copied from server/Makefile.vc), and define HAVE_REALSPEAK while undefining HAVE_MSSAPI in config.h (copied from config.h.win32).
You can now compile Caiviar by running
./configure --enable-realspeak
make
|
For Win32 systems, you should then install the capiserver.exe into the Realspeak directory. (To be more precise, into the directory where the files cslhstts.dll, lhstts.dll, lhttsso32.dll and the directory Engine are located)
1.2.2 Linux:
Find the files combrk.so, comrsrc.so, cslhstts.so, lh_err.h, lh_ttsso.h, lhttsso32.so, lhtypes.h, libACE.so, liblhstts.so, netace.so, sh_util.so, ttsso_types.h, xrconverter.so and copy them into the server/TTS directory of caiviar.You can now compile Caiviar by running
./configure --enable-realspeak
make
|
1.2.3 using TTSServer
Realspeak allows you to put the actual TTS engine on a different computer, which
is quite handy if e.g. you only have Realspeak for Windows, but want to run
Caiviar on Linux.
You need to start the executable ttsserver(.exe) to make this work.
It allows you to specify the port (usually 6666) the server should listen on.
There's also a "service" parameter, which can most usually be omitted (It's
most probably for Win32->Win32 configurations).
Once you have the ttsserver up and running, you can now tell capiserver to connect to it by setting the realspeak.server and realspeak.port properties in the ivr.properties configuration file.
Note: The Realspeak libraries used to build capiserver and the ttsserver executable need to be from the same Realspeak version. |
1.3 MS Speech API
You can't compile using Cygwin when using the Microsoft Speech SDK. (See Caiviar_Manual) Rather, you have to compile using cl.exe. There's a Makefile called Makefile.vc in server/ and src/. Rename these into Makefile. Rename config.h.win32 into config.h. Copy sapi.h, sperror.h, spdebug.h, sphelper.h and sapi.lib (from the Speech SDK directory) into server/TTS. Then run nmake in src/ and server/.