Festival with Russian Language Support Fix added.
This commit is contained in:
parent
f58bd9b266
commit
200a7f28c4
|
@ -0,0 +1,128 @@
|
||||||
|
# Copyright 1999-2013 Gentoo Foundation
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
# $Header: /var/cvsroot/gentoo-x86/app-accessibility/festival/festival-2.1-r1.ebuild,v 1.3 2013/02/02 22:18:04 ago Exp $
|
||||||
|
|
||||||
|
EAPI="2"
|
||||||
|
inherit eutils multilib toolchain-funcs user
|
||||||
|
|
||||||
|
MY_PV="${PV}-release"
|
||||||
|
MY_P=${PN}-${MY_PV}
|
||||||
|
|
||||||
|
DESCRIPTION="Festival Text to Speech engine"
|
||||||
|
HOMEPAGE="http://www.cstr.ed.ac.uk/projects/festival/"
|
||||||
|
SITE="http://www.festvox.org/packed/${PN}/${PV}"
|
||||||
|
SRC_URI="${SITE}/${MY_P}.tar.gz
|
||||||
|
${SITE}/festlex_CMU.tar.gz
|
||||||
|
${SITE}/festlex_OALD.tar.gz
|
||||||
|
${SITE}/festlex_POSLEX.tar.gz
|
||||||
|
${SITE}/festvox_cmu_us_awb_cg.tar.gz
|
||||||
|
${SITE}/festvox_cmu_us_rms_cg.tar.gz
|
||||||
|
${SITE}/festvox_cmu_us_slt_arctic_hts.tar.gz
|
||||||
|
${SITE}/festvox_rablpc16k.tar.gz
|
||||||
|
${SITE}/festvox_kallpc16k.tar.gz
|
||||||
|
${SITE}/speech_tools-${MY_PV}.tar.gz"
|
||||||
|
|
||||||
|
LICENSE="FESTIVAL HPND BSD rc regexp-UofT free-noncomm"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
|
||||||
|
IUSE=""
|
||||||
|
|
||||||
|
DEPEND="~app-accessibility/speech-tools-2.1
|
||||||
|
>=sys-libs/ncurses-5.6-r2"
|
||||||
|
RDEPEND="${DEPEND}"
|
||||||
|
|
||||||
|
S=${WORKDIR}/festival
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
enewuser festival -1 -1 -1 audio
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
# tell festival to use the speech-tools we have installed.
|
||||||
|
sed -i -e "s:\(EST=\).*:\1${EPREFIX}/usr/share/speech-tools:" "${S}"/config/config.in
|
||||||
|
sed -i -e "s:\$(EST)/lib:/usr/$(get_libdir):" "${S}"/config/project.mak
|
||||||
|
|
||||||
|
# fix the reference to /usr/lib/festival
|
||||||
|
sed -i -e "s:\(FTLIBDIR.*=.*\)\$.*:\1${EPREFIX}/usr/share/festival:" "${S}"/config/project.mak
|
||||||
|
|
||||||
|
# Fix path for examples in festival.scm
|
||||||
|
sed -i -e "s:\.\./examples/:${EPREFIX}/usr/share/doc/${PF}/examples/:" "${S}"/lib/festival.scm
|
||||||
|
|
||||||
|
epatch "${FILESDIR}/${P}-ldflags.patch"
|
||||||
|
epatch "${FILESDIR}/${P}-init-scm.patch"
|
||||||
|
epatch "${FILESDIR}/${P}-gentoo-system.patch"
|
||||||
|
|
||||||
|
# copy what we need for MultiSyn from speech_tools.
|
||||||
|
cp -pr "${WORKDIR}"/speech_tools/base_class "${S}"/src/modules/MultiSyn
|
||||||
|
|
||||||
|
epatch "${FILESDIR}/${P}-gcc4.7.patch"
|
||||||
|
|
||||||
|
echo "(Parameter.set 'Audio_Command \"aplay -q -c 1 -t raw -f s16 -r \$SR \$FILE\")" >> "${S}"/lib/siteinit.scm
|
||||||
|
echo "(Parameter.set 'Audio_Method 'Audio_Command)" >> "${S}"/lib/siteinit.scm
|
||||||
|
|
||||||
|
# Patch for the Russian Languages
|
||||||
|
epatch "${FILESDIR}/${P}-russian.patch"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
econf || die "econf failed"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
emake -j1 PROJECT_LIBDEPS="" REQUIRED_LIBDEPS="" LOCAL_LIBDEPS="" \
|
||||||
|
OPTIMISE_CXXFLAGS="${CXXFLAGS}" OPTIMISE_CCFLAGS="${CFLAGS}" \
|
||||||
|
LDFLAGS="${LDFLAGS}" \
|
||||||
|
CC="$(tc-getCC)" CXX="$(tc-getCXX)" || die "emake failed"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
# Install the binaries
|
||||||
|
dobin src/main/festival
|
||||||
|
dobin lib/etc/*Linux*/audsp
|
||||||
|
dolib.a src/lib/libFestival.a
|
||||||
|
|
||||||
|
# Install the main libraries
|
||||||
|
insinto /usr/share/festival
|
||||||
|
doins -r lib/*
|
||||||
|
|
||||||
|
# Install the examples
|
||||||
|
insinto /usr/share/doc/${PF}
|
||||||
|
doins -r examples
|
||||||
|
|
||||||
|
# Need to fix saytime, etc. to look for festival in the correct spot
|
||||||
|
for ex in "${D}"/usr/share/doc/${PF}/examples/*.sh; do
|
||||||
|
exnoext=${ex%%.sh}
|
||||||
|
chmod a+x "${exnoext}"
|
||||||
|
dosed "s:${S}/bin/festival:/usr/bin/festival:" "${exnoext##$D}"
|
||||||
|
done
|
||||||
|
|
||||||
|
# Install the header files
|
||||||
|
insinto /usr/include/festival
|
||||||
|
doins src/include/*.h
|
||||||
|
|
||||||
|
insinto /etc/festival
|
||||||
|
doins lib/site*
|
||||||
|
|
||||||
|
# Install the docs
|
||||||
|
dodoc "${S}"/{ACKNOWLEDGMENTS,NEWS,README}
|
||||||
|
doman "${S}"/doc/{festival.1,festival_client.1}
|
||||||
|
|
||||||
|
# create the directory where our log file will go.
|
||||||
|
diropts -m 0755 -o festival -g audio
|
||||||
|
keepdir /var/log/festival
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
elog
|
||||||
|
elog " Useful examples include saytime, text2wave. For example, try:"
|
||||||
|
elog " \"/usr/share/doc/${PF}/examples/saytime\""
|
||||||
|
elog
|
||||||
|
elog " Or for something more fun:"
|
||||||
|
elog ' "echo "Gentoo can speak" | festival --tts"'
|
||||||
|
elog
|
||||||
|
elog "This version also allows configuration of site specific"
|
||||||
|
elog "initialization in /etc/festival/siteinit.scm and"
|
||||||
|
elog "variables in /etc/festival/sitevars.scm."
|
||||||
|
elog
|
||||||
|
}
|
|
@ -0,0 +1,29 @@
|
||||||
|
diff -uNr festival.orig/src/modules/MultiSyn/base_class/EST_TSimpleVector.cc festival/src/modules/MultiSyn/base_class/EST_TSimpleVector.cc
|
||||||
|
--- festival.orig/src/modules/MultiSyn/base_class/EST_TSimpleVector.cc 2012-12-02 23:03:27.000000000 +0000
|
||||||
|
+++ festival/src/modules/MultiSyn/base_class/EST_TSimpleVector.cc 2012-12-02 23:21:17.000000000 +0000
|
||||||
|
@@ -42,6 +42,7 @@
|
||||||
|
|
||||||
|
#include "EST_TSimpleVector.h"
|
||||||
|
#include "EST_matrix_support.h"
|
||||||
|
+#include <cstring>
|
||||||
|
#include <fstream>
|
||||||
|
#include "EST_cutils.h"
|
||||||
|
|
||||||
|
@@ -49,7 +50,7 @@
|
||||||
|
{
|
||||||
|
if (this->p_column_step==1 && a.p_column_step==1)
|
||||||
|
{
|
||||||
|
- resize(a.n(), FALSE);
|
||||||
|
+ this->resize(a.n(), FALSE);
|
||||||
|
memcpy((void *)(this->p_memory), (const void *)(a.p_memory), this->n() * sizeof(T));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
@@ -70,7 +71,7 @@
|
||||||
|
int old_offset = this->p_offset;
|
||||||
|
unsigned int q;
|
||||||
|
|
||||||
|
- just_resize(newn, &old_vals);
|
||||||
|
+ this->just_resize(newn, &old_vals);
|
||||||
|
|
||||||
|
if (set && old_vals)
|
||||||
|
{
|
|
@ -0,0 +1,124 @@
|
||||||
|
diff -uNr festival.orig/config/systems/GentooLinux.mak festival/config/systems/GentooLinux.mak
|
||||||
|
--- festival.orig/config/systems/GentooLinux.mak 1969-12-31 19:00:00.000000000 -0500
|
||||||
|
+++ festival/config/systems/GentooLinux.mak 2011-02-09 10:43:28.000000000 -0500
|
||||||
|
@@ -0,0 +1,42 @@
|
||||||
|
+ ###########################################################################
|
||||||
|
+ ## ##
|
||||||
|
+ ## Centre for Speech Technology Research ##
|
||||||
|
+ ## University of Edinburgh, UK ##
|
||||||
|
+ ## Copyright (c) 1996 ##
|
||||||
|
+ ## 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: William Hubbs <williamh@gentoo.org> ##
|
||||||
|
+ ## -------------------------------------------------------------------- ##
|
||||||
|
+ ## Settings for Gentoo Linux distributions. ##
|
||||||
|
+ ## ##
|
||||||
|
+ ###########################################################################
|
||||||
|
+
|
||||||
|
+MANDIR=$(INSTALL_PREFIX)/share/man
|
||||||
|
+# Gentoo does not use termcap
|
||||||
|
+OS_LIBS = $(LDFLAGS) -ldl -lncurses
|
||||||
|
diff -uNr festival.orig/config/systems/Makefile festival/config/systems/Makefile
|
||||||
|
--- festival.orig/config/systems/Makefile 2011-02-09 10:41:01.000000000 -0500
|
||||||
|
+++ festival/config/systems/Makefile 2011-02-09 10:44:22.000000000 -0500
|
||||||
|
@@ -41,6 +41,7 @@
|
||||||
|
Linux.mak \
|
||||||
|
RedHatLinux.mak \
|
||||||
|
DebianGNULinux.mak \
|
||||||
|
+ GentooLinux.mak \
|
||||||
|
alpha_Linux.mak \
|
||||||
|
alpha_OSF1V4.0.mak \
|
||||||
|
alpha_RedHatLinux.mak \
|
||||||
|
@@ -94,6 +95,7 @@
|
||||||
|
sparc_SunOS5.8.mak \
|
||||||
|
sparc_SunOS5.mak \
|
||||||
|
unknown_DebianGNULinux.mak \
|
||||||
|
+ unknown_GentooLinux.mak \
|
||||||
|
unknown_Linux.mak \
|
||||||
|
unknown_RedHatLinux.mak \
|
||||||
|
power_macintosh_Darwin.mak \
|
||||||
|
diff -uNr festival.orig/config/systems/unknown_GentooLinux.mak festival/config/systems/unknown_GentooLinux.mak
|
||||||
|
--- festival.orig/config/systems/unknown_GentooLinux.mak 1969-12-31 19:00:00.000000000 -0500
|
||||||
|
+++ festival/config/systems/unknown_GentooLinux.mak 2011-02-09 10:45:34.000000000 -0500
|
||||||
|
@@ -0,0 +1,41 @@
|
||||||
|
+###########################################################################
|
||||||
|
+## ##
|
||||||
|
+## Centre for Speech Technology Research ##
|
||||||
|
+## University of Edinburgh, UK ##
|
||||||
|
+## Copyright (c) 1996 ##
|
||||||
|
+## 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: William Hubbs <williamh@gentoo.org> ##
|
||||||
|
+## -------------------------------------------------------------------- ##
|
||||||
|
+## Settings for Gentoo Linux distributions. ##
|
||||||
|
+## ##
|
||||||
|
+###########################################################################
|
||||||
|
+
|
||||||
|
+include $(EST)/config/systems/Linux.mak
|
||||||
|
+include $(EST)/config/systems/GentooLinux.mak
|
||||||
|
diff -uNr festival.orig/config/system.sh festival/config/system.sh
|
||||||
|
--- festival.orig/config/system.sh 2011-02-09 10:41:01.000000000 -0500
|
||||||
|
+++ festival/config/system.sh 2011-02-09 10:42:10.000000000 -0500
|
||||||
|
@@ -70,6 +70,10 @@
|
||||||
|
then
|
||||||
|
OSTYPE=DebianGNULinux
|
||||||
|
OSREV=`cat /etc/debian_version`
|
||||||
|
+ elif [ -f "/etc/gentoo-release" ]
|
||||||
|
+ then
|
||||||
|
+ OSTYPE=GentooLinux
|
||||||
|
+ OSREV=""
|
||||||
|
else
|
||||||
|
# Generic unknown GNU/Linux system.
|
||||||
|
OSTYPE=Linux
|
|
@ -0,0 +1,24 @@
|
||||||
|
--- festival/lib/init.scm 2006-09-15 01:34:32.000000000 -0500
|
||||||
|
+++ festival/lib/init.scm 2006-09-15 01:50:30.000000000 -0500
|
||||||
|
@@ -52,8 +52,8 @@
|
||||||
|
|
||||||
|
;;; 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")))
|
||||||
|
+(if (probe_file "/etc/festival/sitevars.scm")
|
||||||
|
+ (load "/etc/festival/sitevars.scm"))
|
||||||
|
|
||||||
|
;;; CSTR siod extensions
|
||||||
|
(require 'cstr)
|
||||||
|
@@ -133,8 +133,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 "/etc/festival/siteinit.scm")
|
||||||
|
+ (load "/etc/festival/siteinit.scm"))
|
||||||
|
|
||||||
|
;;; User initialization, if a user has a personal customization
|
||||||
|
;;; file loaded it
|
|
@ -0,0 +1,12 @@
|
||||||
|
diff -uNr festival.orig/config/systems/Linux.mak festival/config/systems/Linux.mak
|
||||||
|
--- festival.orig/config/systems/Linux.mak 2011-02-09 10:08:20.000000000 -0500
|
||||||
|
+++ festival/config/systems/Linux.mak 2011-02-09 10:09:04.000000000 -0500
|
||||||
|
@@ -46,7 +46,7 @@
|
||||||
|
JAVAH=/usr/bin/javah
|
||||||
|
|
||||||
|
TCL_LIBRARY = -ltcl
|
||||||
|
-OS_LIBS = -ldl
|
||||||
|
+OS_LIBS = $(OPTIMISE_LDFLAGS) -ldl
|
||||||
|
|
||||||
|
## the native audio module for this type of system
|
||||||
|
NATIVE_AUDIO_MODULE = LINUX16
|
|
@ -0,0 +1,26 @@
|
||||||
|
--- lib/languages.scm 2002-04-20 01:47:23.000000000 +0400
|
||||||
|
+++ lib/languages.scm 2014-10-24 12:00:20.283268003 +0400
|
||||||
|
@@ -39,6 +39,14 @@
|
||||||
|
;;; new voices will become automatically available.
|
||||||
|
;;;
|
||||||
|
|
||||||
|
+(define (language_russian)
|
||||||
|
+ "(language_russian)
|
||||||
|
+ Set up language parameters for Russian."
|
||||||
|
+ (set! male1 voice_msu_ru_nsh_clunits)
|
||||||
|
+ (male1)
|
||||||
|
+ (Parameter.set 'Language 'russian)
|
||||||
|
+)
|
||||||
|
+
|
||||||
|
(define (language_british_english)
|
||||||
|
"(language_british_english)
|
||||||
|
Set up language parameters for British English."
|
||||||
|
@@ -111,6 +119,8 @@
|
||||||
|
(language_castillian_spanish))
|
||||||
|
((equal? language 'klingon)
|
||||||
|
(language_klingon))
|
||||||
|
+ ((equal? language 'russian)
|
||||||
|
+ (language_russian))
|
||||||
|
(t
|
||||||
|
(print "Unsupported language, using English")
|
||||||
|
(language_british_english))))
|
Loading…
Reference in New Issue