text2wave,saytime: fix %_builddir references in scripts [release 2.1-2mamba;Wed Jul 17 2013]
This commit is contained in:
parent
e1c9041a93
commit
6bc60c33a6
@ -1,2 +1,6 @@
|
||||
# festival
|
||||
|
||||
Festival offers a general framework for building speech synthesis systems as well as including examples of various modules. As a whole it offers full text to speech through a number APIs: from shell level, though a Scheme command interpreter, as a C++ library, from Java, and an Emacs interface. Festival is multi-lingual (currently English (British and American), and Spanish) though English is the most advanced. Other groups release new languages for the system. And full tools and documentation for build new voices are available through Carnegie Mellon's FestVox project (http://festvox.org)
|
||||
The system is written in C++ and uses the Edinburgh Speech Tools Library for low level architecture and has a Scheme (SIOD) based command interpreter for control. Documentation is given in the FSF texinfo format which can generate, a printed manual, info files and HTML.
|
||||
Festival is free software. Festival and the speech tools are distributed under an X11-type licence allowing unrestricted commercial and non-commercial use alike.
|
||||
|
||||
|
33
festival-1.96-bettersonamehack.patch
Normal file
33
festival-1.96-bettersonamehack.patch
Normal file
@ -0,0 +1,33 @@
|
||||
--- speech_tools/config/rules/library.mak.soname 2001-04-04 07:55:32.000000000 -0400
|
||||
+++ speech_tools/config/rules/library.mak 2007-03-16 14:13:59.000000000 -0400
|
||||
@@ -103,14 +103,14 @@
|
||||
###########################################################################
|
||||
|
||||
lib%.so : lib%.a
|
||||
- @echo Make Shared Library $*
|
||||
+ @echo Make Shared Library $(*F)
|
||||
@if [ ! -d shared_space ] ; then mkdir shared_space ; else $(RM) -f shared_space/*.o ; fi
|
||||
@(cd shared_space ; $(AR) x ../$< )
|
||||
- @echo Link Shared Library $*
|
||||
- if [ -n "$(PROJECT_LIBRARY_NEEDS_SYSLIBS_$*)" ] ; then libs='$(JAVA_PROJECT_LIBS)' ; fi ;\
|
||||
- $(subst XXX,$@.$(PROJECT_LIBRARY_VERSION_$*),$(MAKE_SHARED_LIB)) shared_space/*.o $(PROJECT_LIBRARY_USES_$*:%=-L. -l%) $$libs
|
||||
+ @echo Link Shared Library $(*F)
|
||||
+ if [ -n "$(PROJECT_LIBRARY_NEEDS_SYSLIBS_$(*F))" ] ; then libs='$(JAVA_PROJECT_LIBS)' ; fi ;\
|
||||
+ $(subst XXX,$@.$(PROJECT_LIBRARY_VERSION_$(*F)),$(subst YYY,$(@F).$(PROJECT_LIBRARY_VERSION_$(*F)),$(MAKE_SHARED_LIB))) shared_space/*.o $(PROJECT_LIBRARY_USES_$(*F):%=-L. -l%) $$libs
|
||||
@$(RM) -f shared_space/*.o $@
|
||||
- @ln -s $@.$(PROJECT_LIBRARY_VERSION_$*) $@
|
||||
+ @ln -s $(@F).$(PROJECT_LIBRARY_VERSION_$(*F)) $@
|
||||
|
||||
###########################################################################
|
||||
## ##
|
||||
--- speech_tools/config/compilers/gcc_defaults.mak.soname 2007-03-16 12:43:31.000000000 -0400[0;0m
|
||||
+++ speech_tools/config/compilers/gcc_defaults.mak 2007-03-16 13:30:11.000000000 -0400[0;0m
|
||||
@@ -78,7 +78,7 @@
|
||||
SHARED_LINKFLAGS = -fno-shared-data
|
||||
|
||||
ifndef GCC_MAKE_SHARED_LIB
|
||||
- MAKE_SHARED_LIB = $(CXX) -shared -fno-shared-data -o XXX
|
||||
+ MAKE_SHARED_LIB = $(CXX) -shared -fno-shared-data -o XXX -Wl,-soname,YYY
|
||||
else
|
||||
MAKE_SHARED_LIB = $(GCC_MAKE_SHARED_LIB)
|
||||
endif
|
16
festival-1.96-enable_esd_audio.patch
Normal file
16
festival-1.96-enable_esd_audio.patch
Normal file
@ -0,0 +1,16 @@
|
||||
diff -Nru speech_tools.orig/config/config.in speech_tools/config/config.in
|
||||
--- speech_tools.orig/config/config.in 2006-07-08 20:06:18.000000000 +0200
|
||||
+++ speech_tools/config/config.in 2007-08-01 03:30:11.000000000 +0200
|
||||
@@ -80,10 +80,10 @@
|
||||
# INCLUDE_MODULES += NAS_AUDIO
|
||||
|
||||
## Elightenment Sound Demon, for KDE etc.
|
||||
-# INCLUDE_MODULES += ESD_AUDIO
|
||||
+INCLUDE_MODULES += ESD_AUDIO
|
||||
|
||||
## Native audio for your platform (sun, linux, freebsd, irix, macosx, windows)
|
||||
-INCLUDE_MODULES += NATIVE_AUDIO
|
||||
+#INCLUDE_MODULES += NATIVE_AUDIO
|
||||
|
||||
## Special code to run Windows MPLAYER
|
||||
# INCLUDE_MODULES += MPLAYER_AUDIO
|
55
festival-1.96-etcsiteinit.patch
Normal file
55
festival-1.96-etcsiteinit.patch
Normal file
@ -0,0 +1,55 @@
|
||||
diff -ur festival.orig/lib/init.scm festival/lib/init.scm
|
||||
--- festival.orig/lib/init.scm 2004-07-15 19:03:04.000000000 -0400
|
||||
+++ festival/lib/init.scm 2007-03-15 11:58:09.000000000 -0400
|
||||
@@ -55,6 +55,10 @@
|
||||
(if (probe_file (path-append libdir "sitevars.scm"))
|
||||
(load (path-append libdir "sitevars.scm")))
|
||||
|
||||
+(if (probe_file "/etc/festival/sitevars.scm")
|
||||
+ (load "/etc/festival/sitevars.scm"))
|
||||
+
|
||||
+
|
||||
;;; CSTR siod extensions
|
||||
(require 'cstr)
|
||||
|
||||
@@ -98,7 +102,7 @@
|
||||
(t ;; can't find direct support so guess that /dev/audio for 8k ulaw exists
|
||||
(Parameter.def 'Audio_Method 'sunaudio)))
|
||||
;;; If you have an external program to play audio add its definition
|
||||
-;;; in siteinit.scm
|
||||
+;;; in ~/.festivalrc or /etc/festival/siteinit.scm
|
||||
|
||||
;;; The audio spooler doesn't work under Windows so redefine audio_mode
|
||||
(if (member 'mplayeraudio *modules*)
|
||||
@@ -135,9 +139,13 @@
|
||||
;;;
|
||||
;;; Local site initialization, if the file exists load it
|
||||
;;;
|
||||
+
|
||||
(if (probe_file (path-append libdir "siteinit.scm"))
|
||||
(load (path-append libdir "siteinit.scm")))
|
||||
|
||||
+(if (probe_file "/etc/festival/siteinit.scm")
|
||||
+ (load "/etc/festival/siteinit.scm"))
|
||||
+
|
||||
;;; User initialization, if a user has a personal customization
|
||||
;;; file loaded it
|
||||
(if (probe_file (path-append home-directory ".siodrc"))
|
||||
diff -ur festival.orig/lib/voices.scm festival/lib/voices.scm
|
||||
--- festival.orig/lib/voices.scm 2005-05-02 10:20:37.000000000 -0400
|
||||
+++ festival/lib/voices.scm 2007-03-15 12:00:19.000000000 -0400
|
||||
@@ -45,12 +45,12 @@
|
||||
(defvar system-voice-path '( )
|
||||
"system-voice-path
|
||||
Additional directory not near the load path where voices can be
|
||||
- found, this can be redefined in lib/sitevars.scm if desired.")
|
||||
+ found, this can be redefined in /etc/festival/sitevars.scm if desired.")
|
||||
|
||||
(defvar system-voice-path-multisyn '( )
|
||||
"system-voice-path-multisyn
|
||||
Additional directory not near the load path where multisyn voices can be
|
||||
- found, this can be redefined in lib/sitevars.scm if desired.")
|
||||
+ found, this can be redefined in /etc/festival/sitevars.scm if desired.")
|
||||
|
||||
(defvar voice-path
|
||||
(remove-duplicates
|
36
festival-1.96-gcc43.patch
Normal file
36
festival-1.96-gcc43.patch
Normal file
@ -0,0 +1,36 @@
|
||||
diff -up festival/src/modules/Text/text_modes.cc.gcc43 festival/src/modules/Text/text_modes.cc
|
||||
--- festival/src/modules/Text/text_modes.cc.gcc43 2008-02-22 21:50:33.000000000 -0500
|
||||
+++ festival/src/modules/Text/text_modes.cc 2008-02-22 21:50:41.000000000 -0500
|
||||
@@ -59,8 +59,8 @@ static void um_apply_filter(const EST_St
|
||||
void tts_file_user_mode(LISP filename, LISP params)
|
||||
{
|
||||
|
||||
- volatile EST_String tmpname = make_tmp_filename();
|
||||
- volatile EST_String inname = get_c_string(filename);
|
||||
+ EST_String tmpname = make_tmp_filename();
|
||||
+ EST_String inname = get_c_string(filename);
|
||||
volatile EST_String filter;
|
||||
volatile EST_TokenStream ts;
|
||||
volatile LISP func;
|
||||
diff -up speech_tools/base_class/EST_TSimpleVector.cc.gcc43 festival/speech_tools/base_class/EST_TSimpleVector.cc
|
||||
--- speech_tools/base_class/EST_TSimpleVector.cc.gcc43 2006-07-06 08:57:18.000000000 -0400
|
||||
+++ speech_tools/base_class/EST_TSimpleVector.cc 2008-02-22 21:43:03.000000000 -0500
|
||||
@@ -43,6 +43,7 @@
|
||||
#include "EST_TSimpleVector.h"
|
||||
#include "EST_matrix_support.h"
|
||||
#include <fstream>
|
||||
+#include <cstring>
|
||||
#include "EST_cutils.h"
|
||||
|
||||
template<class T> void EST_TSimpleVector<T>::copy(const EST_TSimpleVector<T> &a)
|
||||
diff -up speech_tools/base_class/EST_TSimpleMatrix.cc.gcc43 festival/speech_tools/base_class/EST_TSimpleMatrix.cc
|
||||
--- speech_tools/base_class/EST_TSimpleMatrix.cc.gcc43 2004-09-30 08:53:35.000000000 -0400
|
||||
+++ speech_tools/base_class/EST_TSimpleMatrix.cc 2008-02-22 21:43:03.000000000 -0500
|
||||
@@ -44,6 +44,7 @@
|
||||
#include "EST_TVector.h"
|
||||
#include <fstream>
|
||||
#include <iostream>
|
||||
+#include <cstring>
|
||||
#include "EST_cutils.h"
|
||||
|
||||
template<class T>
|
22
festival-1.96-gcc44.patch
Normal file
22
festival-1.96-gcc44.patch
Normal file
@ -0,0 +1,22 @@
|
||||
diff -up festival/speech_tools/speech_class/EST_wave_io.cc.gcc44 festival/speech_tools/speech_class/EST_wave_io.cc
|
||||
--- speech_tools/speech_class/EST_wave_io.cc.gcc44 2009-02-26 17:26:58.672421948 -0500
|
||||
+++ speech_tools/speech_class/EST_wave_io.cc 2009-02-26 17:50:02.065661124 -0500
|
||||
@@ -68,7 +68,7 @@ static const char *NIST_END_SIG = "end_h
|
||||
|
||||
int nist_get_param_int(const char *hdr, const char *field, int def_val)
|
||||
{
|
||||
- char *p;
|
||||
+ const char *p;
|
||||
int val;
|
||||
|
||||
if (((p=strstr(hdr,field)) != NULL) &&
|
||||
@@ -84,7 +84,8 @@ int nist_get_param_int(const char *hdr,
|
||||
|
||||
char *nist_get_param_str(const char *hdr, const char *field, const char *def_val)
|
||||
{
|
||||
- char *p,*val;
|
||||
+ const char *p;
|
||||
+ char *val;
|
||||
int size;
|
||||
|
||||
if (((p=strstr(hdr,field)) != NULL) &&
|
35
festival-1.96-kludge-etcpath-into-libarch.patch
Normal file
35
festival-1.96-kludge-etcpath-into-libarch.patch
Normal file
@ -0,0 +1,35 @@
|
||||
diff -ur festival.orig/speech_tools/main/siod_main.cc festival/speech_tools/main/siod_main.cc
|
||||
--- speech_tools/main/siod_main.cc 2004-09-30 08:53:36.000000000 -0400
|
||||
+++ speech_tools/main/siod_main.cc 2007-03-13 00:49:35.000000000 -0400
|
||||
@@ -224,10 +224,10 @@
|
||||
cons(flocons(subminor),NIL))));
|
||||
|
||||
EST_Pathname etcdircommon = est_libdir;
|
||||
- etcdircommon += "etc";
|
||||
+ etcdircommon += "etc/";
|
||||
|
||||
- EST_Pathname etcdir = etcdircommon;
|
||||
- etcdir += est_ostype;
|
||||
+ EST_Pathname etcdir = {{HORRIBLELIBARCHKLUDGE}};
|
||||
+ etcdir += "festival/etc/";
|
||||
|
||||
// Modify my PATH to include these directories
|
||||
siod_set_lval("etc-path",cons(rintern(etcdir),
|
||||
diff -ur festival.orig/src/arch/festival/festival.cc festival/src/arch/festival/festival.cc
|
||||
--- festival.orig/src/arch/festival/festival.cc 2007-03-13 00:41:42.000000000 -0400
|
||||
+++ festival/src/arch/festival/festival.cc 2007-03-13 00:47:55.000000000 -0400
|
||||
@@ -349,10 +349,10 @@
|
||||
proclaim_module("mplayeraudio");
|
||||
|
||||
// Add etc-dir path and machine specific directory etc/$OSTYPE
|
||||
- char *etcdir = walloc(char,strlen(festival_libdir)+strlen("etc/")+
|
||||
- strlen(FTOSTYPE)+3);
|
||||
- sprintf(etcdir,"%s/etc/%s/",festival_libdir,FTOSTYPE);
|
||||
- char *etcdircommon = walloc(char,strlen(festival_libdir)+strlen("etc/")+3);
|
||||
+ char *etcdir = walloc(char,strlen({{HORRIBLELIBARCHKLUDGE}})+
|
||||
+ strlen("etc/festival/")+2);
|
||||
+ sprintf(etcdir,"%s/festival/etc/",{{HORRIBLELIBARCHKLUDGE}});
|
||||
+ char *etcdircommon = walloc(char,strlen(festival_libdir)+strlen("etc/")+2);
|
||||
sprintf(etcdircommon,"%s/etc/",festival_libdir);
|
||||
|
||||
// Modify my PATH to include these directories
|
37
festival-1.96-main-shared-build.patch
Normal file
37
festival-1.96-main-shared-build.patch
Normal file
@ -0,0 +1,37 @@
|
||||
--- speech_tools/config/rules/defaults.mak.orig 2007-03-16 12:39:12.000000000 -0400
|
||||
+++ speech_tools/config/rules/defaults.mak 2007-03-16 12:39:19.000000000 -0400
|
||||
@@ -69,15 +69,21 @@
|
||||
MADE_FROM_ABOVE:=$(N)
|
||||
endif
|
||||
|
||||
+ifneq ($(SHARED),0)
|
||||
+ LIBTYPE=so
|
||||
+else
|
||||
+ LIBTYPE=a
|
||||
+endif
|
||||
+
|
||||
ifndef PROJECT_LIBDEPS
|
||||
- PROJECT_LIBDEPS = $(foreach l,$(PROJECT_LIBRARIES),$(PROJECT_LIBRARY_DIR_$(l))/lib$(l).a)
|
||||
+ PROJECT_LIBDEPS = $(foreach l,$(PROJECT_LIBRARIES),$(PROJECT_LIBRARY_DIR_$(l))/lib$(l).$(LIBTYPE))
|
||||
endif
|
||||
ifndef PROJECT_LIBS
|
||||
PROJECT_LIBS = $(foreach l,$(PROJECT_LIBRARIES),-L$(PROJECT_LIBRARY_DIR_$(l)) -l$(l))
|
||||
endif
|
||||
|
||||
ifndef REQUIRED_LIBDEPS
|
||||
- REQUIRED_LIBDEPS = $(foreach l,$(REQUIRED_LIBRARIES),$(REQUIRED_LIBRARY_DIR_$(l))/lib$(l).a)
|
||||
+ REQUIRED_LIBDEPS = $(foreach l,$(REQUIRED_LIBRARIES),$(REQUIRED_LIBRARY_DIR_$(l))/lib$(l).$(LIBTYPE))
|
||||
endif
|
||||
ifndef REQUIRED_LIBS
|
||||
REQUIRED_LIBS = $(foreach l,$(REQUIRED_LIBRARIES),-L$(REQUIRED_LIBRARY_DIR_$(l)) -l$(l))
|
||||
--- festival/config/project.mak.orig 2007-03-16 13:01:40.000000000 -0400
|
||||
+++ festival/config/project.mak 2007-03-16 13:02:24.000000000 -0400
|
||||
@@ -84,6 +84,8 @@
|
||||
PROJECT_LIBRARY_DIR_Festival = $(TOP)/src/lib
|
||||
PROJECT_DEFAULT_LIBRARY = Festival
|
||||
|
||||
+PROJECT_LIBRARY_VERSION_Festival = $(PROJECT_VERSION).0
|
||||
+
|
||||
# Libraries used from other projects
|
||||
|
||||
REQUIRED_LIBRARIES = estools estbase eststring
|
20
festival-1.96-no-shared-data.patch
Normal file
20
festival-1.96-no-shared-data.patch
Normal file
@ -0,0 +1,20 @@
|
||||
diff -up festival/speech_tools/config/compilers/gcc_defaults.mak.no-shared-data festival/speech_tools/config/compilers/gcc_defaults.mak
|
||||
--- speech_tools/config/compilers/gcc_defaults.mak.no-shared-data 2008-02-22 13:45:50.000000000 -0500
|
||||
+++ speech_tools/config/compilers/gcc_defaults.mak 2008-02-22 13:46:24.000000000 -0500
|
||||
@@ -73,12 +73,12 @@ PROFILE_gprof_CCFLAGS = -pg
|
||||
PROFILE_gprof_CXXFLAGS = -pg
|
||||
PROFILE_gprof_LINKFLAGS = -pg
|
||||
|
||||
-SHARED_CCFLAGS = -fPIC -fno-shared-data
|
||||
-SHARED_CXXFLAGS = -fPIC -fno-shared-data
|
||||
-SHARED_LINKFLAGS = -fno-shared-data
|
||||
+SHARED_CCFLAGS = -fPIC
|
||||
+SHARED_CXXFLAGS = -fPIC
|
||||
+SHARED_LINKFLAGS =
|
||||
|
||||
ifndef GCC_MAKE_SHARED_LIB
|
||||
- MAKE_SHARED_LIB = $(CXX) -shared -fno-shared-data -o XXX -Wl,-soname,YYY
|
||||
+ MAKE_SHARED_LIB = $(CXX) -shared -o XXX -Wl,-soname,YYY
|
||||
else
|
||||
MAKE_SHARED_LIB = $(GCC_MAKE_SHARED_LIB)
|
||||
endif
|
1227
festival-1.96-speechtools-1.2.96-beta+awb.patch
Normal file
1227
festival-1.96-speechtools-1.2.96-beta+awb.patch
Normal file
File diff suppressed because it is too large
Load Diff
14
festival-1.96-speechtools-linklibswithotherlibs.patch
Normal file
14
festival-1.96-speechtools-linklibswithotherlibs.patch
Normal file
@ -0,0 +1,14 @@
|
||||
--- speech_tools/config/project.mak.orig 2007-03-13 15:27:53.000000000 -0400
|
||||
+++ speech_tools/config/project.mak 2007-03-13 15:29:12.000000000 -0400
|
||||
@@ -99,8 +99,9 @@
|
||||
PROJECT_LIBRARY_DIR_eststring = $(TOP)/lib
|
||||
PROJECT_LIBRARY_DIR_estjava = $(TOP)/lib
|
||||
|
||||
-PROJECT_LIBRARY_USES_estbase = eststring
|
||||
-
|
||||
+PROJECT_LIBRARY_USES_estbase = eststring m
|
||||
+PROJECT_LIBRARY_USES_estools = estbase m ncurses
|
||||
+PROJECT_LIBRARY_USES_eststring = m
|
||||
PROJECT_LIBRARY_USES_estjava = estbase eststring
|
||||
|
||||
PROJECT_LIBRARY_VERSION_estools = $(PROJECT_VERSION).1
|
13
festival-1.96-speechtools-ohjeezcxxisnotgcc.patch
Normal file
13
festival-1.96-speechtools-ohjeezcxxisnotgcc.patch
Normal file
@ -0,0 +1,13 @@
|
||||
--- speech_tools/config/compilers/gcc_defaults.mak.orig 2007-03-13 16:28:39.000000000 -0400
|
||||
+++ speech_tools/config/compilers/gcc_defaults.mak 2007-03-13 16:28:59.000000000 -0400
|
||||
@@ -39,10 +39,7 @@
|
||||
###########################################################################
|
||||
|
||||
CC=gcc
|
||||
-CXX=gcc
|
||||
-ifeq ($(OSTYPE),Darwin)
|
||||
CXX=g++
|
||||
-endif
|
||||
|
||||
COMPILER_DESC=FSF gcc
|
||||
COMPILER_VERSION_COMMAND=$(CXX) -v 2>&1 | tail -1 | sed -e 's/^....//'
|
360
festival-2.1-OGIresLPC-gcc-4.7.patch
Normal file
360
festival-2.1-OGIresLPC-gcc-4.7.patch
Normal file
@ -0,0 +1,360 @@
|
||||
diff -ru festival-2.1/festival/src/modules/OGIcommon/OGIcommon.cc festival-2.1.buono/festival/src/modules/OGIcommon/OGIcommon.cc
|
||||
--- festival-2.1/festival/src/modules/OGIcommon/OGIcommon.cc 2006-12-05 23:38:01.000000000 +0100
|
||||
+++ festival-2.1.buono/festival/src/modules/OGIcommon/OGIcommon.cc 2012-07-17 13:44:54.871361181 +0200
|
||||
@@ -111,7 +111,7 @@
|
||||
|
||||
// loop through items
|
||||
int n=0;
|
||||
- for (i0=r->first(); i0 != 0; i0=next(i0)) {
|
||||
+ for (i0=r->first(); i0 != 0; i0=i0->next()) {
|
||||
names.append(i0->name());
|
||||
y[n] = i0->F("end");
|
||||
n++;
|
||||
diff -ru festival-2.1/festival/src/modules/OGIcommon/OGIduration.cc festival-2.1.buono/festival/src/modules/OGIcommon/OGIduration.cc
|
||||
--- festival-2.1/festival/src/modules/OGIcommon/OGIduration.cc 2006-12-05 23:38:01.000000000 +0100
|
||||
+++ festival-2.1.buono/festival/src/modules/OGIcommon/OGIduration.cc 2012-07-17 13:46:24.807426415 +0200
|
||||
@@ -36,7 +36,7 @@
|
||||
// Loop thru segments
|
||||
for (useg=u->relation("Segment")->head(), sseg=u->relation("SrcSeg")->head();
|
||||
((useg!=0) && (sseg!=0));
|
||||
- useg=next(useg), sseg=next(sseg)) {
|
||||
+ useg=useg->next(), sseg=sseg->next()) {
|
||||
|
||||
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
// Loop thru segments
|
||||
for (useg=u->relation("Segment")->head(), sseg=u->relation("SrcSeg")->head();
|
||||
((useg!=0) && (sseg!=0));
|
||||
- useg=next(useg), sseg=next(sseg)) {
|
||||
+ useg=useg->next(), sseg=sseg->next()) {
|
||||
|
||||
if (sseg->name() != useg->name())
|
||||
sseg->set_name(useg->name());
|
||||
diff -ru festival-2.1/festival/src/modules/OGIcommon/OGI_file.cc festival-2.1.buono/festival/src/modules/OGIcommon/OGI_file.cc
|
||||
--- festival-2.1/festival/src/modules/OGIcommon/OGI_file.cc 2006-12-05 23:38:01.000000000 +0100
|
||||
+++ festival-2.1.buono/festival/src/modules/OGIcommon/OGI_file.cc 2012-07-17 13:44:21.807704834 +0200
|
||||
@@ -181,7 +181,7 @@
|
||||
size_t fps = ftell(fp);
|
||||
|
||||
fprintf(fp, "KVL %d ", kvl.length());
|
||||
- for (l=kvl.head(); l!=0; l=next(l)){
|
||||
+ for (l=kvl.head(); l!=0; l=l->next()){
|
||||
fprintf(fp, "%s %s ", kvl.key(l).str(), kvl.val(l).str());
|
||||
}
|
||||
fprintf(fp, "%s ", ENDKEY.str());
|
||||
diff -ru festival-2.1/festival/src/modules/OGIcommon/OGIgain.cc festival-2.1.buono/festival/src/modules/OGIcommon/OGIgain.cc
|
||||
--- festival-2.1/festival/src/modules/OGIcommon/OGIgain.cc 2006-12-05 23:38:01.000000000 +0100
|
||||
+++ festival-2.1.buono/festival/src/modules/OGIcommon/OGIgain.cc 2012-07-17 13:46:56.624095722 +0200
|
||||
@@ -49,7 +49,7 @@
|
||||
|
||||
// remove any in region where we will insert
|
||||
p_gitem = NULL;
|
||||
- for (gitem=grel->head(); gitem!=0; gitem=next(gitem)){
|
||||
+ for (gitem=grel->head(); gitem!=0; gitem=gitem->next()){
|
||||
if (p_gitem){
|
||||
p_gitem->unref_all();
|
||||
}
|
||||
@@ -63,7 +63,7 @@
|
||||
}
|
||||
|
||||
p_gitem = NULL;
|
||||
- for (gitem=grel->head(); gitem!=0; gitem=next(gitem)){
|
||||
+ for (gitem=grel->head(); gitem!=0; gitem=gitem->next()){
|
||||
if (gitem->F("pos") >= B){
|
||||
break;
|
||||
}
|
||||
@@ -130,7 +130,7 @@
|
||||
float B = ffeature(seg, "start");
|
||||
float E = ffeature(seg, "end");
|
||||
|
||||
- for (gitem=u->relation("Gain")->head(); gitem!=0; gitem=next(gitem)){
|
||||
+ for (gitem=u->relation("Gain")->head(); gitem!=0; gitem=gitem->next()){
|
||||
if (gitem->f_present("pos")){
|
||||
if (gitem->F("pos") >= B) {
|
||||
if (gitem->F("pos") <= E){
|
||||
diff -ru festival-2.1/festival/src/modules/OGIcommon/OGI_WaveChunk.cc festival-2.1.buono/festival/src/modules/OGIcommon/OGI_WaveChunk.cc
|
||||
--- festival-2.1/festival/src/modules/OGIcommon/OGI_WaveChunk.cc 2006-12-05 23:38:01.000000000 +0100
|
||||
+++ festival-2.1.buono/festival/src/modules/OGIcommon/OGI_WaveChunk.cc 2012-07-17 13:45:45.779832055 +0200
|
||||
@@ -22,7 +22,7 @@
|
||||
int OGI_WaveChunk::which_chunk(int samp){
|
||||
int out=-1;
|
||||
EST_Litem *s;
|
||||
- for (s=true_samp.head(); s!=0; s=next(s)){
|
||||
+ for (s=true_samp.head(); s!=0; s=s->next()){
|
||||
if (true_samp(s) > samp)
|
||||
break;
|
||||
out++;
|
||||
@@ -132,22 +132,22 @@
|
||||
|
||||
NchunkV = true_samp.length();
|
||||
true_sampV = walloc(int, true_samp.length());
|
||||
- for (k=0,s=true_samp.head(); s!=0; s=next(s)){
|
||||
+ for (k=0,s=true_samp.head(); s!=0; s=s->next()){
|
||||
true_sampV[k++] = true_samp(s);
|
||||
}
|
||||
|
||||
startV = walloc(int, start.length());
|
||||
- for (k=0,s=start.head(); s!=0; s=next(s)){
|
||||
+ for (k=0,s=start.head(); s!=0; s=s->next()){
|
||||
startV[k++] = start(s);
|
||||
}
|
||||
|
||||
endV = walloc(int, end.length());
|
||||
- for (k=0,s=end.head(); s!=0; s=next(s)){
|
||||
+ for (k=0,s=end.head(); s!=0; s=s->next()){
|
||||
endV[k++] = end(s);
|
||||
}
|
||||
|
||||
offsetV = walloc(int, offset.length());
|
||||
- for (k=0,s=offset.head(); s!=0; s=next(s)){
|
||||
+ for (k=0,s=offset.head(); s!=0; s=s->next()){
|
||||
offsetV[k++] = offset(s);
|
||||
}
|
||||
done_setup_get = TRUE;
|
||||
diff -ru festival-2.1/festival/src/modules/OGIdbase/OGIresLPC_db.cc festival-2.1.buono/festival/src/modules/OGIdbase/OGIresLPC_db.cc
|
||||
--- festival-2.1/festival/src/modules/OGIdbase/OGIresLPC_db.cc 2006-12-05 23:38:05.000000000 +0100
|
||||
+++ festival-2.1.buono/festival/src/modules/OGIdbase/OGIresLPC_db.cc 2012-07-17 13:48:38.261039341 +0200
|
||||
@@ -77,7 +77,7 @@
|
||||
|
||||
void OGIresLPC_db::free_all_units(void){
|
||||
EST_Litem *p;
|
||||
- for (p = loaded_units.head(); p != 0; p = next(p)){
|
||||
+ for (p = loaded_units.head(); p != 0; p = p->next()){
|
||||
free_unit(loaded_units(p));
|
||||
}
|
||||
loaded_units.clear();
|
||||
diff -ru festival-2.1/festival/src/modules/OGIdbase/OGIunitsel_diphone.cc festival-2.1.buono/festival/src/modules/OGIdbase/OGIunitsel_diphone.cc
|
||||
--- festival-2.1/festival/src/modules/OGIdbase/OGIunitsel_diphone.cc 2006-12-05 23:38:05.000000000 +0100
|
||||
+++ festival-2.1.buono/festival/src/modules/OGIdbase/OGIunitsel_diphone.cc 2012-07-17 13:48:12.474307360 +0200
|
||||
@@ -40,9 +40,9 @@
|
||||
EST_Relation *dbSeg_rel = u->relation("dbUnit");
|
||||
|
||||
/// loop through Segment items
|
||||
- for (lseg=u->relation("Segment")->head(); lseg!=0; lseg=next(lseg)) {
|
||||
+ for (lseg=u->relation("Segment")->head(); lseg!=0; lseg=lseg->next()) {
|
||||
|
||||
- rseg = next(lseg);
|
||||
+ rseg = lseg->next();
|
||||
if (rseg != 0){
|
||||
|
||||
// Left phone name
|
||||
diff -ru festival-2.1/festival/src/modules/OGIresLPC/pmark_analysis.cc festival-2.1.buono/festival/src/modules/OGIresLPC/pmark_analysis.cc
|
||||
--- festival-2.1/festival/src/modules/OGIresLPC/pmark_analysis.cc 2006-12-05 23:38:17.000000000 +0100
|
||||
+++ festival-2.1.buono/festival/src/modules/OGIresLPC/pmark_analysis.cc 2012-07-17 13:53:35.315701699 +0200
|
||||
@@ -250,7 +250,7 @@
|
||||
EST_IList pmlist;
|
||||
EST_Litem *p;
|
||||
Track2IList(pmarks, (float) sp.sample_rate(), pmlist);
|
||||
- for (p = pmlist.head(); p != 0; p = next(p)){
|
||||
+ for (p = pmlist.head(); p != 0; p = p->next()){
|
||||
if ((pmlist(p) < 0) || pmlist(p) > sp.length())
|
||||
p = pmlist.remove(p);
|
||||
}
|
||||
@@ -615,7 +615,7 @@
|
||||
static void purge_pm_list(EST_IList &pm, EST_IList &rmlist){
|
||||
// in pm, remove INDICES listed in rmlist
|
||||
EST_Litem *p;
|
||||
- for (p=rmlist.tail(); p != 0; p = prev(p)){
|
||||
+ for (p=rmlist.tail(); p != 0; p = p->prev()){
|
||||
pm.remove_nth(rmlist(p));
|
||||
}
|
||||
}
|
||||
diff -ru festival-2.1/festival/src/modules/OGIresLPC/resLPC_concat.cc festival-2.1.buono/festival/src/modules/OGIresLPC/resLPC_concat.cc
|
||||
--- festival-2.1/festival/src/modules/OGIresLPC/resLPC_concat.cc 2006-12-05 23:38:17.000000000 +0100
|
||||
+++ festival-2.1.buono/festival/src/modules/OGIresLPC/resLPC_concat.cc 2012-07-17 13:49:23.748566558 +0200
|
||||
@@ -84,7 +84,7 @@
|
||||
|
||||
// Loop through the units to get size of WaveChunk -- pre-alloc
|
||||
int appx_wave_size = 0; // samples
|
||||
- for (newUnit=u->relation("dbUnit")->head(); newUnit != 0; newUnit=next(newUnit)){
|
||||
+ for (newUnit=u->relation("dbUnit")->head(); newUnit != 0; newUnit=newUnit->next()){
|
||||
indx = newUnit->f("db_indx");
|
||||
appx_wave_size += udb->load_unit_udata(indx); // returns size
|
||||
appx_wave_size += T0_max; // possible extra zero samples needed around each
|
||||
@@ -93,7 +93,7 @@
|
||||
|
||||
|
||||
// Loop through the units
|
||||
- for (newUnit=u->relation("dbUnit")->head(); newUnit != 0; newUnit=next(newUnit)){
|
||||
+ for (newUnit=u->relation("dbUnit")->head(); newUnit != 0; newUnit=newUnit->next()){
|
||||
// Items in the dbUnit relation have the following features:
|
||||
// - "db_indx" into dbase
|
||||
// - "isNatNbL" - is the prev unit this unit's natural neighbor?
|
||||
@@ -145,7 +145,7 @@
|
||||
|
||||
// mark voiced joins
|
||||
EST_Litem *p;
|
||||
- for (p = vjoin_list.head(); p != 0; p = next(p)){
|
||||
+ for (p = vjoin_list.head(); p != 0; p = p->next()){
|
||||
srcdata->pm.a(vjoin_list(p), "v/uv") = _V_;
|
||||
}
|
||||
|
||||
diff -ru festival-2.1/festival/src/modules/OGIresLPC/resLPC_dump.cc festival-2.1.buono/festival/src/modules/OGIresLPC/resLPC_dump.cc
|
||||
--- festival-2.1/festival/src/modules/OGIresLPC/resLPC_dump.cc 2006-12-05 23:38:17.000000000 +0100
|
||||
+++ festival-2.1.buono/festival/src/modules/OGIresLPC/resLPC_dump.cc 2012-07-17 13:49:51.766275351 +0200
|
||||
@@ -176,9 +176,9 @@
|
||||
// Loop thru SrcSeg, record 1st pmark of each segment
|
||||
dbunit=u->relation("dbUnit")->head();
|
||||
names.append(EST_String(dbunit->name()));
|
||||
- dbunit = next(dbunit); // skip 1st one
|
||||
+ dbunit = dbunit->next(); // skip 1st one
|
||||
|
||||
- for ( ; dbunit!=0; dbunit=next(dbunit)){
|
||||
+ for ( ; dbunit!=0; dbunit=dbunit->next()){
|
||||
|
||||
// pmarks
|
||||
srcpmR = dbunit->I("lpcpm");
|
||||
diff -ru festival-2.1/festival/src/modules/OGIresLPC/resLPC_mod.cc festival-2.1.buono/festival/src/modules/OGIresLPC/resLPC_mod.cc
|
||||
--- festival-2.1/festival/src/modules/OGIresLPC/resLPC_mod.cc 2006-12-05 23:38:17.000000000 +0100
|
||||
+++ festival-2.1.buono/festival/src/modules/OGIresLPC/resLPC_mod.cc 2012-07-17 13:51:30.175997155 +0200
|
||||
@@ -166,7 +166,7 @@
|
||||
EST_Item *lastseg = u->relation("Segment")->tail();
|
||||
|
||||
// Loop thru segments
|
||||
- for (useg=u->relation("Segment")->head(); useg != 0; useg=next(useg)) {
|
||||
+ for (useg=u->relation("Segment")->head(); useg != 0; useg=useg->next()) {
|
||||
|
||||
if (ph_is_silence(useg->name())){
|
||||
|
||||
@@ -180,7 +180,7 @@
|
||||
incr = ffeature(useg,"segment_duration").Float()/5.0;
|
||||
GtargL = seg_gain_target(u, useg, 1);
|
||||
if (GtargL == 1.0)
|
||||
- GtargL = seg_gain_target(u, next(useg), 0);
|
||||
+ GtargL = seg_gain_target(u, useg->next(), 0);
|
||||
OGIgain_targ(u, 0.0, firstseg->F("end"),
|
||||
0.0, GtargL,
|
||||
incr,"sin");
|
||||
@@ -194,7 +194,7 @@
|
||||
incr = ffeature(useg,"segment_duration").Float()/5.0;
|
||||
GtargR = seg_gain_target(u, useg, 0);
|
||||
if (GtargR == 1.0)
|
||||
- GtargR = seg_gain_target(u, prev(useg), 1);
|
||||
+ GtargR = seg_gain_target(u, useg->prev(), 1);
|
||||
OGIgain_targ(u,ffeature(lastseg,"start").Float(),lastseg->F("end"),
|
||||
GtargR, 0.0,
|
||||
incr,"sin");
|
||||
@@ -212,11 +212,11 @@
|
||||
incr = ffeature(useg,"segment_duration").Float()/5.0;
|
||||
GtargL = seg_gain_target(u, useg, 1);
|
||||
if (GtargL == 1.0)
|
||||
- GtargL = seg_gain_target(u, prev(useg), 1);
|
||||
+ GtargL = seg_gain_target(u, useg->prev(), 1);
|
||||
|
||||
GtargR = seg_gain_target(u, useg, 0);
|
||||
if (GtargR == 1.0)
|
||||
- GtargR = seg_gain_target(u, next(useg), 0);
|
||||
+ GtargR = seg_gain_target(u, useg->next(), 0);
|
||||
|
||||
OGIgain_targ(u,ffeature(useg,"start").Float(), mid,
|
||||
GtargL, 0.0,
|
||||
@@ -285,7 +285,7 @@
|
||||
EST_Item *sseg;
|
||||
|
||||
// Loop thru SrcSeg, record 1st pmark of each segment
|
||||
- for (sseg=u->relation("SrcSeg")->head(); sseg!=0; sseg=next(sseg)){
|
||||
+ for (sseg=u->relation("SrcSeg")->head(); sseg!=0; sseg=sseg->next()){
|
||||
|
||||
src_end += sseg->F("dur");
|
||||
|
||||
@@ -365,7 +365,7 @@
|
||||
// last one in the first unit
|
||||
Lph = parent(as(daughtern(dbUnit),"SrcSeg"));
|
||||
|
||||
- for (dbUnit=next(dbUnit); dbUnit != 0; dbUnit=next(dbUnit)){
|
||||
+ for (dbUnit=dbUnit->next(); dbUnit != 0; dbUnit=dbUnit->next()){
|
||||
// first phone in this unit
|
||||
Rph = parent(as(daughter1(dbUnit),"SrcSeg"));
|
||||
|
||||
@@ -384,17 +384,17 @@
|
||||
M = dbUnit->I("lpcpm");
|
||||
|
||||
// begin point: limit to begin of unit and begin of segment the join is in
|
||||
- B = max(prev(dbUnit)->I("lpcpm"), M - smoothlen);
|
||||
+ B = max(dbUnit->prev()->I("lpcpm"), M - smoothlen);
|
||||
B = max(B, Lph->I("lpcpm"));
|
||||
|
||||
// end point: limit to end of unit and end of segment the join is in
|
||||
- if (next(dbUnit))
|
||||
- nextpm = next(dbUnit)->I("lpcpm");
|
||||
+ if (dbUnit->next())
|
||||
+ nextpm = dbUnit->next()->I("lpcpm");
|
||||
else
|
||||
nextpm = srclpc.num_frames();
|
||||
E = min(nextpm, M + smoothlen);
|
||||
- if (next(Rph))
|
||||
- E = min(E, next(Rph)->I("lpcpm")-1);
|
||||
+ if (Rph->next())
|
||||
+ E = min(E, Rph->next()->I("lpcpm")-1);
|
||||
|
||||
// do smoothing
|
||||
if (doMatch)
|
||||
@@ -459,7 +459,7 @@
|
||||
Gtarg.begin_append(utt_targ->length());
|
||||
|
||||
// loop through targets
|
||||
- for (targ=utt_targ->first(); targ != 0; targ=next(targ)) {
|
||||
+ for (targ=utt_targ->first(); targ != 0; targ=targ->next()) {
|
||||
if (targ->f_present("pos"))
|
||||
Gtarg.append(targ->F("pos"), targ->F("gain"));
|
||||
}
|
||||
diff -ru festival-2.1/festival/src/modules/OGIresLPC/resLPC_pmark.cc festival-2.1.buono/festival/src/modules/OGIresLPC/resLPC_pmark.cc
|
||||
--- festival-2.1/festival/src/modules/OGIresLPC/resLPC_pmark.cc 2006-12-05 23:38:17.000000000 +0100
|
||||
+++ festival-2.1.buono/festival/src/modules/OGIresLPC/resLPC_pmark.cc 2012-07-17 13:53:12.769935094 +0200
|
||||
@@ -114,13 +114,13 @@
|
||||
To_UV_sec, pm, Nexc, Fs, label_vuv);
|
||||
|
||||
for (b=Bvsect.tail(),e=Evsect.tail();
|
||||
- ((b!=0)||(e!=0)); b=prev(b),e=prev(e)){
|
||||
+ ((b!=0)||(e!=0)); b=b->prev(),e=e->prev()){
|
||||
|
||||
make_Vsection(Bvsect(b), Evsect(e), pm, label_vuv);
|
||||
|
||||
// make next UNVOICED section
|
||||
- if (prev(e)){
|
||||
- insert_UVsection(Bvsect, Evsect, Evsect(prev(e)), Bvsect(b),
|
||||
+ if (e->prev()){
|
||||
+ insert_UVsection(Bvsect, Evsect, Evsect(e->prev()), Bvsect(b),
|
||||
To_UV_sec, pm, Nexc, Fs, label_vuv);
|
||||
}
|
||||
}
|
||||
@@ -190,7 +190,7 @@
|
||||
|
||||
// update V/UV information to reflect added pmarks
|
||||
for (b=Bvsect.head(),e=Evsect.head();
|
||||
- ((b!=0)||(e!=0)); b=next(b),e=next(e)){
|
||||
+ ((b!=0)||(e!=0)); b=b->next(),e=e->next()){
|
||||
|
||||
if (Bvsect(b) >= UVsectE){
|
||||
Bvsect(b) += tvect.Nelem()-Nstrays;
|
||||
diff -ru festival-2.1/festival/src/modules/OGIresLPC/resLPC_resyn.cc festival-2.1.buono/festival/src/modules/OGIresLPC/resLPC_resyn.cc
|
||||
--- festival-2.1/festival/src/modules/OGIresLPC/resLPC_resyn.cc 2006-12-05 23:38:17.000000000 +0100
|
||||
+++ festival-2.1.buono/festival/src/modules/OGIresLPC/resLPC_resyn.cc 2012-07-17 13:52:18.790493893 +0200
|
||||
@@ -88,7 +88,7 @@
|
||||
EST_Item *sseg;
|
||||
|
||||
// set "end" of srcseg from input "dur"
|
||||
- for (sseg=u->relation("SrcSeg")->head(); sseg!=0; sseg=next(sseg)){
|
||||
+ for (sseg=u->relation("SrcSeg")->head(); sseg!=0; sseg=sseg->next()){
|
||||
src_end += sseg->F("dur");
|
||||
sseg->set("end", src_end);
|
||||
}
|
||||
@@ -96,7 +96,7 @@
|
||||
// readjust: start from end of wave and shrink segs that are
|
||||
// beyond the end
|
||||
float next_end = wavend;
|
||||
- for (sseg=u->relation("SrcSeg")->tail(); sseg!=u->relation("SrcSeg")->head(); sseg=prev(sseg)){
|
||||
+ for (sseg=u->relation("SrcSeg")->tail(); sseg!=u->relation("SrcSeg")->head(); sseg=sseg->prev()){
|
||||
if (sseg->F("end") > next_end){
|
||||
sseg->set("end", next_end);
|
||||
next_end -= 0.001;
|
||||
@@ -107,7 +107,7 @@
|
||||
|
||||
// re-set "dur"
|
||||
float prev_end=0.0;
|
||||
- for (sseg=u->relation("SrcSeg")->head(); sseg != 0; sseg=next(sseg)){
|
||||
+ for (sseg=u->relation("SrcSeg")->head(); sseg != 0; sseg=sseg->next()){
|
||||
sseg->set("dur", sseg->F("end")-prev_end);
|
||||
prev_end = sseg->F("end");
|
||||
}
|
265
festival.spec
Normal file
265
festival.spec
Normal file
@ -0,0 +1,265 @@
|
||||
Name: festival
|
||||
Version: 2.1
|
||||
Release: 2mamba
|
||||
Summary: A general framework for building speech synthesis systems
|
||||
Group: System/Multimedia
|
||||
Vendor: openmamba
|
||||
Distribution: openmamba
|
||||
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
|
||||
URL: http://www.cstr.ed.ac.uk/projects/festival/
|
||||
Source: http://festvox.org/packed/festival/latest/festival-%{version}-release.tar.gz
|
||||
Source1: http://www.cstr.ed.ac.uk/downloads/festival/latest/speech_tools-%{version}-release.tar.gz
|
||||
Source2: http://festvox.org/packed/festival/latest/festlex_CMU.tar.gz
|
||||
Source3: http://festvox.org/packed/festival/latest/festlex_OALD.tar.gz
|
||||
Source4: http://festvox.org/packed/festival/latest/festlex_POSLEX.tar.gz
|
||||
Source5: http://festvox.org/packed/festival/latest/festvox_kallpc16k.tar.gz
|
||||
Source6: http://festvox.org/packed/festival/latest/festvox_kedlpc8k.tar.gz
|
||||
Source7: http://festvox.org/packed/festival/latest/festvox_kedlpc16k.tar.gz
|
||||
Source8: http://switch.dl.sourceforge.net/sourceforge/it-festival/Italian-FESTIVAL.zip
|
||||
Source9: http://festvox.org/packed/festival/latest/festvox_cmu_us_awb_arctic_hts.tar.gz
|
||||
Source10: http://festvox.org/packed/festival/latest/festvox_cmu_us_bdl_arctic_hts.tar.gz
|
||||
Source11: http://festvox.org/packed/festival/latest/festvox_cmu_us_jmk_arctic_hts.tar.gz
|
||||
Source12: http://festvox.org/packed/festival/latest/festvox_cmu_us_slt_arctic_hts.tar.gz
|
||||
Source13: http://festvox.org/packed/festival/latest/festvox_cstr_us_awb_arctic_multisyn-1.0.tar.gz
|
||||
Source14: http://festvox.org/packed/festival/latest/festvox_cstr_us_jmk_arctic_multisyn-1.0.tar.gz
|
||||
Source15: http://festvox.org/packed/festival/latest/festvox_us1.tar.gz
|
||||
Source16: http://festvox.org/packed/festival/latest/festvox_us2.tar.gz
|
||||
Source17: http://festvox.org/packed/festival/latest/festvox_us3.tar.gz
|
||||
Source18: http://www2.pd.istc.cnr.it/FESTIVAL/ogi/OGIresLPC-2.2.tar.gz
|
||||
Patch0: festival-1.96-enable_esd_audio.patch
|
||||
Patch1: festival-1.96-gcc43.patch
|
||||
Patch2: festival-1.96-gcc44.patch
|
||||
Patch3: festival-1.96-etcsiteinit.patch
|
||||
Patch4: festival-1.96-main-shared-build.patch
|
||||
Patch5: festival-1.96-kludge-etcpath-into-libarch.patch
|
||||
Patch6: festival-1.96-speechtools-ohjeezcxxisnotgcc.patch
|
||||
Patch7: festival-1.96-bettersonamehack.patch
|
||||
Patch8: festival-1.96-no-shared-data.patch
|
||||
Patch9: festival-1.96-speechtools-linklibswithotherlibs.patch
|
||||
Patch10: festival-1.96-speechtools-1.2.96-beta+awb.patch
|
||||
Patch11: speech_tools-2.1-gcc-4.7.patch
|
||||
Patch12: %{name}-2.1-OGIresLPC-gcc-4.7.patch
|
||||
License: MIT
|
||||
## AUTOBUILDREQ-BEGIN
|
||||
BuildRequires: glibc-devel
|
||||
BuildRequires: libalsa-devel
|
||||
BuildRequires: libgcc
|
||||
BuildRequires: libncurses-devel
|
||||
BuildRequires: libstdc++6-devel
|
||||
## AUTOBUILDREQ-END
|
||||
BuildRequires: libesound-devel >= 0.2.36
|
||||
Requires: festivalvoice
|
||||
Requires: festival-voice-en = %{version}
|
||||
Requires(post):%{__install_info}
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
||||
|
||||
%description
|
||||
Festival offers a general framework for building speech synthesis systems as well as including examples of various modules. As a whole it offers full text to speech through a number APIs: from shell level, though a Scheme command interpreter, as a C++ library, from Java, and an Emacs interface. Festival is multi-lingual (currently English (British and American), and Spanish) though English is the most advanced. Other groups release new languages for the system. And full tools and documentation for build new voices are available through Carnegie Mellon's FestVox project (http://festvox.org)
|
||||
The system is written in C++ and uses the Edinburgh Speech Tools Library for low level architecture and has a Scheme (SIOD) based command interpreter for control. Documentation is given in the FSF texinfo format which can generate, a printed manual, info files and HTML.
|
||||
Festival is free software. Festival and the speech tools are distributed under an X11-type licence allowing unrestricted commercial and non-commercial use alike.
|
||||
|
||||
%package voice-us
|
||||
Summary: American English language voice files for festival
|
||||
Group: System/Multimedia
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Provides: festivalvoice
|
||||
|
||||
%description voice-us
|
||||
American English language voice files for festival.
|
||||
|
||||
%package voice-en
|
||||
Summary: English language voice files for festival
|
||||
Group: System/Multimedia
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Provides: festivalvoice
|
||||
|
||||
%description voice-en
|
||||
English language voice files for festival.
|
||||
|
||||
%package voice-it
|
||||
Summary: Italian language voice files for festival
|
||||
Group: System/Multimedia
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Provides: festivalvoice
|
||||
|
||||
%description voice-it
|
||||
English language voice files for festival.
|
||||
|
||||
%prep
|
||||
#% setup -q -n %{name}
|
||||
#-D -T
|
||||
#:<< __EOF
|
||||
%setup -q -c -a0 -a1 -a2 -a3 -a4 -a5 -a6 -a7 -a8 -a9 -a10 -a11 -a12 -a13 -a14 -a15 -a16 -a17 -a18
|
||||
unzip italian_scm.zip
|
||||
unzip lex_ifd.zip
|
||||
unzip lp_diphone.zip
|
||||
unzip lp_mbrola_unix.zip
|
||||
unzip lp_ogi_diphone.zip
|
||||
unzip pc_diphone.zip
|
||||
unzip pc_mbrola_unix.zip
|
||||
unzip pc_ogi_diphone.zip
|
||||
|
||||
#%patch1 -p0
|
||||
#%patch2 -p0
|
||||
%patch3 -p0
|
||||
#%patch4 -p0
|
||||
#%patch5 -p0
|
||||
%patch6 -p0
|
||||
#%patch7 -p0
|
||||
#%patch8 -p0
|
||||
#%patch9 -p0
|
||||
#%patch10 -p0
|
||||
cd speech_tools
|
||||
%patch11 -p1
|
||||
cd ..
|
||||
%patch12 -p1
|
||||
|
||||
echo "ALSO_INCLUDE += OGIcommon OGIeffect OGIinsert OGIdbase" >> festival/config/config.in
|
||||
# FIXME: patched to build but main final link fails with this module
|
||||
# OGIresLPC
|
||||
|
||||
%build
|
||||
#:<< __EOF
|
||||
cd speech_tools
|
||||
%configure
|
||||
%make -j1
|
||||
# libs="-L$(pwd)/lib"
|
||||
# CFLAGS="$RPM_OPT_FLAGS -fPIC -fno-strict-aliasing" \
|
||||
# CXXFLAGS="$RPM_OPT_FLAGS -fPIC -fno-strict-aliasing"
|
||||
|
||||
cd ../festival
|
||||
#export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/src/lib
|
||||
%configure
|
||||
%make -j1 FTLIBDIR=%{_datadir}/festival/lib
|
||||
# CFLAGS="$RPM_OPT_FLAGS -fPIC -fno-strict-aliasing" \
|
||||
# CXXFLAGS="$RPM_OPT_FLAGS -fPIC -fno-strict-aliasing"
|
||||
|
||||
%install
|
||||
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
||||
cd speech_tools
|
||||
#make INSTALLED_LIB=%{buildroot}%{_libdir} make_installed_lib_shared
|
||||
#install lib/libestools.so* %{buildroot}%{_libdir}
|
||||
make INSTALLED_BIN=%{buildroot}%{_libexecdir}/speech-tools make_installed_bin_static
|
||||
#cd include
|
||||
#for d in $( find . -type d | grep -v win32 ); do
|
||||
# make -w -C $d INCDIR=%{buildroot}%{_includedir}/speech_tools/$d install_incs
|
||||
#done
|
||||
cd ..
|
||||
|
||||
cd festival
|
||||
make INSTALLED_BIN=%{buildroot}%{_bindir} make_installed_bin_static
|
||||
|
||||
# remove builddir inserted in some scripts
|
||||
sed -i "s|%{_builddir}/%{name}-%{version}/%{name}|%{_prefix}|" \
|
||||
bin/text2wave examples/saytime
|
||||
|
||||
install -D -m0755 bin/text2wave %{buildroot}%{_bindir}
|
||||
install -D -m0755 examples/saytime %{buildroot}%{_bindir}
|
||||
|
||||
#install -D -m0755 festival/src/main/festival %{buildroot}%{_bindir}/festival
|
||||
#install -D -m0755 festival/src/main/festival_client %{buildroot}%{_bindir}/festival_client
|
||||
#cp src/lib/libFestival.so* %{buildroot}%{_libdir}
|
||||
|
||||
install -d %{buildroot}%{_datadir}/festival %{buildroot}%{_sysconfdir}/festival %{buildroot}%{_mandir}/man1
|
||||
cp -a lib %{buildroot}%{_datadir}/festival/
|
||||
mv %{buildroot}%{_datadir}/festival/lib/siteinit.scm %{buildroot}%{_sysconfdir}/festival/
|
||||
cp -a doc/*.1 %{buildroot}%{_mandir}/man1
|
||||
|
||||
#mkdir -p %{buildroot}%{_includedir}/festival
|
||||
#cp -a src/include/* %{buildroot}%{_includedir}/festival
|
||||
|
||||
rm -rf %{buildroot}%{_datadir}/festival/lib/voices-multisyn/english
|
||||
rm -f %{buildroot}%{_datadir}/festival/lib/Makefile
|
||||
rm -f %{buildroot}%{_datadir}/festival/lib/multisyn/Makefile
|
||||
rm -f %{buildroot}%{_datadir}/festival/lib/etc/Makefile
|
||||
|
||||
%clean
|
||||
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
||||
|
||||
%post -p /sbin/ldconfig
|
||||
|
||||
%postun -p /sbin/ldconfig
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%dir %{_sysconfdir}/festival
|
||||
%config(noreplace) %{_sysconfdir}/festival/*.scm
|
||||
%{_bindir}/festival
|
||||
%{_bindir}/festival_client
|
||||
%{_bindir}/festival_server
|
||||
%{_bindir}/festival_server_control
|
||||
%{_bindir}/saytime
|
||||
%{_bindir}/text2wave
|
||||
%{_libexecdir}/speech-tools/*
|
||||
#%dir %{_includedir}/festival
|
||||
#%{_includedir}/festival/*
|
||||
#%dir %{_includedir}/speech_tools
|
||||
#%{_includedir}/speech_tools/*
|
||||
#%{_libdir}/libFestival.so
|
||||
#%{_libdir}/libFestival.so.*
|
||||
#%{_libdir}/libestbase.a
|
||||
#%{_libdir}/libestbase.so
|
||||
#%{_libdir}/libestbase.so.*
|
||||
#%{_libdir}/libestools.a
|
||||
#%{_libdir}/libestools.so
|
||||
#%{_libdir}/libestools.so.*
|
||||
#%{_libdir}/libeststring.a
|
||||
#%{_libdir}/libeststring.so
|
||||
#%{_libdir}/libeststring.so.*
|
||||
|
||||
%{_datadir}/festival/lib/*.dtd
|
||||
%{_datadir}/festival/lib/VCLocalRules
|
||||
%{_datadir}/festival/lib/dicts/cmu/*
|
||||
%{_datadir}/festival/lib/dicts/oald/*
|
||||
%{_datadir}/festival/lib/dicts/wsj.wp39.*
|
||||
%{_datadir}/festival/lib/dicts/COPYING.poslex
|
||||
%{_datadir}/festival/lib/multisyn/*.scm
|
||||
%{_datadir}/festival/lib/sable-latin.ent
|
||||
%{_datadir}/festival/lib/scfg_wsj_wp20.gram
|
||||
%{_datadir}/festival/lib/*.ngrambin
|
||||
%{_datadir}/festival/lib/speech.properties
|
||||
%{_datadir}/festival/lib/etc/unknown_Linux/*
|
||||
%{_datadir}/festival/lib/etc/unknown_Linux/.made
|
||||
%{_datadir}/festival/lib/etc/email_filter
|
||||
%{_datadir}/festival/lib/festival.el
|
||||
|
||||
%dir %{_datadir}/festival
|
||||
%{_datadir}/festival/lib/*.scm
|
||||
%doc festival/COPYING festival/NEWS festival/README
|
||||
|
||||
%{_mandir}/man1/festival.1*
|
||||
%{_mandir}/man1/festival_client.1*
|
||||
|
||||
%files voice-us
|
||||
%defattr(-,root,root)
|
||||
%dir %{_datadir}/festival/lib/voices/us
|
||||
%{_datadir}/festival/lib/voices/us/*
|
||||
|
||||
%files voice-en
|
||||
%defattr(-,root,root)
|
||||
%dir %{_datadir}/festival/lib/voices/english
|
||||
%{_datadir}/festival/lib/voices/english/*
|
||||
|
||||
%files voice-it
|
||||
%defattr(-,root,root)
|
||||
%dir %{_datadir}/festival/lib/voices/italian
|
||||
%{_datadir}/festival/lib/voices/italian/*
|
||||
%{_datadir}/festival/lib/italian_scm/*
|
||||
%{_datadir}/festival/lib/dicts/ifd*
|
||||
|
||||
%changelog
|
||||
* Wed Jul 17 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 2.1-2mamba
|
||||
- text2wave,saytime: fix %_builddir references in scripts
|
||||
|
||||
* Tue Jul 17 2012 Silvan Calarco <silvan.calarco@mambasoft.it> 2.1-1mamba
|
||||
- update to 2.1
|
||||
|
||||
* Mon Sep 21 2009 Silvan Calarco <silvan.calarco@mambasoft.it> 1.96-2mamba
|
||||
- added patches for build with gcc 4.4
|
||||
- added festvox_cmu_us_* and festvox_cstr_us_* packages
|
||||
- added patch and moved configuration files to /etc/festival
|
||||
- removed esd patch
|
||||
- added patch for shared library build
|
||||
|
||||
* Wed Aug 01 2007 Silvan Calarco <silvan.calarco@mambasoft.it> 1.96-1mamba
|
||||
- package created by autospec
|
82
speech_tools-2.1-gcc-4.7.patch
Normal file
82
speech_tools-2.1-gcc-4.7.patch
Normal file
@ -0,0 +1,82 @@
|
||||
diff -Nru speech-tools-2.1~release/debian/patches/ftbfs_gcc4.7.diff speech-tools-2.1~release/debian/patches/ftbfs_gcc4.7.diff
|
||||
--- a/base_class/EST_TSimpleMatrix.cc
|
||||
+++ b/base_class/EST_TSimpleMatrix.cc
|
||||
@@ -44,6 +44,7 @@
|
||||
#include "EST_TVector.h"
|
||||
#include <fstream>
|
||||
#include <iostream>
|
||||
+#include <cstring>
|
||||
#include "EST_cutils.h"
|
||||
|
||||
template<class T>
|
||||
@@ -98,7 +99,7 @@ void EST_TSimpleMatrix<T>::resize(int ne
|
||||
{
|
||||
int copy_r = Lof(this->num_rows(), new_rows);
|
||||
|
||||
- just_resize(new_rows, new_cols, &old_vals);
|
||||
+ this->just_resize(new_rows, new_cols, &old_vals);
|
||||
|
||||
for (q=0; q<(copy_r*new_cols*sizeof(T)); q++) /* memcpy */
|
||||
((char *)this->p_memory)[q] = ((char *)old_vals)[q];
|
||||
@@ -127,9 +128,9 @@ void EST_TSimpleMatrix<T>::resize(int ne
|
||||
int copy_r = Lof(this->num_rows(), new_rows);
|
||||
int copy_c = Lof(this->num_columns(), new_cols);
|
||||
|
||||
- just_resize(new_rows, new_cols, &old_vals);
|
||||
+ this->just_resize(new_rows, new_cols, &old_vals);
|
||||
|
||||
- set_values(old_vals,
|
||||
+ this->set_values(old_vals,
|
||||
old_row_step, old_column_step,
|
||||
0, copy_r,
|
||||
0, copy_c);
|
||||
--- a/base_class/EST_TSimpleVector.cc
|
||||
+++ b/base_class/EST_TSimpleVector.cc
|
||||
@@ -43,6 +43,7 @@
|
||||
#include "EST_TSimpleVector.h"
|
||||
#include "EST_matrix_support.h"
|
||||
#include <fstream>
|
||||
+#include <cstring>
|
||||
#include "EST_cutils.h"
|
||||
|
||||
template<class T> void EST_TSimpleVector<T>::copy(const EST_TSimpleVector<T> &a)
|
||||
@@ -70,7 +71,7 @@ template<class T> void EST_TSimpleVector
|
||||
int old_offset = this->p_offset;
|
||||
unsigned int q;
|
||||
|
||||
- just_resize(newn, &old_vals);
|
||||
+ this->just_resize(newn, &old_vals);
|
||||
|
||||
if (set && old_vals)
|
||||
{
|
||||
--- a/include/EST_TIterator.h
|
||||
+++ b/include/EST_TIterator.h
|
||||
@@ -209,7 +209,7 @@ public:
|
||||
|
||||
/// Create an iterator ready to run over the given container.
|
||||
EST_TStructIterator(const Container &over)
|
||||
- { begin(over); }
|
||||
+ { this->begin(over); }
|
||||
|
||||
const Entry *operator ->() const
|
||||
{return &this->current();}
|
||||
@@ -289,7 +289,7 @@ public:
|
||||
|
||||
/// Create an iterator ready to run over the given container.
|
||||
EST_TRwStructIterator(Container &over)
|
||||
- { begin(over); }
|
||||
+ { this->begin(over); }
|
||||
|
||||
Entry *operator ->() const
|
||||
{return &this->current();}
|
||||
--- a/include/EST_TNamedEnum.h
|
||||
+++ b/include/EST_TNamedEnum.h
|
||||
@@ -130,7 +130,7 @@ public:
|
||||
{this->initialise((const void *)defs); };
|
||||
EST_TNamedEnumI(EST_TValuedEnumDefinition<const char *,const char *,INFO> defs[], ENUM (*conv)(const char *))
|
||||
{this->initialise((const void *)defs, conv); };
|
||||
- const char *name(ENUM tok, int n=0) const {return value(tok,n); };
|
||||
+ const char *name(ENUM tok, int n=0) const {return this->value(tok,n); };
|
||||
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user