Go to the first, previous, next, last section, table of contents.


Installation

Release notes

This documentation covers version 1.1.1 of the Edinburgh Speech Tools. While previous versions of the speech tools were primarily released solely to support the Festival Speech Synthesis System, the Edinburgh Speech Tools Library has improved greatly since its last release and now contains function and programs that is of use in its own right.

Although hope that the speech tools has stabilised to a certain extent and less structural changes will occur in future versions we don't guaranteed future compatibility, although every effort will be made to make upgrading as easy as possible. In addition, we warn that while several programs and routines are quite mature, others are young and have not be rigorously tested. Please do not assume these programs work.

Requirements

In order to compile and install the Edinburgh Speech Tools you need the following

We have successfully compiled and tested the speech tools on the following systems:

As stated before C++ compilers are not standard and it is non-trivial to find the correct dialect which compiles under all. We recommend the use of GCC 2.7.2 if you can use it, it is the most likely one to work.

Previous versions of the system have successfully compiled under SGI IRIX 5.3, OSF (Alphas) and HPUX but at time of writing this we have not yet rechecked this version.

For our Windows NT and Windows 95 ports we use the Cygnus GNU win32 environment (b19) available from `ftp://ftp.cygnus.com/pub/gnu-win32/'. As recommended in the Cygnus docuemntation we also recommend that you install the latested version of egcs on top of this distribution. The C++ compiler contained in b19 seem too buggy.

Before installing the speech tools it is worth ensuring you have a fully installed and working version of your C++ compiler. Most of the problems people have had in installing the speech tools have been due to incomplete or bad compiler installation. It might be worth checking if the following program works, if you don't know if anyone has used your C++ installation before.

#include <iostream.h>
int main (int argc, char **argv)
{
   cout << "Hello world\n";
}

Building it

Configuration

All compile-time configuration for the system is done through the user definable file `config/config'. You must create this file before you can compile the library. An example is given in `config/config-dist', copy it and change its permissions to give write access

cd config
cp config-dist config
chmod +w config

In many cases no further changes will be required, but it might be worth checking the contents of this file just in case. Where possible the system will automatically config itself.

Type

gnumake info

This will create the local config files and display what it thinks your system is.

If this is not suitable for your machine then edit your `config/config'

Simple choices for common set ups are given near the top of this file. But for some sub-systems you will also need to change pathnames for external library support.

At present read `config/ReadMe' for details of changing basic configuration.

On systems (and versions of systems) we have not yet encountered you may need to create `config/systems/<PROCESSOR>_<OS><OSVERSION>.mak' files. Often you need only copy an existing one (other version or similar system) to get it to work. Typically the only real differences are when there are major differences in the default C++ compiler (e.g. RedHat 5.0 to RedHat 5.1). If you do need to add a new systems configuration file please let as know so we can include it in the standard distribution.

Compilation

Once you have configured `config/config' you can compile the system.

gnumake

Note this must be GNU make, which may be called make on your system, or gmake or gnumake. This will compile all library functions and all the executables. If you wish to only compile the library itself then use

gnumake make_library

Note that if you compile with -g (uncommenting DEBUG = 1 is `config/config' the library and the corresponding binaries will be large. Particulary the executables, you will need in order of 150 megabytes to compile the system, if your C++ libraries are not compiled as shared libraries. If you compile without -g the whole library directory is about 12 megabytes on Linux (which has shared libraries for libstdc++ or about 26 megabytes of Sparc Solaris (which does not have a shared library libstdc++ by default). This is almost entirely due to the size of the executables. C++ does not make small binaries.

In general we have made the system compile with no warnings. However for some compilers this has proved to be near impossible. SunOS include files have a number of system declarations missing, so many system functions (e.g. fprintf) will appear to be undeclared. Sun's CC compiler also likes to complain about missing source for some code even though the code exists within our system and is deliberately in separate files ro make it modular.

To test the system after compilation

gnumake test

Installing the system

All executables are linked to from `speech_tools/bin' and you should add that to your PATH in order to use them.

Include files are `speech_tools/include/' and the three generated libraries are `speech_tools/lib/libestools.a', `speech_tools/lib/libestbase.a' and `speech_tools/lib/libestring.a'. For most cases a three will be required.

Some aspects of the system have further dependencies which depend of the option selected at compile time. Specifically the netaudio libraries.

Future releases

In the future we hope to provide the following:


Go to the first, previous, next, last section, table of contents.