Skip to content

Commit 645fd64

Browse files
committed
first commit -- transfer fron festvox.org CVS
0 parents  commit 645fd64

File tree

945 files changed

+187076
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

945 files changed

+187076
-0
lines changed

INSTALL

+291
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,291 @@
1+
INSTALLATION
2+
3+
Release notes
4+
5+
This documentation covers version 2.4 of the Edinburgh Speech Tools
6+
Library. While previous versions of the speech tools were primarily
7+
released solely to support the Festival Speech Synthesis System, the
8+
Edinburgh Speech Tools Library now contains sufficiently useful tools
9+
that it is of use in its own right.
10+
11+
Although hope that the speech tools has stabilised to a certain extent
12+
and less structural changes will occur in future versions we don't
13+
guaranteed future compatibility, although every effort will be made to
14+
make upgrading as easy as possible. In addition, we warn that while
15+
several programs and routines are quite mature, others are young and
16+
have not be rigorously tested. Please do not assume these programs
17+
work.
18+
19+
Requirements
20+
21+
In order to compile and install the Edinburgh Speech Tools you need
22+
the following
23+
24+
GNU make
25+
26+
Any recent version, the various make programs that come with different
27+
UNIX systems are wildly varying and hence it makes it too difficult to
28+
write Makefiles which are portable, so we depend on a version of make
29+
which is available for all of the platforms we are aiming at.
30+
31+
A C++ compiler
32+
33+
The system was developed primarily with GNU C++ (various versions from
34+
version 2.7.2), but we also have compiled it successfully with a
35+
number of other versions of gcc, and Visual C++.
36+
37+
Hopefully we have now sanitized the code sufficiently to to make it
38+
possible for ports to other C++ compilers without too much
39+
difficulty. But please note C++ is not a fully standardized language
40+
and each compiler follows the incomplete standard to various
41+
degrees. Often there are many but simple problems when porting to new
42+
C++ compilers. We are trying to deal with this by increasing our
43+
support. However, it is likely that small changes will be required for
44+
C++ compilers we have not yet tested the system under.
45+
46+
However we feel this is stable enough to make it worthwhile attempting
47+
ports to other C++ compilers that we haven't tried yet.
48+
49+
Before installing the speech tools it is worth ensuring you have a
50+
fully installed and working version of your C++ compiler. Most of the
51+
problems people have had in installing the speech tools have been due
52+
to incomplete or bad compiler installation. It might be worth checking
53+
if the following program works, if you don't know if anyone has used
54+
your C++ installation before.
55+
56+
#include <iostream.h>
57+
int main (int argc, char **argv)
58+
{
59+
cout << "Hello world\n";
60+
}
61+
62+
63+
Supported Systems
64+
65+
We have successfully compiled and tested the speech tools on the
66+
following systems, except where specified we include support for both
67+
shared and static versions of the libraries:
68+
69+
Sun Sparc Solaris 2.5.1/2.6/2.7/2.9
70+
GCC 2.7.2, GCC 2.8.1, gcc-2.95.3, gcc-3.2 gcc-3.3
71+
72+
MacOS GCC 4.2.1 (Snow Leopard default)
73+
74+
Linux GCC 4.2 - 4.8.0
75+
76+
Windows 7/8 GCC (from Cygwin 1.7), Visual C++ (VS2010,VS2012).
77+
78+
As stated before C++ compilers are not standard and it is non-trivial
79+
to find the correct dialect which compiles under all. We recommend
80+
the use of GCC 4.6 if you can use it, it is the most likely one to
81+
work. Some of the compilers listed above produce a large number of
82+
warnings when compiling the code.
83+
84+
Previous versions of the system have successfully compiled under SGI
85+
IRIX 5.3, 6.x, OSF (Alphas) and HPUX but at time of writing this we have
86+
not yet rechecked this version. AIX4.3 probably works.
87+
88+
89+
Java is no longer supported!
90+
91+
The java directory contains optional Java classes which give some
92+
access to speech tools facilities from Java programs. This has been
93+
created to support the fringe graphical interface. There are three
94+
levels of support enabled by the JAVA JAVA_MEDIA and JAVA_CPP options
95+
in the config file. JAVA compiles some very basic classes intended to
96+
allow very simple simulation of speech tools facilities in pure Java
97+
programs. JAVA_MEDIA is similar but uses the Jva Media Framework to
98+
play sound. JAVA_CPP compiles classes which use the Java native
99+
interface to provide access to the actual speech tools C++ classes.
100+
101+
You may (for instance on Solaris using gcc) need to make shared
102+
libraries for some compiler support libraries in order to comple the
103+
full JAVA_CPP support. See Appendix A for details.
104+
105+
Windows 95/98/NT/XP/Vista/7/8 Port
106+
107+
We have done two ports of this code to Windows machines, one uses the
108+
Cygwin package, which provides a Unix like environment under on Win32
109+
systems, the other is a native port using Visual C++.
110+
111+
We recommend using only Windows 7.
112+
113+
The port using Visual C++ does not provide all of the
114+
features of the Unix and Cygwin versions. You will need access to a
115+
Unix or Cygwin system to create the makefiles used for the Visual C++
116+
compilation.
117+
118+
Both Cygwin and Visual C++ ports have a number of limitations.
119+
120+
Shared library creation is not supported.
121+
Creation of Windows DLLs is different enough from creation of Unix
122+
shared libraries that the support does not carry directly across, and
123+
we haven't yet had time to work on it.
124+
125+
Java not supported
126+
Because the Java support is related to the creation of shared
127+
libraries, this is also not yet implemented for Windows.
128+
129+
Command line editing limited
130+
Because of the limits of the Windows DOS console window, the
131+
command line editing in siod is less reliable (for instance on
132+
very long lines).
133+
134+
(Visual C++) Networking not supported
135+
Networking under Win32 is different from Unix in a number of
136+
fairly fundamental ways, we haven't tackled this at all.
137+
138+
There are no doubt other differences we have not noticed. We don't use
139+
Windows for any of our work and so the Windows builds of our systems
140+
don't get the extensive use the unix builds do.
141+
142+
BUILDING IT
143+
144+
Configuration
145+
146+
All compile-time configuration for the system is done through GNU
147+
configure. On most systems you can configure the system
148+
by
149+
150+
unix$ ./configure
151+
152+
This creates the file config/config which for most machines will be
153+
suitable. In some circumstances the default.s generated from this
154+
may not be what you want and you may wish to edit this file.
155+
156+
For Linux we now fully support shared libraries and even recommend
157+
them. However if you are going to do a lot of development and don't
158+
understand the consequences of shared libraries and getting
159+
LD_LIBRARY_PATH correct (or what that is) we recommend you compile
160+
unshared, the default. If you are going to simply run the speech tools
161+
(and festival) then shared is a reasonable option. Uncomment the line
162+
in the config file
163+
164+
# SHARED = 2
165+
166+
Shared support under Solaris is complete for all the speech tools. If
167+
you need to exec festival scripts using a version of festival built
168+
with shared libraries, you must either execute them from a featureful
169+
shell (e.g. bash), install the shared libraries in a standard place or
170+
explicitly set LD_LIBRARY_PATH. Solaris's standard shell doesn't
171+
support script execution of shells within shells.
172+
173+
Simple choices for common set ups are given near the top of this
174+
file. But for some sub-systems you will also need to change pathnames
175+
for external library support.
176+
177+
Compilation
178+
179+
Once you have configured config/config you can compile the system.
180+
181+
unix$ gmake
182+
183+
Note this must be GNU make, which may be called make on your system,
184+
or gmake or gnumake. This will compile all library functions and all
185+
the executables. If you wish to only compile the library itself then
186+
use
187+
188+
unix$ gmake make_library
189+
190+
Note that if you compile with -g (uncommenting DEBUG = 1 is
191+
config/config the library and the corresponding binaries will be
192+
large. Particularly the executables, you will need in order of 150
193+
megabytes to compile the system, if your C++ libraries are not
194+
compiled as shared libraries. If you compile without -g the whole
195+
library directory is about 12 megabytes on Linux (which has shared
196+
libraries for libstdc++ or about 26 megabytes of Sparc Solaris (which
197+
does not have a shared library libstdc++ by default). This is almost
198+
entirely due to the size of the executables. C++ does not make small
199+
binaries.
200+
201+
In general we have made the system compile with no warnings. However
202+
for some compilers this has proved to be near impossible. SunOS
203+
include files have a number of system declarations missing, so many
204+
system functions (e.g. fprintf) will appear to be undeclared. Sun's CC
205+
compiler also likes to complain about missing source for some code
206+
even though the code exists within our system and is deliberately in
207+
separate files ro make it modular.
208+
209+
To test the system after compilation
210+
211+
unix$ gmake test
212+
213+
Installing the system
214+
215+
All executables are linked to from speech_tools/bin and you should add
216+
that to your PATH in order to use them.
217+
218+
Include files are speech_tools/include/ and the three generated
219+
libraries are speech_tools/lib/libestools.a,
220+
speech_tools/lib/libestbase.a and speech_tools/lib/libestring.a. For
221+
most cases a three will be required.
222+
223+
If space is a premium, compiled with the shared option (binaries
224+
will be then be substantially smaller) and you can delete all .o files
225+
226+
Some aspects of the system have further dependencies which depend of
227+
the option selected at compile time. Specifically the readline
228+
libraries and Netaudio libraries.
229+
230+
These are uptodate instructions for Visual C++ builds.
231+
VS2010 was tested but older versions may work
232+
233+
Requirements:
234+
MS Windows 7 (or Windows 8)
235+
Visual C++ (VS2010 or VS2012)
236+
cygwin 1.7 or later
237+
speech_tools-2.3
238+
festival-2.3
239+
240+
Download and install cygwin.
241+
Optionally download emacs so you have a decent editor :)
242+
Download speech_tools and festival tar.gz files.
243+
Download required festival lexicons and voices.
244+
245+
Using cygwins bash shell:
246+
mkdir C:/festival
247+
cd C:/festival
248+
249+
Using cygwin's tar command unpack:
250+
tar xvfz speech_tools-2.3.tar.gz
251+
tar xvfz festival-2.3.tar.gz
252+
tar xvfz festlex... festvox...
253+
(where festlex... and festvox... are the voice and lexicon files you
254+
need. Do not use winzip to unpack the voices it corrupts them!)
255+
256+
Create Visual C++ make files: (this may be slow...)
257+
cd speech_tools
258+
make VCMakefile
259+
cp config/vc_config_make_rules-dist config/vc_config_make_rules
260+
261+
cd ../festival
262+
make VCMakefile
263+
cp config/vc_config_make_rules-dist config/vc_config_make_rules
264+
265+
Finally make festival init_modules code. (If you add new modules you
266+
either need to edit init_modules.cc by hand or rerun this step.)
267+
make -C src/modules init_modules.cc
268+
269+
edit config/vc_config_make_rules and change:
270+
SYSTEM_LIB=c:\\festival\\lib
271+
to:
272+
SYSTEM_LIB=c:\\festival\\festival\\lib
273+
(or to wherever you unpacked festival)
274+
275+
Now switch to a windows command prompt.
276+
If necessary execute: VCVARSALL.BAT from the VC++ directory structure to set up
277+
VC++ environment. (you may do this automatically at boot or login, or it should be
278+
automatic if using the terminal provided by Visual studio)
279+
280+
Build speech_tools and festival:
281+
cd c:\festival\speech_tools
282+
nmake /nologo /FVCMakefile
283+
284+
cd ..\festival
285+
nmake /nologo /FVCMakefile
286+
287+
At this point you should be able to run festival by typing:
288+
src\main\festival
289+
290+
291+

0 commit comments

Comments
 (0)