Compare commits

...

No commits in common. "c8" and "c9-beta" have entirely different histories.
c8 ... c9-beta

37 changed files with 903 additions and 3603 deletions

View File

@ -1,14 +1,11 @@
e5862f8949bd586bcd617248cd62f98f20610ae4 SOURCES/festdoc-1.4.2.tar.gz
ffb1a7f8a587cee942de7722f9b7a58e4fd0a8e2 SOURCES/festival-1.96-beta.tar.gz
18821c71e04732128c701a3d0c2b48561dddf2aa SOURCES/festival-spanish-voices_1.0.0.orig.tar.gz
931f55aec4de9d75775f6e41c1049195453d1ab9 SOURCES/festlex_CMU.tar.gz
cb7f7a3643c1af95d82144a342397cc118605f73 SOURCES/festlex_POSLEX.tar.gz
ad18502ae0fd10bdc3db189fa9afa8a167eceebb SOURCES/festvox_kallpc16k.tar.gz
777e58d25fd499530601c514650328267fb716fb SOURCES/festvox_kedlpc16k.tar.gz
4edeaf9bf8d3739f80171b03bf1b355446b0870c SOURCES/festvox_nitech_us_awb_arctic_hts.tar.bz2
0e8f4a9fcbc0a7225b3fb12dc336f9a19904ca79 SOURCES/festvox_nitech_us_bdl_arctic_hts.tar.bz2
7cfb8f4248ac774132834eb9d6b977e5eb010309 SOURCES/festvox_nitech_us_clb_arctic_hts.tar.bz2
121ce4aed5caccc035576f3357d05dbbf45b371b SOURCES/festvox_nitech_us_jmk_arctic_hts.tar.bz2
48f50a550d1b6d8db15fc750cc90c0720cd10b11 SOURCES/festvox_nitech_us_rms_arctic_hts.tar.bz2
e6a41456bfb1be8c17abbb5750b6f194f5855f41 SOURCES/festvox_nitech_us_slt_arctic_hts.tar.bz2
7f208863833a7e7ea4838e0f0f04a4881b32cf56 SOURCES/speech_tools-1.2.96-beta.tar.gz
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

19
.gitignore vendored
View File

@ -1,14 +1,11 @@
SOURCES/festdoc-1.4.2.tar.gz
SOURCES/festival-1.96-beta.tar.gz
SOURCES/festival-spanish-voices_1.0.0.orig.tar.gz
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_kedlpc16k.tar.gz
SOURCES/festvox_nitech_us_awb_arctic_hts.tar.bz2
SOURCES/festvox_nitech_us_bdl_arctic_hts.tar.bz2
SOURCES/festvox_nitech_us_clb_arctic_hts.tar.bz2
SOURCES/festvox_nitech_us_jmk_arctic_hts.tar.bz2
SOURCES/festvox_nitech_us_rms_arctic_hts.tar.bz2
SOURCES/festvox_nitech_us_slt_arctic_hts.tar.bz2
SOURCES/speech_tools-1.2.96-beta.tar.gz
SOURCES/festvox_rablpc16k.tar.gz

View File

@ -1,339 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.

View File

@ -1,20 +0,0 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
;;; Site specific initialization file for Festival
;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Note that many configuration settings are better made in
;; individual ~/.festivalrc files. For example, if you want to
;; enable ESD audio and do it here, it'll break screen reading
;; on the login screen. Instead, put the (uncommented) line
;(Parameter.def 'Audio_Method 'esdaudio)
;; in your individual initialization file.
;; You can change the default voice with something like:
;(set! voice_default 'voice_nitech_us_awb_arctic_hts)
;; If you want to install voices into a non-default location,
;; see sitevars.scm for the appropriate settings.
(provide 'siteinit)

View File

@ -1,21 +0,0 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
;;; Site specific variable settings for Festival
;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; The system-voice-path is an additional path in which to look
;; for voices. If you install voices not provided in the form of
;; rpm package, you should then set this to match. The default
;; provided here, "/usr/local/share/festival/lib/voices/", is
;; probably a good choice. You could also set this in
;; ~/.festivalvarsrc, if you want to use a voice not provided to
;; the system as a whole.
(set! system-voice-path '("/usr/local/share/festival/lib/voices/"))
(set! system-voice-path-multisyn
'("/usr/local/share/festival/lib/voices-multisyn/"))
(provide 'sitevars)

View File

@ -1,57 +0,0 @@
diff -urN festival.orig/lib/alias_cmu_to_nitech.scm festival/lib/alias_cmu_to_nitech.scm
--- festival.orig/lib/alias_cmu_to_nitech.scm 1969-12-31 19:00:00.000000000 -0500
+++ festival/lib/alias_cmu_to_nitech.scm 2007-03-14 23:31:43.000000000 -0400
@@ -0,0 +1,39 @@
+;
+; This file is trivial and I make no claims of copyright. However, I should
+; certainly credit Nickolay V. Shmyrev, who sent me a snippet of code on
+; which this is based.
+; -- Matthew Miller <mattdm@mattdm.org>
+;
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;
+;;; Make aliases for cmu_us_*_arctic_hts voices previously shipped with
+;;; Fedora which are now replaced by the nitech_us_*_arctic_hts versions
+;;; of the same voices.
+;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+(if (and (member 'nitech_us_awb_arctic_hts (voice.list))
+ (not (member 'cmu_us_awb_arctic_hts (voice.list))))
+ (define (voice_cmu_us_awb_arctic_hts)
+ (voice_nitech_us_awb_arctic_hts)
+ 'cmu_us_awb_arctic_hts))
+
+(if (and (member 'nitech_us_bdl_arctic_hts (voice.list))
+ (not (member 'cmu_us_bdl_arctic_hts (voice.list))))
+ (define (voice_cmu_us_bdl_arctic_hts)
+ (voice_nitech_us_bdl_arctic_hts)
+ 'cmu_us_bdl_arctic_hts))
+
+(if (and (member 'nitech_us_jmk_arctic_hts (voice.list))
+ (not (member 'cmu_us_jmk_arctic_hts (voice.list))))
+ (define (voice_cmu_us_jmk_arctic_hts)
+ (voice_nitech_us_jmk_arctic_hts)
+ 'cmu_us_jmk_arctic_hts))
+
+(if (and (member 'nitech_us_slt_arctic_hts (voice.list))
+ (not (member 'cmu_us_slt_arctic_hts (voice.list))))
+ (define (voice_cmu_us_slt_arctic_hts)
+ (voice_nitech_us_slt_arctic_hts)
+ 'cmu_us_slt_arctic_hts))
+
diff -urN festival.orig/lib/init.scm festival/lib/init.scm
--- festival.orig/lib/init.scm 2007-03-14 23:26:07.000000000 -0400
+++ festival/lib/init.scm 2007-03-14 23:32:44.000000000 -0400
@@ -128,6 +128,10 @@
(require 'voices) ;; sets voice_default
(require 'languages)
+;;; Aliases for the CMU voices previously shipped
+;;; with Fedora (now replaced by Nitech versions)
+(require 'alias_cmu_to_nitech)
+
;;; Some higher level functions
(require 'token)
(require 'tts)

View File

@ -1,33 +0,0 @@
--- festival/speech_tools/config/rules/library.mak.soname 2001-04-04 07:55:32.000000000 -0400
+++ festival/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)) $@
###########################################################################
## ##
--- festival/speech_tools/config/compilers/gcc_defaults.mak.soname 2007-03-16 12:43:31.000000000 -0400
+++ festival/speech_tools/config/compilers/gcc_defaults.mak 2007-03-16 13:30:11.000000000 -0400
@@ -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

View File

@ -1,55 +0,0 @@
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

View File

@ -1,11 +0,0 @@
--- festival/config/config.in.orig 2007-03-15 16:16:24.000000000 -0400
+++ festival/config/config.in 2007-03-15 16:16:50.000000000 -0400
@@ -10,7 +10,7 @@
###########################################################################
## Which speech tools to use
-EST=$(TOP)/../speech_tools
+EST=$(TOP)/speech_tools
###########################################################################
## Where the festival tree will be installed.

View File

@ -1,24 +0,0 @@
diff -Naur festival.orig/speech_tools/siod/siodeditline.c festival/speech_tools/siod/siodeditline.c
--- festival.orig/speech_tools/siod/siodeditline.c 2004-04-30 18:56:51.000000000 +0200
+++ festival/speech_tools/siod/siodeditline.c 2014-05-12 19:00:37.491000000 +0200
@@ -151,7 +151,7 @@
symbol = el_current_sym();
infostring = siod_manual_sym(symbol);
putc('\n',stderr);
- fprintf(stderr,infostring);
+ fprintf(stderr,"%s",infostring);
fflush(stderr);
putc('\n',stderr);
fflush(stderr);
diff -Naur festival.orig/speech_tools/utils/cmd_line.cc festival/speech_tools/utils/cmd_line.cc
--- festival.orig/speech_tools/utils/cmd_line.cc 2004-09-30 14:53:37.000000000 +0200
+++ festival/speech_tools/utils/cmd_line.cc 2014-05-12 19:08:57.577000000 +0200
@@ -460,7 +460,7 @@
fprintf(stdout,"<cmdsynopsis><command>%s</command>",
(const char *)full.filename());
- fprintf(stdout, (const char *)ts.get_upto_eoln().string());
+ fprintf(stdout, "%s", (const char *)ts.get_upto_eoln().string());
while (!ts.eof())
{

View File

@ -1,35 +0,0 @@
diff -ur festival.orig/speech_tools/main/siod_main.cc festival/speech_tools/main/siod_main.cc
--- festival.orig/speech_tools/main/siod_main.cc 2004-09-30 08:53:36.000000000 -0400
+++ festival/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

View File

@ -1,37 +0,0 @@
--- festival/speech_tools/config/rules/defaults.mak.orig 2007-03-16 12:39:12.000000000 -0400
+++ festival/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

View File

@ -1,213 +0,0 @@
diff -ur festival.orig/lib/email-mode.scm festival/lib/email-mode.scm
--- festival.orig/lib/email-mode.scm 2001-04-04 07:55:20.000000000 -0400
+++ festival/lib/email-mode.scm 2007-03-13 12:14:01.000000000 -0400
@@ -40,7 +40,7 @@
(define (email_init_func)
"(email_init_func)
Called on starting email text mode."
- (voice_rab_diphone)
+ (voice_nitech_us_slt_arctic_hts)
(set! email_previous_t2w_func token_to_words)
(set! english_token_to_words email_token_to_words)
(set! token_to_words english_token_to_words)
@@ -67,13 +67,13 @@
((and (string-matches name ">")
(string-matches (item.feat token "whitespace")
"[ \t\n]*\n *"))
- (voice_don_diphone)
+ (voice_nitech_us_bdl_arctic_hts)
nil ;; return nothing to say
)
(t ;; for all other cases
(if (string-matches (item.feat token "whitespace")
".*\n[ \n]*")
- (voice_rab_diphone))
+ (voice_nitech_us_slt_arctic_hts))
(email_previous_t2w_func token name))))
(set! tts_text_modes
diff -ur festival.orig/lib/festival.scm festival/lib/festival.scm
--- festival.orig/lib/festival.scm 2005-10-21 08:34:01.000000000 -0400
+++ festival/lib/festival.scm 2007-03-13 12:15:13.000000000 -0400
@@ -507,8 +507,11 @@
double quotes
(tts FILENAME nil) Say contexts of file, FILENAME should be
surrounded by double quotes
- (voice_rab_diphone) Select voice (Britsh Male)
(voice_ked_diphone) Select voice (American Male)
+ (voice_nitech_us_bdl_arctic_hts)
+ Select voice (American Male)
+ (voice_nitech_us_slt_arctic_hts)
+ Select voice (American Female)
")
(define (festival_warranty)
diff -ur festival.orig/lib/languages.scm festival/lib/languages.scm
--- festival.orig/lib/languages.scm 2002-04-19 17:47:23.000000000 -0400
+++ festival/lib/languages.scm 2007-03-13 12:17:15.000000000 -0400
@@ -58,11 +58,12 @@
(define (language_american_english)
"(language_american_english)
-Set up language parameters for Aemerican English."
+Set up language parameters for American English."
- (if (symbol-bound? 'voice_kal_diphone)
- (set! female1 voice_kal_diphone))
- (set! male1 voice_ked_diphone)
+ (if (symbol-bound? 'voice_nitech_us_slt_arctic_hts)
+ (set! female1 voice_nitech_us_slt_arctic_hts))
+ (if (symbol-bound? 'voice_nitech_us_bdl_arctic_hts)
+ (set! male1 voice_nitech_us_bdl_arctic_hts))
(male1)
(Parameter.set 'Language 'americanenglish)
@@ -98,11 +99,12 @@
(define (select_language language)
(cond
- ((or (equal? language 'britishenglish)
- (equal? language 'english)) ;; we all know its the *real* English
+ ((or (equal? language 'americanenglish)
+ (equal? language 'english)) ;; it may not be the *real* English
+ (language_american_english)) ;; but at least it's supported without
+ ;; non-free add-ons.
+ ((equal? language 'britishenglish)
(language_british_english))
- ((equal? language 'americanenglish)
- (language_american_english))
((equal? language 'scotsgaelic)
(language_scots_gaelic))
((equal? language 'welsh)
@@ -113,8 +115,8 @@
(language_klingon))
(t
(print "Unsupported language, using English")
- (language_british_english))))
+ (language_american_english))))
-(defvar language_default language_british_english)
+(defvar language_default language_american_english)
(provide 'languages)
diff -ur festival.orig/lib/sable-mode.scm festival/lib/sable-mode.scm
--- festival.orig/lib/sable-mode.scm 2006-07-07 17:24:55.000000000 -0400
+++ festival/lib/sable-mode.scm 2007-03-13 12:25:04.000000000 -0400
@@ -222,35 +222,38 @@
(xxml_synth UTT)
(set! sable_speaker_stack (cons sable_current_speaker sable_speaker_stack))
(cond
- ((not equal? sable_current_language 'britishenglish)
+ ((not equal? sable_current_language 'americanenglish)
(print "SABLE: choosen unknown voice, current voice unchanged"))
((equal? (car (xxml_attval "NAME" ATTLIST)) 'male1)
- (set! sable_current_speaker 'voice_kal_diphone)
- (voice_kal_diphone))
+ (set! sable_current_speaker 'voice_nitech_us_bdl_arctic_hts)
+ (voice_nitech_us_bdl_arctic_hts))
((equal? (car (xxml_attval "NAME" ATTLIST)) 'male2)
- (set! sable_current_speaker 'voice_don_diphone)
- (voice_don_diphone))
+ (set! sable_current_speaker 'voice_nitech_us_rms_arctic_hts)
+ (voice_nitech_us_rms_arctic_hts))
((equal? (car (xxml_attval "NAME" ATTLIST)) 'male3)
- (set! sable_current_speaker 'voice_ked_diphone)
- (voice_ked_diphone))
+ (set! sable_current_speaker 'voice_nitech_us_awb_arctic_hts)
+ (voice_nitech_us_awb_arctic_hts))
((equal? (car (xxml_attval "NAME" ATTLIST)) 'male4)
- (set! sable_current_speaker 'voice_rab_diphone)
- (voice_rab_diphone))
+ (set! sable_current_speaker 'voice_nitech_us_jmk_arctic_hts)
+ (voice_nitech_us_jmk_arctic_hts))
((equal? (car (xxml_attval "NAME" ATTLIST)) 'male5)
- (set! sable_current_speaker 'voice_cmu_us_jmk_arctic_hts)
- (voice_cmu_us_jmk_arctic_hts))
+ (set! sable_current_speaker 'voice_kal_diphone)
+ (voice_kal_diphone))
((equal? (car (xxml_attval "NAME" ATTLIST)) 'male6)
- (set! sable_current_speaker 'voice_cmu_us_bdl_arctic_hts)
- (voice_cmu_us_bdl_arctic_hts))
+ (set! sable_current_speaker 'voice_ked_diphone)
+ (voice_ked_diphone))
((equal? (car (xxml_attval "NAME" ATTLIST)) 'male7)
- (set! sable_current_speaker 'voice_cmu_us_awb_arctic_hts)
- (voice_cmu_us_awb_arctic_hts))
+ (set! sable_current_speaker 'voice_kal_diphone)
+ (voice_kal_diphone))
((equal? (car (xxml_attval "NAME" ATTLIST)) 'male8)
- (set! sable_current_speaker 'voice_rab_diphone)
+ (set! sable_current_speaker 'voice_ked_diphone)
(voice_ked_diphone))
((equal? (car (xxml_attval "NAME" ATTLIST)) 'female1)
- (set! sable_current_speaker 'voice_cmu_us_slt_arctic_hts)
- (voice_us1_mbrola))
+ (set! sable_current_speaker 'voice_nitech_us_slt_arctic_hts)
+ (voice_nitech_us_slt_arctic_hts))
+ ((equal? (car (xxml_attval "NAME" ATTLIST)) 'female2)
+ (set! sable_current_speaker 'voice_nitech_us_clb_arctic_hts)
+ (voice_nitech_us_clb_arctic_hts))
(t
(set! sable_current_speaker (intern (string-append "voice_" (car (xxml_attval "NAME" ATTLIST)))))
(eval (list sable_current_speaker))))
@@ -467,7 +470,7 @@
"(sable_init_func)
Initialisation for SABLE mode"
(sable_init_globals)
- (voice_kal_diphone)
+ (voice_nitech_us_slt_arctic_hts)
(set! sable_previous_elements xxml_elements)
(set! xxml_elements sable_elements)
(set! sable_previous_token_to_words english_token_to_words)
diff -ur festival.orig/lib/soleml-mode.scm festival/lib/soleml-mode.scm
--- festival.orig/lib/soleml-mode.scm 2001-04-04 07:55:20.000000000 -0400
+++ festival/lib/soleml-mode.scm 2007-03-13 12:25:48.000000000 -0400
@@ -51,7 +51,7 @@
(define (voice_soleml)
"(soleml_voice)
Speaker specific initialisation for SOLE museum data."
- (voice_rab_diphone)
+ (voice_nitech_us_slt_arctic_hts)
;; Utterances only come at end of file
(set! eou_tree '((0)))
)
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-13 12:31:07.000000000 -0400
@@ -322,25 +322,19 @@
A variable whose value is a function name that is called on start up to
the default voice. [see Site initialization]")
+; This list has been reordered for Fedora, since we want to have the option
+; to only install a smallish voice by default. And the slt voice is nice.
(defvar default-voice-priority-list
- '(kal_diphone
- cmu_us_bdl_arctic_hts
- cmu_us_jmk_arctic_hts
- cmu_us_slt_arctic_hts
- cmu_us_awb_arctic_hts
-; cstr_rpx_nina_multisyn ; restricted license (lexicon)
-; cstr_rpx_jon_multisyn ; restricted license (lexicon)
-; cstr_edi_awb_arctic_multisyn ; restricted license (lexicon)
-; cstr_us_awb_arctic_multisyn
+ '(nitech_us_slt_arctic_hts
+ nitech_us_awb_arctic_hts
+ nitech_us_bdl_arctic_hts
+ nitech_us_clb_arctic_hts
+ nitech_us_jmk_arctic_hts
+ nitech_us_rms_arctic_hts
+ kal_diphone
ked_diphone
- don_diphone
- rab_diphone
- en1_mbrola
- us1_mbrola
- us2_mbrola
- us3_mbrola
- gsw_diphone ;; not publically distributed
- el_diphone
+ cstr_us_awb_arctic_multisyn
+ cstr_us_jmk_arctic_multisyn
)
"default-voice-priority-list
List of voice names. The first of them available becomes the default voice.")

View File

@ -1,36 +0,0 @@
diff -ur festival/lib/voices/us/nitech_us_awb_arctic_hts/festvox/nitech_us_awb_arctic_f0model.scm festival/lib/voices/us/nitech_us_awb_arctic_hts/festvox/nitech_us_awb_arctic_f0model.scm
--- festival/lib/voices/us/nitech_us_awb_arctic_hts/festvox/nitech_us_awb_arctic_f0model.scm 2006-12-26 01:37:36.000000000 -0500
+++ festival/lib/voices/us/nitech_us_awb_arctic_hts/festvox/nitech_us_awb_arctic_f0model.scm 2007-03-15 14:16:01.000000000 -0400
@@ -35,7 +35,7 @@
;;;
;;; Load any necessary files here
-;(require 'f2bf0lr)
+(require 'f2bf0lr)
(require 'nitech_us_awb_arctic_f0clunits)
(set! nitech_us_awb_arctic_int_lr_params
diff -ur festival/lib/voices/us/nitech_us_clb_arctic_hts/festvox/nitech_us_clb_arctic_f0model.scm festival/lib/voices/us/nitech_us_clb_arctic_hts/festvox/nitech_us_clb_arctic_f0model.scm
--- festival/lib/voices/us/nitech_us_clb_arctic_hts/festvox/nitech_us_clb_arctic_f0model.scm 2006-12-26 01:40:32.000000000 -0500
+++ festival/lib/voices/us/nitech_us_clb_arctic_hts/festvox/nitech_us_clb_arctic_f0model.scm 2007-03-15 14:16:09.000000000 -0400
@@ -35,7 +35,7 @@
;;;
;;; Load any necessary files here
-;(require 'f2bf0lr)
+(require 'f2bf0lr)
(require 'nitech_us_clb_arctic_f0clunits)
(set! nitech_us_clb_arctic_int_lr_params
diff -ur festival/lib/voices/us/nitech_us_rms_arctic_hts/festvox/nitech_us_rms_arctic_f0model.scm festival/lib/voices/us/nitech_us_rms_arctic_hts/festvox/nitech_us_rms_arctic_f0model.scm
--- festival/lib/voices/us/nitech_us_rms_arctic_hts/festvox/nitech_us_rms_arctic_f0model.scm 2006-12-26 01:41:26.000000000 -0500
+++ festival/lib/voices/us/nitech_us_rms_arctic_hts/festvox/nitech_us_rms_arctic_f0model.scm 2007-03-15 14:16:06.000000000 -0400
@@ -35,7 +35,7 @@
;;;
;;; Load any necessary files here
-;(require 'f2bf0lr)
+(require 'f2bf0lr)
(require 'nitech_us_rms_arctic_f0clunits)
(set! nitech_us_rms_arctic_int_lr_params

View File

@ -1,102 +0,0 @@
diff -ur festival/lib/voices/us/nitech_us_awb_arctic_hts/festvox/nitech_us_awb_arctic_hts.scm festival/lib/voices/us/nitech_us_awb_arctic_hts/festvox/nitech_us_awb_arctic_hts.scm
--- festival/lib/voices/us/nitech_us_awb_arctic_hts/festvox/nitech_us_awb_arctic_hts.scm 2007-03-08 04:26:04.000000000 -0500
+++ festival/lib/voices/us/nitech_us_awb_arctic_hts/festvox/nitech_us_awb_arctic_hts.scm 2007-03-14 23:39:40.000000000 -0400
@@ -176,5 +176,13 @@
(set! current-voice 'nitech_us_awb_arctic_hts)
)
+(proclaim_voice
+ 'nitech_us_awb_arctic_hts
+ '((language english)
+ (gender male)
+ (dialect american)
+ (description
+ "Scottish-accent US English male speaker AWB.")))
+
(provide 'nitech_us_awb_arctic_hts)
diff -ur festival/lib/voices/us/nitech_us_bdl_arctic_hts/festvox/nitech_us_bdl_arctic_hts.scm festival/lib/voices/us/nitech_us_bdl_arctic_hts/festvox/nitech_us_bdl_arctic_hts.scm
--- festival/lib/voices/us/nitech_us_bdl_arctic_hts/festvox/nitech_us_bdl_arctic_hts.scm 2007-03-08 04:26:34.000000000 -0500
+++ festival/lib/voices/us/nitech_us_bdl_arctic_hts/festvox/nitech_us_bdl_arctic_hts.scm 2007-03-14 23:40:06.000000000 -0400
@@ -176,5 +176,13 @@
(set! current-voice 'nitech_us_bdl_arctic_hts)
)
+(proclaim_voice
+ 'nitech_us_bdl_arctic_hts
+ '((language english)
+ (gender male)
+ (dialect american)
+ (description
+ "US English male speaker BDL.")))
+
(provide 'nitech_us_bdl_arctic_hts)
diff -ur festival/lib/voices/us/nitech_us_clb_arctic_hts/festvox/nitech_us_clb_arctic_hts.scm festival/lib/voices/us/nitech_us_clb_arctic_hts/festvox/nitech_us_clb_arctic_hts.scm
--- festival/lib/voices/us/nitech_us_clb_arctic_hts/festvox/nitech_us_clb_arctic_hts.scm 2007-03-08 04:27:07.000000000 -0500
+++ festival/lib/voices/us/nitech_us_clb_arctic_hts/festvox/nitech_us_clb_arctic_hts.scm 2007-03-14 23:41:36.000000000 -0400
@@ -176,5 +176,13 @@
(set! current-voice 'nitech_us_clb_arctic_hts)
)
+(proclaim_voice
+ 'nitech_us_clb_arctic_hts
+ '((language english)
+ (gender female)
+ (dialect american)
+ (description
+ "US English female speaker CLB.")))
+
(provide 'nitech_us_clb_arctic_hts)
diff -ur festival/lib/voices/us/nitech_us_jmk_arctic_hts/festvox/nitech_us_jmk_arctic_hts.scm festival/lib/voices/us/nitech_us_jmk_arctic_hts/festvox/nitech_us_jmk_arctic_hts.scm
--- festival/lib/voices/us/nitech_us_jmk_arctic_hts/festvox/nitech_us_jmk_arctic_hts.scm 2007-03-08 04:27:43.000000000 -0500
+++ festival/lib/voices/us/nitech_us_jmk_arctic_hts/festvox/nitech_us_jmk_arctic_hts.scm 2007-03-14 23:42:14.000000000 -0400
@@ -176,5 +176,13 @@
(set! current-voice 'nitech_us_jmk_arctic_hts)
)
+(proclaim_voice
+ 'nitech_us_jmk_arctic_hts
+ '((language english)
+ (gender male)
+ (dialect american)
+ (description
+ "Canadian-accent US English male speaker JMK.")))
+
(provide 'nitech_us_jmk_arctic_hts)
diff -ur festival/lib/voices/us/nitech_us_rms_arctic_hts/festvox/nitech_us_rms_arctic_hts.scm festival/lib/voices/us/nitech_us_rms_arctic_hts/festvox/nitech_us_rms_arctic_hts.scm
--- festival/lib/voices/us/nitech_us_rms_arctic_hts/festvox/nitech_us_rms_arctic_hts.scm 2007-03-08 04:28:15.000000000 -0500
+++ festival/lib/voices/us/nitech_us_rms_arctic_hts/festvox/nitech_us_rms_arctic_hts.scm 2007-03-14 23:42:46.000000000 -0400
@@ -176,5 +176,13 @@
(set! current-voice 'nitech_us_rms_arctic_hts)
)
+(proclaim_voice
+ 'nitech_us_rms_arctic_hts
+ '((language english)
+ (gender male)
+ (dialect american)
+ (description
+ "US English male speaker RMS. Not that RMS.")))
+
(provide 'nitech_us_rms_arctic_hts)
diff -ur festival/lib/voices/us/nitech_us_slt_arctic_hts/festvox/nitech_us_slt_arctic_hts.scm festival/lib/voices/us/nitech_us_slt_arctic_hts/festvox/nitech_us_slt_arctic_hts.scm
--- festival/lib/voices/us/nitech_us_slt_arctic_hts/festvox/nitech_us_slt_arctic_hts.scm 2007-03-08 04:28:41.000000000 -0500
+++ festival/lib/voices/us/nitech_us_slt_arctic_hts/festvox/nitech_us_slt_arctic_hts.scm 2007-03-14 23:43:03.000000000 -0400
@@ -176,5 +176,13 @@
(set! current-voice 'nitech_us_slt_arctic_hts)
)
+(proclaim_voice
+ 'nitech_us_slt_arctic_hts
+ '((language english)
+ (gender female)
+ (dialect american)
+ (description
+ "US English female speaker SLT.")))
+
(provide 'nitech_us_slt_arctic_hts)

View File

@ -1,135 +0,0 @@
diff -ur festival/lib/voices/us/nitech_us_awb_arctic_hts/festvox/nitech_us_awb_arctic_hts.scm festival/lib/voices/us/nitech_us_awb_arctic_hts/festvox/nitech_us_awb_arctic_hts.scm
--- festival/lib/voices/us/nitech_us_awb_arctic_hts/festvox/nitech_us_awb_arctic_hts.scm 2007-03-15 14:18:02.000000000 -0400
+++ festival/lib/voices/us/nitech_us_awb_arctic_hts/festvox/nitech_us_awb_arctic_hts.scm 2007-03-15 14:20:37.000000000 -0400
@@ -101,10 +101,10 @@
t
)
-(set! nitech_us_slt_arctic_hts::hts_feats_list
+(set! nitech_us_awb_arctic_hts::hts_feats_list
(load (path-append hts_data_dir "feat.list") t))
-(set! nitech_us_slt_arctic_hts::hts_engine_params
+(set! nitech_us_awb_arctic_hts::hts_engine_params
(list
(list "-dm1" (path-append hts_data_dir "mcep_dyn.win"))
(list "-dm2" (path-append hts_data_dir "mcep_acc.win"))
@@ -160,8 +160,8 @@
(nitech_us_awb_arctic::select_f0model)
;; Waveform synthesis model: hts
- (set! hts_engine_params nitech_us_slt_arctic_hts::hts_engine_params)
- (set! hts_feats_list nitech_us_slt_arctic_hts::hts_feats_list)
+ (set! hts_engine_params nitech_us_awb_arctic_hts::hts_engine_params)
+ (set! hts_feats_list nitech_us_awb_arctic_hts::hts_feats_list)
(Parameter.set 'Synth_Method 'HTS)
;; This is where you can modify power (and sampling rate) if desired
diff -ur festival/lib/voices/us/nitech_us_bdl_arctic_hts/festvox/nitech_us_bdl_arctic_hts.scm festival/lib/voices/us/nitech_us_bdl_arctic_hts/festvox/nitech_us_bdl_arctic_hts.scm
--- festival/lib/voices/us/nitech_us_bdl_arctic_hts/festvox/nitech_us_bdl_arctic_hts.scm 2007-03-15 14:18:03.000000000 -0400
+++ festival/lib/voices/us/nitech_us_bdl_arctic_hts/festvox/nitech_us_bdl_arctic_hts.scm 2007-03-15 14:20:43.000000000 -0400
@@ -101,10 +101,10 @@
t
)
-(set! nitech_us_slt_arctic_hts::hts_feats_list
+(set! nitech_us_bdl_arctic_hts::hts_feats_list
(load (path-append hts_data_dir "feat.list") t))
-(set! nitech_us_slt_arctic_hts::hts_engine_params
+(set! nitech_us_bdl_arctic_hts::hts_engine_params
(list
(list "-dm1" (path-append hts_data_dir "mcep_dyn.win"))
(list "-dm2" (path-append hts_data_dir "mcep_acc.win"))
@@ -160,8 +160,8 @@
(nitech_us_bdl_arctic::select_f0model)
;; Waveform synthesis model: hts
- (set! hts_engine_params nitech_us_slt_arctic_hts::hts_engine_params)
- (set! hts_feats_list nitech_us_slt_arctic_hts::hts_feats_list)
+ (set! hts_engine_params nitech_us_bdl_arctic_hts::hts_engine_params)
+ (set! hts_feats_list nitech_us_bdl_arctic_hts::hts_feats_list)
(Parameter.set 'Synth_Method 'HTS)
;; This is where you can modify power (and sampling rate) if desired
diff -ur festival/lib/voices/us/nitech_us_clb_arctic_hts/festvox/nitech_us_clb_arctic_hts.scm festival/lib/voices/us/nitech_us_clb_arctic_hts/festvox/nitech_us_clb_arctic_hts.scm
--- festival/lib/voices/us/nitech_us_clb_arctic_hts/festvox/nitech_us_clb_arctic_hts.scm 2007-03-15 14:18:03.000000000 -0400
+++ festival/lib/voices/us/nitech_us_clb_arctic_hts/festvox/nitech_us_clb_arctic_hts.scm 2007-03-15 14:20:50.000000000 -0400
@@ -101,10 +101,10 @@
t
)
-(set! nitech_us_slt_arctic_hts::hts_feats_list
+(set! nitech_us_clb_arctic_hts::hts_feats_list
(load (path-append hts_data_dir "feat.list") t))
-(set! nitech_us_slt_arctic_hts::hts_engine_params
+(set! nitech_us_clb_arctic_hts::hts_engine_params
(list
(list "-dm1" (path-append hts_data_dir "mcep_dyn.win"))
(list "-dm2" (path-append hts_data_dir "mcep_acc.win"))
@@ -160,8 +160,8 @@
(nitech_us_clb_arctic::select_f0model)
;; Waveform synthesis model: hts
- (set! hts_engine_params nitech_us_slt_arctic_hts::hts_engine_params)
- (set! hts_feats_list nitech_us_slt_arctic_hts::hts_feats_list)
+ (set! hts_engine_params nitech_us_clb_arctic_hts::hts_engine_params)
+ (set! hts_feats_list nitech_us_clb_arctic_hts::hts_feats_list)
(Parameter.set 'Synth_Method 'HTS)
;; This is where you can modify power (and sampling rate) if desired
diff -ur festival/lib/voices/us/nitech_us_jmk_arctic_hts/festvox/nitech_us_jmk_arctic_hts.scm festival/lib/voices/us/nitech_us_jmk_arctic_hts/festvox/nitech_us_jmk_arctic_hts.scm
--- festival/lib/voices/us/nitech_us_jmk_arctic_hts/festvox/nitech_us_jmk_arctic_hts.scm 2007-03-15 14:18:03.000000000 -0400
+++ festival/lib/voices/us/nitech_us_jmk_arctic_hts/festvox/nitech_us_jmk_arctic_hts.scm 2007-03-15 14:20:55.000000000 -0400
@@ -101,10 +101,10 @@
t
)
-(set! nitech_us_slt_arctic_hts::hts_feats_list
+(set! nitech_us_jmk_arctic_hts::hts_feats_list
(load (path-append hts_data_dir "feat.list") t))
-(set! nitech_us_slt_arctic_hts::hts_engine_params
+(set! nitech_us_jmk_arctic_hts::hts_engine_params
(list
(list "-dm1" (path-append hts_data_dir "mcep_dyn.win"))
(list "-dm2" (path-append hts_data_dir "mcep_acc.win"))
@@ -160,8 +160,8 @@
(nitech_us_jmk_arctic::select_f0model)
;; Waveform synthesis model: hts
- (set! hts_engine_params nitech_us_slt_arctic_hts::hts_engine_params)
- (set! hts_feats_list nitech_us_slt_arctic_hts::hts_feats_list)
+ (set! hts_engine_params nitech_us_jmk_arctic_hts::hts_engine_params)
+ (set! hts_feats_list nitech_us_jmk_arctic_hts::hts_feats_list)
(Parameter.set 'Synth_Method 'HTS)
;; This is where you can modify power (and sampling rate) if desired
diff -ur festival/lib/voices/us/nitech_us_rms_arctic_hts/festvox/nitech_us_rms_arctic_hts.scm festival/lib/voices/us/nitech_us_rms_arctic_hts/festvox/nitech_us_rms_arctic_hts.scm
--- festival/lib/voices/us/nitech_us_rms_arctic_hts/festvox/nitech_us_rms_arctic_hts.scm 2007-03-15 14:18:03.000000000 -0400
+++ festival/lib/voices/us/nitech_us_rms_arctic_hts/festvox/nitech_us_rms_arctic_hts.scm 2007-03-15 14:21:01.000000000 -0400
@@ -101,10 +101,10 @@
t
)
-(set! nitech_us_slt_arctic_hts::hts_feats_list
+(set! nitech_us_rms_arctic_hts::hts_feats_list
(load (path-append hts_data_dir "feat.list") t))
-(set! nitech_us_slt_arctic_hts::hts_engine_params
+(set! nitech_us_rms_arctic_hts::hts_engine_params
(list
(list "-dm1" (path-append hts_data_dir "mcep_dyn.win"))
(list "-dm2" (path-append hts_data_dir "mcep_acc.win"))
@@ -160,8 +160,8 @@
(nitech_us_rms_arctic::select_f0model)
;; Waveform synthesis model: hts
- (set! hts_engine_params nitech_us_slt_arctic_hts::hts_engine_params)
- (set! hts_feats_list nitech_us_slt_arctic_hts::hts_feats_list)
+ (set! hts_engine_params nitech_us_rms_arctic_hts::hts_engine_params)
+ (set! hts_feats_list nitech_us_rms_arctic_hts::hts_feats_list)
(Parameter.set 'Synth_Method 'HTS)
;; This is where you can modify power (and sampling rate) if desired

View File

@ -1,11 +0,0 @@
--- src/scripts/festival_server.sh.orig 2013-03-02 09:54:57.126436666 -0600
+++ src/scripts/festival_server.sh 2013-03-02 09:55:10.529140080 -0600
@@ -119,7 +119,7 @@
(set! server_port $port)
(set! server_festival_version "$festival" )
(set! server_log_file "$server_log" )
-(set! server_startup_file "$serer_startup" )
+(set! server_startup_file "$server_startup" )
;; Marks end of machine created bit
;---

File diff suppressed because it is too large Load Diff

View File

@ -1,14 +0,0 @@
--- festival/speech_tools/config/project.mak.orig 2007-03-13 15:27:53.000000000 -0400
+++ festival/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

View File

@ -1,13 +0,0 @@
--- festival/speech_tools/config/compilers/gcc_defaults.mak.orig 2007-03-13 16:28:39.000000000 -0400
+++ festival/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/^....//'

View File

@ -1,12 +0,0 @@
--- festival/speech_tools/base_class/rateconv.cc.orig 2007-03-13 15:13:21.000000000 -0400
+++ festival/speech_tools/base_class/rateconv.cc 2007-03-13 15:15:15.000000000 -0400
@@ -384,7 +384,8 @@
}
fir_stereo(inp + inoffset + inbaseidx,
coep + cycctr * firlen, firlen,
- outp + outidx++, outp + outidx++);
+ outp + outidx, outp + outidx + 1);
+ outidx += 2;
cycctr++;
if (!(cycctr %= up))
inbaseidx += 2*down;

View File

@ -1,11 +0,0 @@
--- festival-1.96/speech_tools/config/config.in.nonshared 2007-03-09 15:43:02.000000000 -0500
+++ festival-1.96/speech_tools/config/config.in 2007-03-09 15:43:26.000000000 -0500
@@ -61,7 +61,7 @@
# VERBOSE=1
#DEBUG=1
# PROFILE=gprof
-#SHARED=2
+SHARED=2
## Directory specific selections which override the above

View File

@ -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")

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -1,21 +0,0 @@
diff -up festival/speech_tools/siod/siod.cc.me festival/speech_tools/siod/siod.cc
--- festival/speech_tools/siod/siod.cc.me 2018-01-31 11:15:01.148463177 +0100
+++ festival/speech_tools/siod/siod.cc 2018-01-31 11:25:15.737355203 +0100
@@ -459,7 +459,7 @@ char **siod_variable_generator(char *tex
matches = walloc(char *,siod_llength(lmatches)+1);
for (l=lmatches,i=0; l; l=cdr(l),i++)
matches[i] = wstrdup(PNAME(car(l)));
- matches[i] = '\0';
+ matches[i] = NULL;
return matches;
}
@@ -498,7 +498,7 @@ char **siod_command_generator (char *tex
matches = walloc(char *,siod_llength(lmatches)+1);
for (l=lmatches,i=0; l; l=cdr(l),i++)
matches[i] = wstrdup(PNAME(car(l)));
- matches[i] = '\0';
+ matches[i] = NULL;
return matches;
}

View File

@ -1,319 +0,0 @@
diff -up festival/lib/init.scm.pulse festival/lib/init.scm
--- festival/lib/init.scm.pulse 2009-09-29 02:05:53.156687751 -0400
+++ festival/lib/init.scm 2009-09-29 02:14:18.911692694 -0400
@@ -77,6 +77,9 @@
;;; Some default parameters
(Parameter.def 'Wavefiletype 'riff)
+;;; default to pulseaudio
+(Parameter.def 'Audio_Method 'pulseaudio)
+
;;; Set default audio method
(cond
((member 'nas *modules*)
diff -up festival/speech_tools/audio/audioP.h.pulse festival/speech_tools/audio/audioP.h
--- festival/speech_tools/audio/audioP.h.pulse 2004-07-15 19:03:04.000000000 -0400
+++ festival/speech_tools/audio/audioP.h 2009-09-29 02:05:53.353695375 -0400
@@ -40,6 +40,7 @@
#define __AUDIOP_H__
int play_nas_wave(EST_Wave &inwave, EST_Option &al);
+int play_pulse_wave(EST_Wave &inwave, EST_Option &al);
int play_esd_wave(EST_Wave &inwave, EST_Option &al);
int play_sun16_wave(EST_Wave &inwave, EST_Option &al);
int play_voxware_wave(EST_Wave &inwave, EST_Option &al);
@@ -49,6 +50,7 @@ int play_irix_wave(EST_Wave &inwave, EST
int play_macosx_wave(EST_Wave &inwave, EST_Option &al);
int record_nas_wave(EST_Wave &inwave, EST_Option &al);
+int record_pulse_wave(EST_Wave &inwave, EST_Option &al);
int record_esd_wave(EST_Wave &inwave, EST_Option &al);
int record_sun16_wave(EST_Wave &inwave, EST_Option &al);
int record_voxware_wave(EST_Wave &inwave, EST_Option &al);
diff -up festival/speech_tools/audio/gen_audio.cc.pulse festival/speech_tools/audio/gen_audio.cc
--- festival/speech_tools/audio/gen_audio.cc.pulse 2004-09-30 08:53:35.000000000 -0400
+++ festival/speech_tools/audio/gen_audio.cc 2009-09-29 02:05:53.354687890 -0400
@@ -89,6 +89,8 @@ int play_wave(EST_Wave &inwave, EST_Opti
{
if (nas_supported)
protocol = "netaudio"; // the default protocol
+ else if (pulse_supported)
+ protocol = "pulseaudio";
else if (esd_supported)
protocol = "esdaudio";
else if (sun16_supported)
@@ -111,6 +113,8 @@ int play_wave(EST_Wave &inwave, EST_Opti
if (upcase(protocol) == "NETAUDIO")
return play_nas_wave(*toplay,al);
+ else if (upcase(protocol) == "PULSEAUDIO")
+ return play_pulse_wave(*toplay,al);
else if (upcase(protocol) == "ESDAUDIO")
return play_esd_wave(*toplay,al);
else if (upcase(protocol) == "SUNAUDIO")
@@ -246,6 +250,8 @@ EST_String options_supported_audio(void)
audios += " netaudio";
else if (esd_supported)
audios += " esdaudio";
+ if (pulse_supported)
+ audios += " pulseaudio";
if (sun16_supported)
audios += " sun16audio";
if (freebsd16_supported)
@@ -286,8 +292,10 @@ int record_wave(EST_Wave &wave, EST_Opti
{
if (nas_supported)
protocol = "netaudio"; // the default protocol
+ else if (pulse_supported)
+ protocol = "pulseaudio";
else if (esd_supported)
- protocol = "esdaudio"; // the default protocol
+ protocol = "esdaudio";
else if (sun16_supported)
protocol = "sun16audio";
else if (freebsd16_supported)
@@ -306,6 +314,8 @@ int record_wave(EST_Wave &wave, EST_Opti
if (upcase(protocol) == "NETAUDIO")
return record_nas_wave(wave,al);
+ else if (upcase(protocol) == "PULSEAUDIO")
+ return record_pulse_wave(wave,al);
else if (upcase(protocol) == "ESDAUDIO")
return record_esd_wave(wave,al);
else if (upcase(protocol) == "SUN16AUDIO")
diff -up festival/speech_tools/audio/Makefile.pulse festival/speech_tools/audio/Makefile
--- festival/speech_tools/audio/Makefile.pulse 2004-07-15 19:03:04.000000000 -0400
+++ festival/speech_tools/audio/Makefile 2009-09-29 02:05:53.355692417 -0400
@@ -44,7 +44,7 @@ LOCAL_DEFAULT_LIBRARY = estbase
H = audioP.h
CPPSRCS = gen_audio.cc nas.cc esd.cc sun16audio.cc voxware.cc \
mplayer.cc win32audio.cc irixaudio.cc os2audio.cc \
- macosxaudio.cc
+ macosxaudio.cc pulseaudio.cc
SRCS = $(CPPSRCS)
OBJS = $(CPPSRCS:.cc=.o)
diff -up /dev/null festival/speech_tools/audio/pulseaudio.cc
--- /dev/null 2009-09-29 00:23:01.118964058 -0400
+++ festival/speech_tools/audio/pulseaudio.cc 2009-09-29 02:05:53.357688202 -0400
@@ -0,0 +1,134 @@
+/*************************************************************************/
+/* */
+/* Centre for Speech Technology Research */
+/* University of Edinburgh, UK */
+/* Copyright (c) 1997,1998 */
+/* Red Hat, Inc. */
+/* Copyright (c) 2008 */
+/* All Rights Reserved. */
+/* */
+/* Permission is hereby granted, free of charge, to use and distribute */
+/* this software and its documentation without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of this work, and to */
+/* permit persons to whom this work is furnished to do so, subject to */
+/* the following conditions: */
+/* 1. The code must retain the above copyright notice, this list of */
+/* conditions and the following disclaimer. */
+/* 2. Any modifications must be clearly marked as such. */
+/* 3. Original authors' names are not deleted. */
+/* 4. The authors' names are not used to endorse or promote products */
+/* derived from this software without specific prior written */
+/* permission. */
+/* */
+/* THE UNIVERSITY OF EDINBURGH AND THE CONTRIBUTORS TO THIS WORK */
+/* DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING */
+/* ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT */
+/* SHALL THE UNIVERSITY OF EDINBURGH NOR THE CONTRIBUTORS BE LIABLE */
+/* FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES */
+/* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN */
+/* AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, */
+/* ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF */
+/* THIS SOFTWARE. */
+/* */
+/*************************************************************************/
+/* Author : Michal Schmidt */
+/* Date : November 2008 */
+/*-----------------------------------------------------------------------*/
+/* Optional support for PulseAudio */
+/*=======================================================================*/
+
+#include "EST_Wave.h"
+#include "EST_Option.h"
+#include "audioP.h"
+
+#ifdef SUPPORT_PULSE
+
+#include <pulse/simple.h>
+#include <pulse/error.h>
+
+int pulse_supported = TRUE;
+const static char *err_prefix = "Pulseaudio: ";
+
+static int transfer_pulse_wave(EST_Wave &inwave, EST_Option &al, int record)
+{
+ short *waveform;
+ int num_samples;
+ int err, pa_ret;
+ int ret = -1;
+ pa_simple *s = NULL;
+ pa_sample_spec ss;
+
+ ss.format = PA_SAMPLE_S16NE;
+ ss.channels = 1;
+ ss.rate = inwave.sample_rate();
+
+ waveform = inwave.values().memory();
+ num_samples = inwave.num_samples();
+
+ s = pa_simple_new(NULL, // Use the default server.
+ "Festival", // Our application's name.
+ record ? PA_STREAM_RECORD : PA_STREAM_PLAYBACK,
+ NULL, // Use the default device.
+ record ? "Record" : "Speech", // Description of our stream.
+ &ss, // Our sample format.
+ NULL, // Use default channel map
+ NULL, // Use default buffering attributes.
+ &err);
+
+ if (!s) {
+ cerr << err_prefix << pa_strerror(err) << endl;
+ goto finish;
+ }
+
+ pa_ret = record ?
+ pa_simple_read (s, waveform, num_samples*sizeof(short), &err) :
+ pa_simple_write(s, waveform, num_samples*sizeof(short), &err);
+
+ if (pa_ret < 0) {
+ cerr << err_prefix << pa_strerror(err) << endl;
+ goto finish;
+ }
+
+ if (!record && pa_simple_drain(s, &err) < 0) {
+ cerr << err_prefix << pa_strerror(err) << endl;
+ goto finish;
+ }
+
+ ret = 1;
+finish:
+ if (s)
+ pa_simple_free(s);
+ return ret;
+}
+
+int play_pulse_wave(EST_Wave &inwave, EST_Option &al)
+{
+ return transfer_pulse_wave(inwave, al, 0);
+}
+
+int record_pulse_wave(EST_Wave &inwave, EST_Option &al)
+{
+ return transfer_pulse_wave(inwave, al, 1);
+}
+
+#else
+int pulse_supported = FALSE;
+
+int play_pulse_wave(EST_Wave &inwave, EST_Option &al)
+{
+ (void)inwave;
+ (void)al;
+ cerr << "Audio: pulse not compiled in this version" << endl;
+ return -1;
+}
+
+int record_pulse_wave(EST_Wave &inwave, EST_Option &al)
+{
+ (void)inwave;
+ (void)al;
+ cerr << "Audio: pulse not compiled in this version" << endl;
+ return -1;
+}
+
+#endif
diff -up festival/speech_tools/config/config.in.pulse festival/speech_tools/config/config.in
--- festival/speech_tools/config/config.in.pulse 2009-09-29 02:05:53.045693311 -0400
+++ festival/speech_tools/config/config.in 2009-09-29 02:05:53.358687421 -0400
@@ -79,6 +79,9 @@ OPTIMISE_sigpr = 3
## NCD's network audio system, This is recommended.
# INCLUDE_MODULES += NAS_AUDIO
+## PulseAudio sound server
+INCLUDE_MODULES += PULSE_AUDIO
+
## Elightenment Sound Demon, for KDE etc.
# INCLUDE_MODULES += ESD_AUDIO
diff -up festival/speech_tools/config/modules/Makefile.pulse festival/speech_tools/config/modules/Makefile
--- festival/speech_tools/config/modules/Makefile.pulse 2004-07-15 19:03:05.000000000 -0400
+++ festival/speech_tools/config/modules/Makefile 2009-09-29 02:05:53.359687618 -0400
@@ -41,7 +41,8 @@ RULESETS = efence.mak dmalloc.mak debugg
psola_tm.mak editline.mak tcl.mak \
freebsd16_audio.mak irix_audio.mak linux16_audio.mak \
sun16_audio.mak win32_audio.mak macosx_audio.mak \
- mplayer_audio.mak nas_audio.mak esd_audio.mak
+ mplayer_audio.mak nas_audio.mak esd_audio.mak \
+ pulse_audio.mak
FILES = Makefile descriptions $(RULESETS)
diff -up /dev/null festival/speech_tools/config/modules/pulse_audio.mak
--- /dev/null 2009-09-29 00:23:01.118964058 -0400
+++ festival/speech_tools/config/modules/pulse_audio.mak 2009-09-29 02:05:53.361688082 -0400
@@ -0,0 +1,9 @@
+## Definitions for PulseAudio
+
+INCLUDE_PULSE_AUDIO=1
+
+MOD_DESC_PULSE_AUDIO=PulseAudio support
+
+AUDIO_DEFINES += -DSUPPORT_PULSE
+AUDIO_INCLUDES += -I$(PULSE_INCLUDE)
+MODULE_LIBS += -lpulse-simple
diff -up festival/speech_tools/config/project.mak.pulse festival/speech_tools/config/project.mak
--- festival/speech_tools/config/project.mak.pulse 2009-09-29 02:05:53.104720729 -0400
+++ festival/speech_tools/config/project.mak 2009-09-29 02:05:53.362687372 -0400
@@ -60,7 +60,7 @@ MODULE_DIRECTORY = $(TOP)
# List of all known modules
DISTRIBUTED_MODULES = \
- NAS_AUDIO ESD_AUDIO NATIVE_AUDIO MPLAYER_AUDIO \
+ NAS_AUDIO PULSE_AUDIO ESD_AUDIO NATIVE_AUDIO MPLAYER_AUDIO \
EDITLINE \
SIOD WAGON SCFG WFST OLS \
JAVA JAVA_CPP JAVA_MEDIA \
@@ -109,6 +109,7 @@ PROJECT_LIBRARY_VERSION_estbase = $(PROJ
PROJECT_LIBRARY_VERSION_eststring = 1.2
PROJECT_LIBRARY_VERSION_estjava = $(PROJECT_VERSION).1
+PROJECT_LIBRARY_NEEDS_SYSLIBS_estbase=1
PROJECT_LIBRARY_NEEDS_SYSLIBS_estjava=1
PROJECT_DEFAULT_LIBRARY = estools
diff -up festival/speech_tools/config/systems/default.mak.pulse festival/speech_tools/config/systems/default.mak
--- festival/speech_tools/config/systems/default.mak.pulse 2005-07-17 09:06:49.000000000 -0400
+++ festival/speech_tools/config/systems/default.mak 2009-09-29 02:05:53.364688115 -0400
@@ -61,6 +61,12 @@ NAS_INCLUDE = /usr/X11R6/include
NAS_LIB = /usr/X11R6/lib
###########################################################################
+## Where to find PulseAudio
+
+PULSE_INCLUDE = /usr/include
+PULSE_LIB = /usr/lib
+
+###########################################################################
## Where to find Enlightenment Speech Demon
ESD_INCLUDE = /usr/local/include
diff -up festival/speech_tools/include/EST_audio.h.pulse festival/speech_tools/include/EST_audio.h
--- festival/speech_tools/include/EST_audio.h.pulse 2004-07-15 19:03:05.000000000 -0400
+++ festival/speech_tools/include/EST_audio.h 2009-09-29 02:05:53.365689290 -0400
@@ -43,6 +43,7 @@
#include "EST_Option.h"
extern int nas_supported;
+extern int pulse_supported;
extern int esd_supported;
extern int sun16_supported;
extern int freebsd16_supported;

View File

@ -1,92 +0,0 @@
--- speech_tools/include/EST_TIterator.h.orig 2012-02-25 12:09:30.926212818 -0600
+++ speech_tools/include/EST_TIterator.h 2012-02-25 12:10:32.981099676 -0600
@@ -101,7 +101,7 @@
/// Create an iterator ready to run over the given container.
EST_TIterator(const Container &over)
- { begin(over); }
+ { this->begin(over); }
/// Copy an iterator by assignment
Iter &operator = (const Iter &orig)
@@ -109,7 +109,7 @@
/// Assigning a container to an iterator sets it ready to start.
Iter &operator = (const Container &over)
- { begin(over); return *this;}
+ { this->begin(over); return *this;}
/// Set the iterator ready to run over this container.
void begin(const Container &over)
@@ -209,7 +209,7 @@
/// 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();}
@@ -239,7 +239,7 @@
/// Create an iterator ready to run over the given container.
EST_TRwIterator(Container &over)
- { begin(over); }
+ { this->begin(over); }
/// Set the iterator ready to run over this container.
void begin(Container &over)
@@ -289,7 +289,7 @@
/// 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();}
--- speech_tools/include/EST_TNamedEnum.h.orig 2012-02-25 12:26:51.432455812 -0600
+++ speech_tools/include/EST_TNamedEnum.h 2012-02-25 12:27:07.125450312 -0600
@@ -130,7 +130,7 @@
{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); };
};
--- speech_tools/base_class/EST_TSimpleMatrix.cc.orig 2012-02-25 12:34:37.095639209 -0600
+++ speech_tools/base_class/EST_TSimpleMatrix.cc 2012-02-25 12:35:33.952865468 -0600
@@ -97,7 +97,7 @@
{
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);
memcpy((void *)this->p_memory,
(const void *)old_vals,
@@ -126,9 +126,9 @@
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);
--- speech_tools/base_class/EST_TSimpleVector.cc.orig 2012-02-25 12:38:16.647543126 -0600
+++ speech_tools/base_class/EST_TSimpleVector.cc 2012-02-25 12:38:41.571710862 -0600
@@ -70,7 +70,7 @@
T *old_vals =NULL;
int old_offset = this->p_offset;
- just_resize(newn, &old_vals);
+ this->just_resize(newn, &old_vals);
if (set && old_vals)
{

10
SOURCES/festival.service Normal file
View File

@ -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

View File

@ -1,105 +0,0 @@
--- festival/src/scripts/festival_server.sh.foo 2003-08-25 23:47:26.000000000 -0400
+++ festival/src/scripts/festival_server.sh 2003-08-25 23:48:36.000000000 -0400
@@ -36,11 +36,6 @@
# #
###########################################################################
-TOP=__TOP__
-EST=__EST__
-
-#__SHARED_SETUP__
-
useage()
{
cat <<EOF
--- festival/src/scripts/festival_server_control.sh.foo 2003-08-25 23:48:47.000000000 -0400
+++ festival/src/scripts/festival_server_control.sh 2003-08-25 23:48:59.000000000 -0400
@@ -36,11 +36,6 @@
# #
###########################################################################
-TOP=__TOP__
-EST=__EST__
-
-#__SHARED_SETUP__
-
useage()
{
cat <<EOF
--- festival/examples/Makefile.foo 2003-08-25 23:50:06.000000000 -0400
+++ festival/examples/Makefile 2003-08-25 23:50:19.000000000 -0400
@@ -52,7 +52,7 @@
$(ALL) : % : %.sh
rm -f $@
@echo "#!/bin/sh" >$@
- @echo "\"true\" ; exec "$(FESTIVAL_HOME)/bin/festival --script '$$0 $$*' >>$@
+ @echo "\"true\" ; exec "/usr/bin/festival --script '$$0 $$*' >>$@
cat $< >>$@
chmod +x $@
--- festival/speech_tools/scripts/build_docbook_index.prl.foo 2003-08-25 23:37:59.000000000 -0400
+++ festival/speech_tools/scripts/build_docbook_index.prl 2003-08-25 23:38:54.000000000 -0400
@@ -35,8 +35,6 @@
END
}
-#__SHARED_SETUP__
-
$title='';
$mode='debug';
$verbose=0;
--- festival/speech_tools/scripts/cxx_to_docbook.prl.foo 2003-08-25 23:38:58.000000000 -0400
+++ festival/speech_tools/scripts/cxx_to_docbook.prl 2003-08-25 23:39:02.000000000 -0400
@@ -37,8 +37,6 @@
END
}
-#__SHARED_SETUP__
-
$level=0;
$title=undef;
$chapter='chapter';
--- festival/speech_tools/scripts/pm.prl.foo 2003-08-25 23:45:19.000000000 -0400
+++ festival/speech_tools/scripts/pm.prl 2003-08-25 23:45:28.000000000 -0400
@@ -56,8 +56,6 @@
END
}
-#__SHARED_SETUP__
-
while ($#ARGV>=0)
{
if ($ARGV[0] eq "-f")
--- festival/speech_tools/scripts/raw_to_xgraph.prl.foo 2003-08-25 23:45:35.000000000 -0400
+++ festival/speech_tools/scripts/raw_to_xgraph.prl 2003-08-25 23:45:40.000000000 -0400
@@ -56,8 +56,6 @@
END
}
-#__SHARED_SETUP__
-
$stream = STDIN;
$sample_rate = 1;
--- festival/speech_tools/scripts/resynth.sh.foo 2003-08-25 23:45:48.000000000 -0400
+++ festival/speech_tools/scripts/resynth.sh 2003-08-25 23:45:57.000000000 -0400
@@ -63,8 +63,6 @@
exit $1
}
-#__SHARED_SETUP__
-
invert=false
voiced=''
pre=0
--- festival/speech_tools/scripts/tex_to_images.prl.foo 2003-08-25 23:46:20.000000000 -0400
+++ festival/speech_tools/scripts/tex_to_images.prl 2003-08-25 23:46:41.000000000 -0400
@@ -79,8 +79,6 @@
exit($_[0]);
}
-#__SHARED_SETUP__
-
$out_pattern="image_NNN.FFF";
$scale=3;
$over=2;

View File

@ -1,36 +0,0 @@
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 festival/speech_tools/base_class/EST_TSimpleVector.cc.gcc43 festival/speech_tools/base_class/EST_TSimpleVector.cc
--- festival/speech_tools/base_class/EST_TSimpleVector.cc.gcc43 2006-07-06 08:57:18.000000000 -0400
+++ festival/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 festival/speech_tools/base_class/EST_TSimpleMatrix.cc.gcc43 festival/speech_tools/base_class/EST_TSimpleMatrix.cc
--- festival/speech_tools/base_class/EST_TSimpleMatrix.cc.gcc43 2004-09-30 08:53:35.000000000 -0400
+++ festival/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>

View File

@ -1,22 +0,0 @@
diff -up festival/speech_tools/speech_class/EST_wave_io.cc.gcc44 festival/speech_tools/speech_class/EST_wave_io.cc
--- festival/speech_tools/speech_class/EST_wave_io.cc.gcc44 2009-02-26 17:26:58.672421948 -0500
+++ festival/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) &&

View File

@ -1,20 +0,0 @@
diff -up festival/speech_tools/config/compilers/gcc_defaults.mak.no-shared-data festival/speech_tools/config/compilers/gcc_defaults.mak
--- festival/speech_tools/config/compilers/gcc_defaults.mak.no-shared-data 2008-02-22 13:45:50.000000000 -0500
+++ festival/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

File diff suppressed because it is too large Load Diff