commit
3426c9f3db
@ -0,0 +1,11 @@
|
||||
a433de2d1c344a1af63579e757551432abe583ca SOURCES/festival-2.5.0-release.tar.gz
|
||||
d9576230c6698e1f05440ccd34063b64b9aaeb99 SOURCES/festlex_CMU.tar.gz
|
||||
37c3a3e131c38f343053ce3aec8d654d7b123bb9 SOURCES/festlex_POSLEX.tar.gz
|
||||
6b59e280d26da7874e6daff62b043f7f8e8b6b5b SOURCES/festvox_cmu_us_awb_cg.tar.gz
|
||||
205d746aadb450c42fcf0b1501bcf530dbcf8cbf SOURCES/festvox_cmu_us_bdl_cg.tar.gz
|
||||
5a9f7a2a8440b30239c4c9c92d741ed6d341a819 SOURCES/festvox_cmu_us_clb_cg.tar.gz
|
||||
8cea41be28d4cce0f2faeb49aa5be6384d626ba3 SOURCES/festvox_cmu_us_jmk_cg.tar.gz
|
||||
28e6ebc2578774aaddbc7baaf64b7f32e4c7ba77 SOURCES/festvox_cmu_us_rms_cg.tar.gz
|
||||
b694f5b15a94dab5bd6d3b856130e51e992d5426 SOURCES/festvox_cmu_us_slt_cg.tar.gz
|
||||
c09679b8a599043176a2a57d34d1ad482a498d6c SOURCES/festvox_kallpc16k.tar.gz
|
||||
534e45a4ba10b7e0573ec30596ca4e57d888c6a2 SOURCES/festvox_rablpc16k.tar.gz
|
@ -0,0 +1,11 @@
|
||||
SOURCES/festival-2.5.0-release.tar.gz
|
||||
SOURCES/festlex_CMU.tar.gz
|
||||
SOURCES/festlex_POSLEX.tar.gz
|
||||
SOURCES/festvox_cmu_us_awb_cg.tar.gz
|
||||
SOURCES/festvox_cmu_us_bdl_cg.tar.gz
|
||||
SOURCES/festvox_cmu_us_clb_cg.tar.gz
|
||||
SOURCES/festvox_cmu_us_jmk_cg.tar.gz
|
||||
SOURCES/festvox_cmu_us_rms_cg.tar.gz
|
||||
SOURCES/festvox_cmu_us_slt_cg.tar.gz
|
||||
SOURCES/festvox_kallpc16k.tar.gz
|
||||
SOURCES/festvox_rablpc16k.tar.gz
|
@ -0,0 +1,422 @@
|
||||
diff -u --recursive festival-vanilla/examples/benchmark festival/examples/benchmark
|
||||
--- festival-vanilla/examples/benchmark 2017-09-04 11:54:08.000000000 -0400
|
||||
+++ festival/examples/benchmark 2018-09-06 20:37:22.855868107 -0400
|
||||
@@ -1,6 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
-default_libdir="/projects/festival/lib"
|
||||
+default_libdir="/usr/share/festival"
|
||||
+default_datadir="/usr/share/festival"
|
||||
|
||||
while true
|
||||
do
|
||||
@@ -11,13 +12,17 @@
|
||||
-l ) libdir="$2"
|
||||
shift 2
|
||||
;;
|
||||
+ -d ) datadir="$2"
|
||||
+ shift 2
|
||||
+ ;;
|
||||
+ -- ) shift; break ;;
|
||||
* ) break;;
|
||||
esac
|
||||
done
|
||||
|
||||
-text=${1-"$HOME/projects/festival/examples/benchmark.text"}
|
||||
+text=${1-"/usr/share/doc/festival/examples/benchmark.text"}
|
||||
|
||||
-for i in . src/main ../src/main $HOME/projects/festival/src/main /cstr/bin
|
||||
+for i in /usr/bin . src/main ../src/main $HOME/projects/festival/src/main /cstr/bin
|
||||
do
|
||||
if [ -n "$festival" ]
|
||||
then
|
||||
@@ -39,7 +44,15 @@
|
||||
then
|
||||
case $festival in
|
||||
*main/festival ) libdir=`dirname $festival`/../../lib;;
|
||||
- * ) libdir=$default_libdir;;
|
||||
+ * ) libdir=$default_libdir;
|
||||
+ esac
|
||||
+fi
|
||||
+
|
||||
+if [ -z "$datadir" ]
|
||||
+ then
|
||||
+ case $festival in
|
||||
+ *main/festival ) datadir=`dirname $festival`/../../share;;
|
||||
+ * ) datadir=$default_datadir;;
|
||||
esac
|
||||
fi
|
||||
|
||||
@@ -54,10 +67,11 @@
|
||||
cat > $script <<__END__
|
||||
|
||||
(set! libdir "$libdir/")
|
||||
-(set! lexdir "$default_libdir/dicts/")
|
||||
-(set! voiced_dir "$default_libdir/voices/")
|
||||
+(set! datadir "$datadir/")
|
||||
+(set! lexdir "$default_datadir/dicts/")
|
||||
+(set! voiced_dir "$default_datadir/voices/")
|
||||
|
||||
-(load (string-append libdir "init.scm"))
|
||||
+(load (string-append datadir "init.scm"))
|
||||
(if (probe_file (format nil "%s/.festivalrc" (getenv "HOME")))
|
||||
(load (format nil "%s/.festivalrc" (getenv "HOME"))))
|
||||
|
||||
diff -u --recursive festival-vanilla/examples/benchmark.text festival/examples/benchmark.text
|
||||
--- festival-vanilla/examples/benchmark.text 2017-09-04 11:54:08.000000000 -0400
|
||||
+++ festival/examples/benchmark.text 2018-09-06 20:37:22.855868107 -0400
|
||||
@@ -32,8 +32,13 @@
|
||||
|
||||
--libdir PATH
|
||||
Specify alternate to default library directory (used
|
||||
- in initializing the variable load-path, and for
|
||||
- loading most intinialisation files)
|
||||
+ for architecture-specific libraries and programs)
|
||||
+
|
||||
+ --datadir PATH
|
||||
+ Specify alternate to default shared-data directory (used
|
||||
+ in initializing the variable load-path, and for
|
||||
+ loading most initialisation files). Typically, the voice and
|
||||
+ dictionary files reside here.
|
||||
|
||||
-b or --batch
|
||||
Run in batch mode. In batch mode no input is read
|
||||
diff -u --recursive festival-vanilla/examples/dumpfeats.sh festival/examples/dumpfeats.sh
|
||||
--- festival-vanilla/examples/dumpfeats.sh 2017-09-04 11:54:08.000000000 -0400
|
||||
+++ festival/examples/dumpfeats.sh 2018-09-06 20:37:22.855868107 -0400
|
||||
@@ -39,7 +39,7 @@
|
||||
|
||||
;;; Because this is a --script type file it has to explicitly
|
||||
;;; load the initfiles: init.scm and user's .festivalrc
|
||||
-(load (path-append libdir "init.scm"))
|
||||
+(load (path-append datadir "init.scm"))
|
||||
|
||||
(define (dumpfeats_help)
|
||||
(format t "%s\n"
|
||||
diff -u --recursive festival-vanilla/examples/durmeanstd.sh festival/examples/durmeanstd.sh
|
||||
--- festival-vanilla/examples/durmeanstd.sh 2017-09-04 11:54:08.000000000 -0400
|
||||
+++ festival/examples/durmeanstd.sh 2018-09-06 20:37:22.856868112 -0400
|
||||
@@ -40,7 +40,7 @@
|
||||
|
||||
;;; Because this is a --script type file it has to explicitly
|
||||
;;; load the initfiles: init.scm and user's .festivalrc
|
||||
-(load (path-append libdir "init.scm"))
|
||||
+(load (path-append datadir "init.scm"))
|
||||
|
||||
(define (durmeanstd_help)
|
||||
(format t "%s\n"
|
||||
diff -u --recursive festival-vanilla/examples/latest.sh festival/examples/latest.sh
|
||||
--- festival-vanilla/examples/latest.sh 2017-09-04 11:54:08.000000000 -0400
|
||||
+++ festival/examples/latest.sh 2018-09-06 20:37:22.854868102 -0400
|
||||
@@ -50,7 +50,7 @@
|
||||
|
||||
;;; Because this is a --script type file I has to explicitly
|
||||
;;; load the initfiles: init.scm and user's .festivalrc
|
||||
-(load (path-append libdir "init.scm"))
|
||||
+(load (path-append datadir "init.scm"))
|
||||
|
||||
(audio_mode 'async) ;; play waves while continuing synthesis
|
||||
|
||||
diff -u --recursive festival-vanilla/examples/Makefile festival/examples/Makefile
|
||||
--- festival-vanilla/examples/Makefile 2017-09-04 11:54:08.000000000 -0400
|
||||
+++ festival/examples/Makefile 2018-09-06 20:37:22.860868131 -0400
|
||||
@@ -54,8 +54,9 @@
|
||||
|
||||
$(ALL) : % : %.sh
|
||||
rm -f $@
|
||||
- @echo "#!/bin/sh" >$@
|
||||
- @echo "\"true\" ; exec "$(FESTIVAL_HOME)/bin/festival --script '$$0 $$*' >>$@
|
||||
+ @echo "#!/usr/bin/festival --script" >$@
|
||||
+# @echo "#!/bin/sh" >$@
|
||||
+# @echo "\"true\" ; exec "/usr/bin/festival --script '$$0 $$*' >>$@
|
||||
cat $< >>$@
|
||||
chmod +x $@
|
||||
|
||||
diff -u --recursive festival-vanilla/examples/make_utts.sh festival/examples/make_utts.sh
|
||||
--- festival-vanilla/examples/make_utts.sh 2017-09-04 11:54:08.000000000 -0400
|
||||
+++ festival/examples/make_utts.sh 2018-09-06 20:37:22.854868102 -0400
|
||||
@@ -44,7 +44,7 @@
|
||||
;;; Because this is a --script type file it has to explicitly
|
||||
;;; load the initfiles: init.scm and user's .festivalrc
|
||||
(if (not (symbol-bound? 'caar))
|
||||
- (load (path-append libdir "init.scm")))
|
||||
+ (load (path-append datadir "init.scm")))
|
||||
|
||||
;;; Some parts are potentially editable
|
||||
(defvar basic_relations '((Phrase segmental ())
|
||||
diff -u --recursive festival-vanilla/examples/saytime.sh festival/examples/saytime.sh
|
||||
--- festival-vanilla/examples/saytime.sh 2017-09-04 11:54:08.000000000 -0400
|
||||
+++ festival/examples/saytime.sh 2018-09-06 20:37:22.856868112 -0400
|
||||
@@ -44,7 +44,7 @@
|
||||
|
||||
;;; Because this is a --script type file I has to explicitly
|
||||
;;; load the initfiles: init.scm and user's .festivalrc
|
||||
-(load (path-append libdir "init.scm"))
|
||||
+(load (path-append datadir "init.scm"))
|
||||
|
||||
(define (get-the-time)
|
||||
"Returns a list of hour and minute and second, for later processing"
|
||||
diff -u --recursive festival-vanilla/examples/scfg_parse_text.sh festival/examples/scfg_parse_text.sh
|
||||
--- festival-vanilla/examples/scfg_parse_text.sh 2017-09-04 11:54:08.000000000 -0400
|
||||
+++ festival/examples/scfg_parse_text.sh 2018-09-06 20:37:22.856868112 -0400
|
||||
@@ -45,7 +45,7 @@
|
||||
|
||||
;;; Because this is a --script type file I has to explicitly
|
||||
;;; load the initfiles: init.scm and user's .festivalrc
|
||||
-(load (path-append libdir "init.scm"))
|
||||
+(load (path-append datadir "init.scm"))
|
||||
|
||||
(require 'scfg)
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
(gc-status nil)
|
||||
|
||||
;;; Default argument values
|
||||
-(defvar grammarfile (path-append libdir "scfg_wsj_wp20.gram"))
|
||||
+(defvar grammarfile (path-append datadir "scfg_wsj_wp20.gram"))
|
||||
(defvar outfile "-")
|
||||
(defvar outfd t)
|
||||
(defvar parse_type 'brackets_only)
|
||||
diff -u --recursive festival-vanilla/examples/text2pos.sh festival/examples/text2pos.sh
|
||||
--- festival-vanilla/examples/text2pos.sh 2017-09-04 11:54:08.000000000 -0400
|
||||
+++ festival/examples/text2pos.sh 2018-09-06 20:37:22.856868112 -0400
|
||||
@@ -50,7 +50,7 @@
|
||||
|
||||
;;; Because this is a --script type file I has to explicitly
|
||||
;;; load the initfiles: init.scm and user's .festivalrc
|
||||
-(load (path-append libdir "init.scm"))
|
||||
+(load (path-append datadir "init.scm"))
|
||||
|
||||
(define (find-pos utt)
|
||||
"Main function for processing TTS utterances. Predicts POS and
|
||||
diff -u --recursive festival-vanilla/examples/text2wave.sh festival/examples/text2wave.sh
|
||||
--- festival-vanilla/examples/text2wave.sh 2017-09-04 11:54:08.000000000 -0400
|
||||
+++ festival/examples/text2wave.sh 2018-09-06 20:37:22.857868117 -0400
|
||||
@@ -40,7 +40,7 @@
|
||||
|
||||
;;; Because this is a --script type file I has to explicitly
|
||||
;;; load the initfiles: init.scm and user's .festivalrc
|
||||
-(load (path-append libdir "init.scm"))
|
||||
+(load (path-append datadir "init.scm"))
|
||||
|
||||
;;; Process command line arguments
|
||||
(define (text2wave_help)
|
||||
diff -u --recursive festival-vanilla/lib/festival.scm festival/lib/festival.scm
|
||||
--- festival-vanilla/lib/festival.scm 2017-09-04 11:54:08.000000000 -0400
|
||||
+++ festival/lib/festival.scm 2018-09-06 20:37:22.858868122 -0400
|
||||
@@ -552,13 +552,13 @@
|
||||
(define (intro)
|
||||
"(intro)
|
||||
Synthesize an introduction to the Festival Speech Synthesis System."
|
||||
- (tts (path-append libdir "../examples/intro.text") nil))
|
||||
+ (tts (path-append datadir "/usr/share/doc/festival/examples/intro.text") nil))
|
||||
|
||||
(define (intro-spanish)
|
||||
"(intro-spanish)
|
||||
Synthesize an introduction to the Festival Speech Synthesis System
|
||||
in spanish. Spanish voice must already be selected for this."
|
||||
- (tts (path-append libdir "../examples/spintro.text") nil))
|
||||
+ (tts (path-append datadir "/usr/share/doc/festival/examples/spintro.text") nil))
|
||||
|
||||
(define (na_play FILENAME)
|
||||
"(play_wave FILENAME)
|
||||
diff -u --recursive festival-vanilla/lib/init.scm festival/lib/init.scm
|
||||
--- festival-vanilla/lib/init.scm 2017-09-04 11:54:08.000000000 -0400
|
||||
+++ festival/lib/init.scm 2018-09-06 20:37:22.852868092 -0400
|
||||
@@ -36,7 +36,7 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
;;; Basic siod library (need this before load_library or require works)
|
||||
-(load (path-append libdir "siod.scm"))
|
||||
+(load (path-append datadir "siod.scm"))
|
||||
|
||||
(defvar home-directory (or (getenv "HOME") "/")
|
||||
"home-directory
|
||||
diff -u --recursive festival-vanilla/lib/lexicons.scm festival/lib/lexicons.scm
|
||||
--- festival-vanilla/lib/lexicons.scm 2017-09-04 11:54:08.000000000 -0400
|
||||
+++ festival/lib/lexicons.scm 2018-09-06 20:37:22.858868122 -0400
|
||||
@@ -42,10 +42,10 @@
|
||||
;;; you should set lexdir in sitevars.scm
|
||||
|
||||
(defvar lexdir
|
||||
- (if (probe_file (path-append libdir "dicts"))
|
||||
- (path-append libdir "dicts/")
|
||||
+ (if (probe_file (path-append datadir "dicts"))
|
||||
+ (path-append datadir "dicts/")
|
||||
;; else we'll guess we're in the CSTR filespace
|
||||
- (path-as-directory "/projects/festival/lib/dicts/"))
|
||||
+ (path-as-directory "/usr/share/festival/dicts/"))
|
||||
"lexdir
|
||||
The directory where the lexicon(s) are, by default.")
|
||||
|
||||
diff -u --recursive festival-vanilla/lib/phrase.scm festival/lib/phrase.scm
|
||||
--- festival-vanilla/lib/phrase.scm 2017-09-04 11:54:08.000000000 -0400
|
||||
+++ festival/lib/phrase.scm 2018-09-06 20:37:22.857868117 -0400
|
||||
@@ -93,7 +93,7 @@
|
||||
|
||||
(require 'pos) ;; for part of speech map
|
||||
|
||||
-(defvar pbreak_ngram_dir libdir
|
||||
+(defvar pbreak_ngram_dir datadir
|
||||
"pbreak_ngram_dir
|
||||
The directory containing the ngram models for predicting phrase
|
||||
breaks. By default this is the standard library directory.")
|
||||
diff -u --recursive festival-vanilla/lib/soleml-mode.scm festival/lib/soleml-mode.scm
|
||||
--- festival-vanilla/lib/soleml-mode.scm 2017-09-04 11:54:08.000000000 -0400
|
||||
+++ festival/lib/soleml-mode.scm 2018-09-06 20:37:22.857868117 -0400
|
||||
@@ -330,7 +330,7 @@
|
||||
(list 'exit_func soleml_exit_func)
|
||||
'(analysis_type xxml)
|
||||
(list 'filter
|
||||
- (format nil "%s -D %s " sgml_parse_progname libdir))))
|
||||
+ (format nil "%s -D %s " sgml_parse_progname datadir))))
|
||||
tts_text_modes))
|
||||
|
||||
(provide 'soleml-mode)
|
||||
diff -u --recursive festival-vanilla/lib/voices.scm festival/lib/voices.scm
|
||||
--- festival-vanilla/lib/voices.scm 2017-09-04 11:54:08.000000000 -0400
|
||||
+++ festival/lib/voices.scm 2018-09-06 20:37:22.853868097 -0400
|
||||
@@ -42,7 +42,7 @@
|
||||
;; The path to search for voices is created from the load-path with
|
||||
;; an extra list of directories appended.
|
||||
|
||||
-(defvar system-voice-path '( )
|
||||
+(defvar system-voice-path '("/usr/share/festival/voices/")
|
||||
"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.")
|
||||
diff -u --recursive festival-vanilla/src/arch/festival/audspio.cc festival/src/arch/festival/audspio.cc
|
||||
--- festival-vanilla/src/arch/festival/audspio.cc 2017-09-04 11:54:08.000000000 -0400
|
||||
+++ festival/src/arch/festival/audspio.cc 2018-09-06 20:37:22.859868126 -0400
|
||||
@@ -108,7 +108,7 @@
|
||||
{
|
||||
audio = ft_get_param("Audio_Method");
|
||||
command = ft_get_param("Audio_Command");
|
||||
- audfds = pipe_open("audsp");
|
||||
+ audfds = pipe_open("/usr/libexec/festival/audsp");
|
||||
if (audio != NIL)
|
||||
audsp_send(EST_String("method ")+get_c_string(audio));
|
||||
if (command != NIL)
|
||||
diff -u --recursive festival-vanilla/src/arch/festival/festival.cc festival/src/arch/festival/festival.cc
|
||||
--- festival-vanilla/src/arch/festival/festival.cc 2017-09-04 11:54:08.000000000 -0400
|
||||
+++ festival/src/arch/festival/festival.cc 2018-09-06 20:37:22.859868126 -0400
|
||||
@@ -60,6 +60,9 @@
|
||||
#define STRINGIZE(S) _S_S_S(S)
|
||||
|
||||
const char *festival_version = STRINGIZE(FTVERSION) ":" STRINGIZE(FTSTATE) " " STRINGIZE(FTDATE);
|
||||
+const char *festival_libdir = "/usr/share/festival";
|
||||
+const char *festival_datadir = "/usr/share/festival";
|
||||
+const char *festival_sysconfdir = "/etc";
|
||||
|
||||
// Allow the path to be passed in without quotes because Windoze command line
|
||||
// is stupid
|
||||
@@ -79,7 +82,6 @@
|
||||
#define FTOSTYPE ""
|
||||
#endif
|
||||
|
||||
-const char *festival_libdir = FTLIBDIR;
|
||||
ostream *cdebug;
|
||||
static int festival_server_port = 1314;
|
||||
static EST_StrList sub_copyrights;
|
||||
@@ -308,7 +310,7 @@
|
||||
EST_String userinitfile, home_str, initfile;
|
||||
|
||||
// Load library init first
|
||||
- initfile = (EST_String)EST_Pathname(festival_libdir).as_directory() +
|
||||
+ initfile = (EST_String)EST_Pathname(festival_datadir).as_directory() +
|
||||
"init.scm";
|
||||
if (access((const char *)initfile,R_OK) == 0)
|
||||
vload(initfile,FALSE);
|
||||
@@ -324,6 +326,8 @@
|
||||
int major,minor,subminor;
|
||||
|
||||
siod_set_lval("libdir",strintern(festival_libdir));
|
||||
+ siod_set_lval("datadir",strintern(festival_datadir));
|
||||
+ siod_set_lval("sysconfdir",strintern(festival_sysconfdir));
|
||||
if (!streq(FTOSTYPE,""))
|
||||
siod_set_lval("*ostype*",cintern(FTOSTYPE));
|
||||
siod_set_lval("festival_version",
|
||||
@@ -357,6 +361,7 @@
|
||||
if (mplayer_supported)
|
||||
proclaim_module("mplayeraudio");
|
||||
|
||||
+#if 0 /* /usr/lib/festival/etc/machine -- ??? */
|
||||
// Add etc-dir path and machine specific directory etc/$OSTYPE
|
||||
char *etcdir = walloc(char,strlen(festival_libdir)+strlen("etc/")+
|
||||
strlen(FTOSTYPE)+3);
|
||||
@@ -377,6 +382,7 @@
|
||||
|
||||
wfree(etcdir);
|
||||
wfree(etcdircommon);
|
||||
+#endif
|
||||
return;
|
||||
}
|
||||
|
||||
Only in festival/src/arch/festival: festival.cc.orig
|
||||
diff -u --recursive festival-vanilla/src/arch/festival/Makefile festival/src/arch/festival/Makefile
|
||||
--- festival-vanilla/src/arch/festival/Makefile 2017-09-04 11:54:08.000000000 -0400
|
||||
+++ festival/src/arch/festival/Makefile 2018-09-06 20:37:22.858868122 -0400
|
||||
@@ -62,6 +62,6 @@
|
||||
LOCAL_INCLUDES += $(FESTIVAL_INCLUDES)
|
||||
|
||||
festival.o: festival.cc
|
||||
- $(CXX_COMMAND_TEMPLATES) -DFTNAME='$(PROJECT_NAME)' -DFTLIBDIRC='$(FTLIBDIR)' -DFTVERSION='$(PROJECT_VERSION)' -DFTSTATE='$(PROJECT_STATE)' -DFTDATE='$(PROJECT_DATE)' -DFTOSTYPE=\"$(SYSTEM_TYPE)\" festival.cc
|
||||
+ $(CXX_COMMAND_TEMPLATES) -DFTNAME='$(PROJECT_NAME)' -DFTVERSION='$(PROJECT_VERSION)' -DFTSTATE='$(PROJECT_STATE)' -DFTDATE='$(PROJECT_DATE)' -DFTOSTYPEC='$(SYSTEM_TYPE)' festival.cc
|
||||
|
||||
|
||||
diff -u --recursive festival-vanilla/src/include/festival.h festival/src/include/festival.h
|
||||
--- festival-vanilla/src/include/festival.h 2017-09-04 11:54:08.000000000 -0400
|
||||
+++ festival/src/include/festival.h 2018-09-06 20:37:22.854868102 -0400
|
||||
@@ -138,6 +138,7 @@
|
||||
void add_item_features(EST_Item *s,LISP features);
|
||||
|
||||
extern const char *festival_libdir;
|
||||
+extern const char *festival_datadir;
|
||||
|
||||
// Module specific LISP/etc definitions
|
||||
void festival_init_modules(void);
|
||||
diff -u --recursive festival-vanilla/src/main/festival_main.cc festival/src/main/festival_main.cc
|
||||
--- festival-vanilla/src/main/festival_main.cc 2017-09-04 11:54:08.000000000 -0400
|
||||
+++ festival/src/main/festival_main.cc 2018-09-06 20:37:22.853868097 -0400
|
||||
@@ -88,6 +88,8 @@
|
||||
"In evaluation mode \"filenames\" starting with ( are evaluated inline\n"+
|
||||
"Festival Speech Synthesis System: "+ festival_version +"\n"+
|
||||
"-q Load no default setup files\n"+
|
||||
+ "--datadir <string>\n"+
|
||||
+ " Set data directory pathname\n"+
|
||||
"--libdir <string>\n"+
|
||||
" Set library directory pathname\n"+
|
||||
"-b Run in batch mode (no interaction)\n"+
|
||||
@@ -127,6 +129,12 @@
|
||||
festival_libdir = wstrdup(al.val("--libdir"));
|
||||
else if (getenv("FESTLIBDIR") != 0)
|
||||
festival_libdir = getenv("FESTLIBDIR");
|
||||
+
|
||||
+ if (al.present("--datadir"))
|
||||
+ festival_datadir = wstrdup(al.val("--datadir"));
|
||||
+ else if (getenv("FESTDATADIR") != 0)
|
||||
+ festival_datadir = getenv("FESTDATADIR");
|
||||
+
|
||||
if (al.present("--heap"))
|
||||
heap_size = al.ival("--heap");
|
||||
|
||||
diff -u --recursive festival-vanilla/testsuite/data/modes.scm festival/testsuite/data/modes.scm
|
||||
--- festival-vanilla/testsuite/data/modes.scm 2017-09-04 11:54:08.000000000 -0400
|
||||
+++ festival/testsuite/data/modes.scm 2018-09-06 20:37:22.853868097 -0400
|
||||
@@ -42,13 +42,13 @@
|
||||
|
||||
(format t "\n\nSABLE mode\n")
|
||||
(unwind-protect
|
||||
- (tts (string-append libdir "/../examples/example2.sable") nil))
|
||||
+ (tts "/usr/share/doc/festival/examples/example2.sable" 'sable))
|
||||
(format t "\n\nOGI's mark up mode\n")
|
||||
(unwind-protect
|
||||
- (tts (string-append libdir "/../examples/ex1.ogi") 'ogimarkup))
|
||||
+ (tts "/usr/share/doc/festival/examples/ex1.ogi" 'ogimarkup))
|
||||
(format t "\n\nAn email mode\n")
|
||||
(unwind-protect
|
||||
- (tts (string-append libdir "/../examples/ex1.email") nil))
|
||||
+ (tts "/usr/share/doc/festival/examples/ex1.email" nil))
|
||||
|
||||
(voice_kal_diphone)
|
||||
(format t "\n\nA singing mode\n")
|
@ -0,0 +1,20 @@
|
||||
diff -up festival/src/main/Makefile.pie festival/src/main/Makefile
|
||||
--- festival/src/main/Makefile.pie 2022-01-26 10:33:55.420688190 -0500
|
||||
+++ festival/src/main/Makefile 2022-01-26 10:34:45.928050436 -0500
|
||||
@@ -54,13 +54,13 @@ ifeq (SIOD_PYTHON, $(findstring SIOD_PYT
|
||||
endif
|
||||
|
||||
festival: festival_main.o $(LIBDEPS)
|
||||
- $(LINK_COMMAND) -o festival festival_main.o $(LIBS)
|
||||
+ $(LINK_COMMAND) -o festival festival_main.o -Wp,-pie $(LIBS)
|
||||
|
||||
festival_client: festival_client.o $(REQUIRED_LIBDEPS)
|
||||
- $(LINK_COMMAND) -o festival_client festival_client.o $(LIBS)
|
||||
+ $(LINK_COMMAND) -o festival_client festival_client.o -Wp,-pie $(LIBS)
|
||||
|
||||
$(ETCDIR)/audsp: $(ETCDIR)/.made audsp.o $(LIBDEPS)
|
||||
- $(LINK_COMMAND) -o $(ETCDIR)/audsp audsp.o $(LIBS)
|
||||
+ $(LINK_COMMAND) -o $(ETCDIR)/audsp audsp.o -Wp,-pie $(LIBS)
|
||||
|
||||
# Can't just rely on the dir as it gets updated with new files
|
||||
# check for the data of a file created in etcdir
|
@ -0,0 +1,14 @@
|
||||
diff -u --recursive festival-vanilla/lib/festival.scm festival/lib/festival.scm
|
||||
--- festival-vanilla/lib/festival.scm 2018-07-22 17:42:03.513767269 -0400
|
||||
+++ festival/lib/festival.scm 2018-07-22 18:53:25.698493760 -0400
|
||||
@@ -33,6 +33,10 @@
|
||||
;;; General Festival Scheme specific functions
|
||||
;;; Including definitions of various standard variables.
|
||||
|
||||
+(Parameter.set 'Audio_Required_Format 'aiff)
|
||||
+(Parameter.set 'Audio_Method 'Audio_Command)
|
||||
+(Parameter.set 'Audio_Command "paplay $FILE --client-name=Festival --stream-name=Speech")
|
||||
+
|
||||
;; will be set automatically on start-up
|
||||
(defvar festival_version "unknown"
|
||||
"festival_version
|
@ -0,0 +1,157 @@
|
||||
diff -u --recursive festival-vanilla/doc/festival.texi festival/doc/festival.texi
|
||||
--- festival-vanilla/doc/festival.texi 2017-09-04 11:54:08.000000000 -0400
|
||||
+++ festival/doc/festival.texi 2018-09-09 10:04:50.409877809 -0400
|
||||
@@ -936,14 +936,15 @@
|
||||
@cindex initialization
|
||||
@cindex installation initialization
|
||||
@cindex @file{init.scm}
|
||||
-@cindex @file{siteinit.scm}
|
||||
+@cindex @file{/etc/festival.scm}
|
||||
+@cindex @file{/etc/festivalvars.scm}
|
||||
Once compiled Festival may be further customized for particular sites.
|
||||
At start up time Festival loads the file @file{init.scm} from its
|
||||
library directory. This file further loads other necessary files such
|
||||
as phoneset descriptions, duration parameters, intonation parameters,
|
||||
definitions of voices etc. It will also load the files
|
||||
-@file{sitevars.scm} and @file{siteinit.scm} if they exist.
|
||||
-@file{sitevars.scm} is loaded after the basic Scheme library functions
|
||||
+@file{/etc/festivalvars.scm} and @file{/etc/festival.scm} if they exist.
|
||||
+@file{/etc/festivalvars.scm} is loaded after the basic Scheme library functions
|
||||
are loaded but before any of the festival related functions are
|
||||
loaded. This file is intended to set various path names before
|
||||
various subsystems are loaded. Typically variables such
|
||||
@@ -951,17 +952,17 @@
|
||||
@code{voices_dir} (pointing to voice directories) should
|
||||
be reset here if necessary.
|
||||
|
||||
-@cindex change libdir at run-time
|
||||
+@cindex change libdir or datadir at run-time
|
||||
@cindex run-time configuration
|
||||
@cindex @code{load-path}
|
||||
The default installation will try to find its lexicons and voices
|
||||
automatically based on the value of @code{load-path} (this is derived
|
||||
-from @code{FESTIVAL_HOME} at compilation time or by using the @code{--libdir}
|
||||
+from @code{FESTIVAL_HOME} at compilation time or by using the @code{--datadir}
|
||||
at run-time). If the voices and lexicons have been unpacked into
|
||||
subdirectories of the library directory (the default) then no site
|
||||
specific initialization of the above pathnames will be necessary.
|
||||
|
||||
-The second site specific file is @file{siteinit.scm}. Typical examples
|
||||
+The second site specific file is @file{/etc/festival.scm}. Typical examples
|
||||
of local initialization are as follows. The default audio output method
|
||||
is NCD's NAS system if that is supported as that's what we use normally
|
||||
in CSTR. If it is not supported, any hardware specific mode is the
|
||||
@@ -969,7 +970,7 @@
|
||||
But that default is just a setting in @file{init.scm}. If for example
|
||||
in your environment you may wish the default audio output method to be
|
||||
8k mulaw through @file{/dev/audio} you should add the following line to
|
||||
-your @file{siteinit.scm} file
|
||||
+your @file{/etc/festival.scm} file
|
||||
@lisp
|
||||
(Parameter.set 'Audio_Method 'sunaudio)
|
||||
@end lisp
|
||||
@@ -990,7 +991,7 @@
|
||||
for sample rate and file type. When playing waveforms, Festival, by
|
||||
default, outputs as unheadered waveform in native byte order. In this
|
||||
example you would set up the default audio playing mechanism in
|
||||
-@file{siteinit.scm} as follows
|
||||
+@file{/etc/festival.scm} as follows
|
||||
@lisp
|
||||
(Parameter.set 'Audio_Method 'Audio_Command)
|
||||
(Parameter.set 'Audio_Command "adplay -raw -r $SR $FILE")
|
||||
@@ -1036,12 +1037,12 @@
|
||||
depend on many things but due to various licence (and resource)
|
||||
restrictions you may only have some diphone/nphone databases available
|
||||
in your installation. The function name that is the value of
|
||||
-@code{voice_default} is called immediately after @file{siteinit.scm} is
|
||||
+@code{voice_default} is called immediately after @file{/etc/festival.scm} is
|
||||
loaded offering the opportunity for you to change it. In
|
||||
the standard distribution no change should be required. If you
|
||||
download all the distributed voices @code{voice_rab_diphone} is
|
||||
the default voice. You may change this for a site by adding
|
||||
-the following to @file{siteinit.scm} or per person by changing
|
||||
+the following to @file{/etc/festival.scm} or per person by changing
|
||||
your @file{.festivalrc}. For example if you wish to
|
||||
change the default voice to the American one @code{voice_ked_diphone}
|
||||
@lisp
|
||||
@@ -1085,7 +1086,9 @@
|
||||
Copyright (C) University of Edinburgh, 1996-2003. All rights reserved.
|
||||
For details type `(festival_warranty)'
|
||||
festival> libdir
|
||||
-"/projects/festival/lib/"
|
||||
+"/usr/lib/festival"
|
||||
+festival> datadir
|
||||
+"/usr/share/festival"
|
||||
festival> ^D
|
||||
@end example
|
||||
This should show the pathname you set in your @file{config/config}.
|
||||
@@ -1106,7 +1109,7 @@
|
||||
You have selected NAS as the audio output but have no server running on
|
||||
that machine or your @code{DISPLAY} or @code{AUDIOSERVER} environment
|
||||
variable is not set properly for your output device. Either set these
|
||||
-properly or change the audio output device in @file{lib/siteinit.scm} as
|
||||
+properly or change the audio output device in @file{lib/festival.scm} as
|
||||
described above.
|
||||
|
||||
Ensure your audio device actually works the way you think it does. On
|
||||
@@ -1136,7 +1139,7 @@
|
||||
@code{voice_rab_diphone} (@file{festvox_rabxxxx.tar.gz}) is the default
|
||||
voice and that @code{voice_ked_diphone} and @code{voice_don_diphone}
|
||||
(@file{festvox_kedxxxx.tar.gz} and @file{festvox_don.tar.gz}) are
|
||||
-installed. Also local settings in your @file{festival/lib/siteinit.scm}
|
||||
+installed. Also local settings in your @file{/etc/festival.scm}
|
||||
may affect these tests. However, after installation it may
|
||||
be worth trying
|
||||
@example
|
||||
Only in festival/doc: festival.texi.orig
|
||||
Only in festival-vanilla/: festival
|
||||
diff -u --recursive festival-vanilla/lib/init.scm festival/lib/init.scm
|
||||
--- festival-vanilla/lib/init.scm 2017-09-04 11:54:08.000000000 -0400
|
||||
+++ festival/lib/init.scm 2018-09-09 10:04:50.406877794 -0400
|
||||
@@ -42,6 +42,10 @@
|
||||
"home-directory
|
||||
Place looked at for .festivalrc etc.")
|
||||
|
||||
+;;; system-wide startup initialization
|
||||
+(if (probe_file (path-append sysconfdir "festivalvars.scm"))
|
||||
+ (load (path-append sysconfdir "festivalvars.scm")))
|
||||
+
|
||||
;;; User startup initialization, can be used to override load-path
|
||||
;;; to allow alternate basic modules to be loaded.
|
||||
(if (probe_file (path-append home-directory ".siodvarsrc"))
|
||||
@@ -50,11 +54,6 @@
|
||||
(if (probe_file (path-append home-directory ".festivalvarsrc"))
|
||||
(load (path-append home-directory ".festivalvarsrc")))
|
||||
|
||||
-;;; A chance to set various variables to a local setting e.g.
|
||||
-;;; lexdir, voices_dir audio etc etc.
|
||||
-(if (probe_file (path-append libdir "sitevars.scm"))
|
||||
- (load (path-append libdir "sitevars.scm")))
|
||||
-
|
||||
;;; CSTR siod extensions
|
||||
(require 'cstr)
|
||||
|
||||
@@ -135,8 +134,8 @@
|
||||
;;;
|
||||
;;; 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 (path-append sysconfdir "festival.scm"))
|
||||
+ (load (path-append sysconfdir "festival.scm")))
|
||||
|
||||
;;; User initialization, if a user has a personal customization
|
||||
;;; file loaded it
|
||||
diff -u --recursive festival-vanilla/lib/synthesis.scm festival/lib/synthesis.scm
|
||||
--- festival-vanilla/lib/synthesis.scm 2017-09-04 11:54:08.000000000 -0400
|
||||
+++ festival/lib/synthesis.scm 2018-09-09 10:04:50.380877660 -0400
|
||||
@@ -68,7 +68,7 @@
|
||||
The default list of functions to be run on all synthesized utterances
|
||||
after Wave_Synth. This will normally be nil but if for some reason you
|
||||
need to change the gain or rescale *all* waveforms you could set the
|
||||
- function here, in your siteinit.scm.")
|
||||
+ function here, in your /etc/festival.scm.")
|
||||
|
||||
(defvar after_synth_hooks default_after_synth_hooks
|
||||
"after_synth_hooks
|
||||
Only in festival/src/arch/festival: festival.cc.orig
|
@ -0,0 +1,16 @@
|
||||
diff -u --recursive festival-vanilla/config/project.mak festival/config/project.mak
|
||||
--- festival-vanilla/config/project.mak 2017-12-25 10:05:54.000000000 -0500
|
||||
+++ festival/config/project.mak 2018-08-29 21:30:11.714031729 -0400
|
||||
@@ -86,9 +86,9 @@
|
||||
# Libraries used from other projects
|
||||
|
||||
REQUIRED_LIBRARIES = estools estbase eststring
|
||||
-REQUIRED_LIBRARY_DIR_estools = $(EST)/lib
|
||||
-REQUIRED_LIBRARY_DIR_estbase = $(EST)/lib
|
||||
-REQUIRED_LIBRARY_DIR_eststring = $(EST)/lib
|
||||
+REQUIRED_LIBRARY_DIR_estools = $(LIBDIR)
|
||||
+REQUIRED_LIBRARY_DIR_estbase = $(LIBDIR)
|
||||
+REQUIRED_LIBRARY_DIR_eststring = $(LIBDIR)
|
||||
|
||||
REQUIRED_MAKE_INCLUDE = $(EST)/make.include
|
||||
|
@ -0,0 +1,17 @@
|
||||
diff -u --recursive festival-vanilla/config/config.in festival/config/config.in
|
||||
--- festival-vanilla/config/config.in 2018-08-29 21:19:10.570829790 -0400
|
||||
+++ festival/config/config.in 2018-08-29 21:19:57.329977377 -0400
|
||||
@@ -10,7 +10,12 @@
|
||||
###########################################################################
|
||||
## Which speech tools to use
|
||||
|
||||
-EST=$(TOP)/../speech_tools
|
||||
+ARCH := $(shell uname -p)
|
||||
+ifeq ($(ARCH),$(filter $(ARCH),x86_64 s390x ppc64le aarch64))
|
||||
+EST=/usr/lib64/speech_tools
|
||||
+else
|
||||
+EST=/usr/lib/speech_tools
|
||||
+endif
|
||||
|
||||
###########################################################################
|
||||
## Where the festival tree will be installed.
|
@ -0,0 +1,10 @@
|
||||
[Unit]
|
||||
Description=Festival server
|
||||
Documentation=man:festival(1)
|
||||
[Service]
|
||||
ExecStart=/usr/bin/festival --server
|
||||
User=festival
|
||||
Group=festival
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in new issue