File: INSTALL

package info (click to toggle)
speech-tools 1.1.0-1
  • links: PTS
  • area: non-free
  • in suites: slink
  • size: 5,280 kB
  • ctags: 6,800
  • sloc: cpp: 53,460; ansic: 2,936; java: 1,405; makefile: 830; perl: 728; sh: 538; awk: 49; pascal: 14
file content (207 lines) | stat: -rw-r--r-- 8,387 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
Installation
************

Release notes
=============

   This documentation covers version 1.1.0 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

   * GNU make: Any recent version, the various `make' programs that
     come with different UNIX systems are wildly varying and hence it
     makes it too difficult to write `Makefile's which are portable, so
     we depend on a version of `make' which is available for all of the
     platforms we are aiming at.

   * A C++ compiler: The system was developed primarily with GNU C++
     version 2.7.2, but we also have compiled it successfully with a
     number of other versions of gcc, Sun CC and Visual C++.

     Hopefully we have now sanitized the code sufficiently to to make it
     possible for ports to other C++ compilers without too much
     difficulty.  But please note C++ is not a fully standardized
     language and each compiler follows the incomplete standard to
     various degrees, so often there are many but simple problems when
     porting to new C++ compilers.  We are trying to deal with this by
     increasing our support.  However, it is likely that small changes
     will be required for C++ compilers we have not yet tested the
     system under.

     However we feel this is stable enough to make it worthwhile
     attempting ports to other C++ compilers that we haven't tried yet.

   We have successfully compiled and tested the speech tools on the
following systems:
   * Sun Sparc Solaris 2.5.1/2.6: GCC 2.7.2, GCC 2.6.3, GCC 2.8.1,
     SunCC 3.01, SunCC 4.1

   * Sun Sparc SunOS 4.1.3: GCC 2.7.2

   * Intel Solaris 2.5.1: GCC 2.7.2

   * FreeBSD for Intel 2.1.7, 2.2.1, 2.2.6: GCC 2.6.3, GCC 2.7.2.1

   * Linux (2.0.30) for Intel (RedHat 4.[012]/5.[01]): GCC 2.7.2, GCC
     2.7.2/egcs-1.0.2

   * Windows NT 4.0: GCC with egcs (from Cygnus GNU win32 b19), Visual
     C++ 5.0.

   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'

   Note the most common (highly recommended) change to the default
config is to allow the use of READLINE.  To allow it uncomment
     # INCLUDE_MODULES += READLINE

   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 readline
libraries and Netaudio libraries.

Future releases
===============

   In the future we hope to provide the following:

   * Speech recognition We have some classses already but the inclusion
     of an HMM class, and various decoders are already in development.

   * Statistics: Likewise, only a rough implementation of some routines
     are available at present.

   * User interface: Some functions in the library are intended for
     public use, others are for internal use only. This distinction
     isn't particularly clear. In the future this distinction will be
     made explicit, giving a clear indication which functions should be
     called and which should be avoided.

   * Documentation: Documentation can always be better and the speech
     tools are no exception.