head 1.11; access; symbols; locks; strict; comment @-- @; 1.11 date 2009.04.18.13.10.15; author rse; state Exp; branches; next 1.10; commitid 4pHXU27WTIGCZuKt; 1.10 date 2008.03.23.08.43.29; author rse; state Exp; branches; next 1.9; commitid fKlwuAUP513I8eWs; 1.9 date 2008.03.21.16.34.48; author rse; state Exp; branches; next 1.8; commitid VYxWLAtedKUlO0Ws; 1.8 date 2008.03.21.16.15.29; author rse; state Exp; branches; next 1.7; commitid 7HpxTDL1cX5LH0Ws; 1.7 date 2008.03.21.15.51.17; author rse; state Exp; branches; next 1.6; commitid ZlZM3fs7S9tsz0Ws; 1.6 date 2008.03.21.11.30.05; author rse; state Exp; branches; next 1.5; commitid I4qZMlumTabQ7ZVs; 1.5 date 2008.03.20.23.26.57; author rse; state Exp; branches; next 1.4; commitid IOeuhoqJph6L7VVs; 1.4 date 2008.03.20.22.53.25; author rse; state Exp; branches; next 1.3; commitid Ypr1PmGoKElgWUVs; 1.3 date 2008.03.20.16.41.33; author rse; state Exp; branches; next 1.2; commitid 1t0uM8JWyrNGSSVs; 1.2 date 2008.03.20.14.57.35; author rse; state Exp; branches; next 1.1; commitid FyLzZeJY34e2jSVs; 1.1 date 2008.03.20.14.55.28; author rse; state Exp; branches; next ; commitid X1p8u1K2gvniiSVs; desc @@ 1.11 log @bump years in copyright messages @ text @## ## festival.spec -- OpenPKG RPM Package Specification ## Copyright (c) 2000-2009 OpenPKG Foundation e.V. ## ## Permission to use, copy, modify, and distribute this software for ## any purpose with or without fee is hereby granted, provided that ## the above copyright notice and this permission notice appear in all ## copies. ## ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ## SUCH DAMAGE. ## # package versions %define V_festival 1.96 %define V_speech_tools 1.2.96 %define V_ogireslpc 2.2 %define V_ogilexicon 2.2 %define V_ogivoiceas 2.3 %define V_ogivoicemwm5 2.3 %define V_ogivoiceaec 2.3 %define V_ogivoicejph 2.3 %define V_ogivoicetll 2.3 %define V_ogivoicerab 2.1 # package information Name: festival Summary: Speech Synthesis System URL: http://www.cstr.ed.ac.uk/projects/festival/ Vendor: University of Edinburgh Packager: OpenPKG Foundation e.V. Distribution: OpenPKG Community Class: EVAL Group: Audio License: X11-style Version: %{V_festival} Release: 20080323 # package options %option with_ogi no # list of sources Source0: http://festvox.org/packed/festival/%{V_festival}/festival-%{V_festival}-beta.tar.gz Source1: http://festvox.org/packed/festival/%{V_festival}/speech_tools-%{V_speech_tools}-beta.tar.gz Source2: http://festvox.org/packed/festival/%{V_festival}/festlex_CMU.tar.gz Source3: http://festvox.org/packed/festival/%{V_festival}/festlex_POSLEX.tar.gz Source4: http://festvox.org/packed/festival/%{V_festival}/festlex_OALD.tar.gz Source5: http://festvox.org/packed/festival/%{V_festival}/festvox_kallpc16k.tar.gz Source6: http://festvox.org/packed/festival/%{V_festival}/festvox_kedlpc16k.tar.gz Source7: http://festvox.org/packed/festival/%{V_festival}/festvox_kedlpc8k.tar.gz Source8: http://festvox.org/packed/festival/%{V_festival}/festvox_cmu_us_awb_arctic_hts.tar.gz Source9: http://festvox.org/packed/festival/%{V_festival}/festvox_cmu_us_bdl_arctic_hts.tar.gz Source10: http://festvox.org/packed/festival/%{V_festival}/festvox_cmu_us_jmk_arctic_hts.tar.gz Source11: http://festvox.org/packed/festival/%{V_festival}/festvox_cmu_us_slt_arctic_hts.tar.gz Source12: http://www.cslu.ogi.edu/tts/download/data/OGIresLPC-%{V_ogireslpc}.tar.gz Source13: http://www.cslu.ogi.edu/tts/download/data/OGIlexicon-%{V_ogilexicon}.tar.gz Source14: http://www.cslu.ogi.edu/tts/download/data/voice_as_di_%{V_ogivoiceas}.tar.gz Source15: http://www.cslu.ogi.edu/tts/download/data/voice_mwm5_di_%{V_ogivoicemwm5}.tar.gz Source16: http://www.cslu.ogi.edu/tts/download/data/voice_aec_di_%{V_ogivoiceaec}.tar.gz Source17: http://www.cslu.ogi.edu/tts/download/data/voice_jph_di_%{V_ogivoicejph}.tar.gz Source18: http://www.cslu.ogi.edu/tts/download/data/voice_tll_di_%{V_ogivoicetll}.tar.gz Source19: http://www.cslu.ogi.edu/tts/download/data/voice_ogirab_di_%{V_ogivoicerab}.tar.gz Source20: rc.festival Source21: festival-init.scm Source22: festival-vars.scm Patch0: festival.patch # build information Prefix: %{l_prefix} BuildRoot: %{l_buildroot} BuildPreReq: OpenPKG, openpkg >= 20040130, make, gcc, gcc::with_cxx = yes PreReq: OpenPKG, openpkg >= 20040130, opensp AutoReq: no AutoReqProv: no %description Festival offers a general framework for building speech synthesis systems as well as including examples of various modules. As a whole it offers full text to speech through a number APIs. Festival is multi-lingual though English is the most advanced language. The system is written in C++ and uses the Edinburgh Speech Tools Library (EST) for low level architecture and has a Scheme (SIOD) based command interpreter for control. %track prog festival = { version = %{version} url = http://festvox.org/packed/festival/ regex = (1\.\d+|2\.\d+)/ } %prep %setup -q -c %setup -q -T -D -a 1 %setup -q -T -D -a 2 %setup -q -T -D -a 3 %setup -q -T -D -a 4 %setup -q -T -D -a 5 %setup -q -T -D -a 6 %setup -q -T -D -a 7 %setup -q -T -D -a 8 %setup -q -T -D -a 9 %setup -q -T -D -a 10 %setup -q -T -D -a 11 %if "%{with_ogi}" == "yes" %setup -q -T -D -a 12 %setup -q -T -D -a 13 %setup -q -T -D -a 14 %setup -q -T -D -a 15 %setup -q -T -D -a 16 %setup -q -T -D -a 17 %setup -q -T -D -a 18 %setup -q -T -D -a 19 %endif %patch -p0 %build # expand variables in patched sources %{l_shtool} subst %{l_value -s -a} \ festival/lib/init.scm \ festival/lib/tts.scm \ festival/lib/voices.scm # optionally activate OGI extension %if "%{with_ogi}" == "yes" ( echo "ALSO_INCLUDE += OGIcommon OGIeffect OGIinsert OGIdbase OGIresLPC" ) >>festival/config/config.in %{l_shtool} subst \ -e 's;^\(OPTIONAL.*\);\1 OGIcommon OGIeffect OGIinsert OGIdbase OGIresLPC;' \ festival/src/modules/Makefile %endif # support additional platforms cp speech_tools/config/systems/ix86_FreeBSD.mak \ speech_tools/config/systems/unknown_FreeBSD.mak cp speech_tools/config/systems/ix86_SunOS5.mak \ speech_tools/config/systems/unknown_SunOS5.mak cp festival/config/systems/ix86_FreeBSD.mak \ festival/config/systems/unknown_FreeBSD.mak cp festival/config/systems/ix86_SunOS5.mak \ festival/config/systems/unknown_SunOS5.mak # build speech tools ( cd speech_tools CC="%{l_cc}" \ CXX="%{l_cxx}" \ CFLAGS="%{l_cflags -O}" \ CXXFLAGS="%{l_cxxflags -O}" \ CPPFLAGS="%{l_cppflags}" \ LDFLAGS="%{l_ldflags}" \ ./configure \ --prefix=%{l_prefix} %{l_make} %{l_mflags} ) || exit $? # build festival toolkit ( cd festival ( echo "FTLIBDIR=%{l_prefix}/lib/festival" ) >>config/config.in CC="%{l_cc}" \ CXX="%{l_cxx}" \ CFLAGS="%{l_cflags -O}" \ CXXFLAGS="%{l_cxxflags -O}" \ CPPFLAGS="%{l_cppflags}" \ LDFLAGS="%{l_ldflags}" \ ./configure \ --prefix=%{l_prefix} %{l_make} %{l_mflags} ) || exit $? %install # create installation hierarchy rm -rf $RPM_BUILD_ROOT %{l_shtool} mkdir -f -p -m 755 \ $RPM_BUILD_ROOT%{l_prefix}/bin \ $RPM_BUILD_ROOT%{l_prefix}/man/man1 \ $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d \ $RPM_BUILD_ROOT%{l_prefix}/etc/festival \ $RPM_BUILD_ROOT%{l_prefix}/lib/festival \ $RPM_BUILD_ROOT%{l_prefix}/var/festival # install program files %{l_shtool} install -c -m 755 \ festival/lib/etc/*/audsp \ $RPM_BUILD_ROOT%{l_prefix}/bin/festival_audsp %{l_shtool} install -c -m 755 \ festival/src/main/festival \ festival/src/main/festival_client \ $RPM_BUILD_ROOT%{l_prefix}/bin/ %{l_shtool} install -c -m 755 \ -e 's;\(exec \).*\(/bin/festival --script\);\1%{l_prefix}\2;' \ festival/examples/saytime \ festival/examples/text2pos \ festival/examples/text2wave \ $RPM_BUILD_ROOT%{l_prefix}/bin/ %{l_shtool} install -c -m 644 \ festival/doc/festival.1 \ festival/doc/festival_client.1 \ festival/doc/text2wave.1 \ $RPM_BUILD_ROOT%{l_prefix}/man/man1/ # install library files chmod -R u+w,a+r,og-w festival/lib find festival/lib -type d -print | xargs chmod 755 mv festival/lib/voices/us/* festival/lib/voices/english/ rmdir festival/lib/voices/us cp -rp festival/lib/* $RPM_BUILD_ROOT%{l_prefix}/lib/festival/ rm -rf $RPM_BUILD_ROOT%{l_prefix}/lib/festival/etc # install default site configuration %{l_shtool} install -c -m 644 \ %{SOURCE festival-vars.scm} \ %{SOURCE festival-init.scm} \ $RPM_BUILD_ROOT%{l_prefix}/etc/festival/ # install run-command script %{l_shtool} install -c -m 755 %{l_value -s -a} \ %{SOURCE rc.festival} \ $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ # determine installation files %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ %{l_files_std} \ '%config %{l_prefix}/etc/festival/*' \ '%attr(-,%{l_nusr},%{l_ngrp}) %{l_prefix}/var/festival' %files -f files %clean rm -rf $RPM_BUILD_ROOT %post # after upgrade, restart service [ $1 -eq 2 ] || exit 0 eval `%{l_rc} festival status 2>/dev/null` [ ".$festival_active" = .yes ] && %{l_rc} festival restart exit 0 %preun # before erase, stop service and remove log files [ $1 -eq 0 ] || exit 0 %{l_rc} festival stop 2>/dev/null rm -f $RPM_INSTALL_PREFIX/var/festival/* >/dev/null 2>&1 || true exit 0 @ 1.10 log @try to fix tracking @ text @d3 1 a3 1 ## Copyright (c) 2000-2008 OpenPKG Foundation e.V. @ 1.9 log @another round to get Festival building under AMD64 platforms @ text @d47 1 a47 1 Release: 20080321 d98 2 a99 2 url = http://www.cstr.ed.ac.uk/downloads/festival/ regex = (1\.\d+|2\.\d+) @ 1.8 log @try to get the stuff working in a more portable way @ text @d144 4 @ 1.7 log @support AMD64 platforms, too @ text @d143 1 a143 1 # support AMD64 platforms d145 1 a145 1 festival/config/systems/amd64_FreeBSD.mak d147 1 a147 1 festival/config/systems/amd64_SunOS5.mak @ 1.6 log @add optional OGI stuff @ text @d143 6 @ 1.5 log @cleanup packaging; add text2wav(1) manual page; remove MBROLA based voices as MBROLA is an ancient binary-only stuff @ text @d27 8 d49 3 d65 11 a75 3 Source12: rc.festival Source13: festival-init.scm Source14: festival-vars.scm d115 10 d134 9 @ 1.4 log @simplify packaging and as a intended side-effect fix the text2wav(1) tool @ text @d39 1 a39 1 Release: 20080320 d50 7 a56 10 Source8: http://festvox.org/packed/festival/%{V_festival}/festvox_us1.tar.gz Source9: http://festvox.org/packed/festival/%{V_festival}/festvox_us2.tar.gz Source10: http://festvox.org/packed/festival/%{V_festival}/festvox_us3.tar.gz Source11: http://festvox.org/packed/festival/%{V_festival}/festvox_cmu_us_awb_arctic_hts.tar.gz Source12: http://festvox.org/packed/festival/%{V_festival}/festvox_cmu_us_bdl_arctic_hts.tar.gz Source13: http://festvox.org/packed/festival/%{V_festival}/festvox_cmu_us_jmk_arctic_hts.tar.gz Source14: http://festvox.org/packed/festival/%{V_festival}/festvox_cmu_us_slt_arctic_hts.tar.gz Source15: rc.festival Source16: festival-init.scm Source17: festival-vars.scm a95 3 %setup -q -T -D -a 12 %setup -q -T -D -a 13 %setup -q -T -D -a 14 d101 3 a103 1 festival/lib/init.scm a151 4 %{l_shtool} install -c -m 644 \ festival/doc/festival.1 \ festival/doc/festival_client.1 \ $RPM_BUILD_ROOT%{l_prefix}/man/man1/ d158 5 @ 1.3 log @first cut for adding Festival daemon/server support @ text @d124 2 a144 1 $RPM_BUILD_ROOT%{l_prefix}/libexec/festival \ d151 1 a151 1 $RPM_BUILD_ROOT%{l_prefix}/libexec/festival/ d155 1 a155 16 $RPM_BUILD_ROOT%{l_prefix}/libexec/festival/ ( echo "#!/bin/sh" echo "PATH=%{l_prefix}/libexec/festival:\$PATH" echo "export PATH" echo "exec %{l_prefix}/libexec/festival/festival \\" echo " --libdir %{l_prefix}/lib/festival \$*" ) >festival.sh ( echo "#!/bin/sh" echo "PATH=%{l_prefix}/libexec/festival:\$PATH" echo "export PATH" echo "exec %{l_prefix}/libexec/festival/festival_client \$*" ) >festival_client.sh %{l_shtool} install -c -m 755 \ festival.sh $RPM_BUILD_ROOT%{l_prefix}/bin/festival %{l_shtool} install -c -m 755 \ festival_client.sh $RPM_BUILD_ROOT%{l_prefix}/bin/festival_client @ 1.2 log @improve description @ text @d57 3 d66 1 a66 1 PreReq: OpenPKG, openpkg >= 20040130 d105 4 d110 10 a119 10 ( cd speech_tools CC="%{l_cc}" \ CXX="%{l_cxx}" \ CFLAGS="%{l_cflags -O}" \ CXXFLAGS="%{l_cxxflags -O}" \ CPPFLAGS="%{l_cppflags}" \ LDFLAGS="%{l_ldflags}" \ ./configure \ --prefix=%{l_prefix} %{l_make} %{l_mflags} d123 10 a132 10 ( cd festival CC="%{l_cc}" \ CXX="%{l_cxx}" \ CFLAGS="%{l_cflags -O}" \ CXXFLAGS="%{l_cxxflags -O}" \ CPPFLAGS="%{l_cppflags}" \ LDFLAGS="%{l_ldflags}" \ ./configure \ --prefix=%{l_prefix} %{l_make} %{l_mflags} d141 2 d144 2 a145 1 $RPM_BUILD_ROOT%{l_prefix}/lib/festival d155 5 a159 5 ( echo "#!/bin/sh" echo "PATH=%{l_prefix}/libexec/festival:\$PATH" echo "export PATH" echo "exec %{l_prefix}/libexec/festival/festival \\" echo " --libdir %{l_prefix}/lib/festival \$*" d161 4 a164 5 ( echo "#!/bin/sh" echo "PATH=%{l_prefix}/libexec/festival:\$PATH" echo "export PATH" echo "exec %{l_prefix}/libexec/festival/festival_client \\" echo " %{l_prefix}/lib/festival \$*" d184 2 d188 2 a189 3 ( echo "(set! system-voice-path '(\"%{l_prefix}/lib/festival/voices\"))" echo "(set! sgml_parse_progname \"nsgmls\")" ) >sitevars.scm d191 8 a198 2 sitevars.scm \ $RPM_BUILD_ROOT%{l_prefix}/lib/festival/sitevars.scm d201 4 a204 1 %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} d211 14 @ 1.1 log @first cut for packaging the Festival speech synthesizing tool (can be used from within Asterisk PBX to on-the-fly generate waves based on configuration text) @ text @d70 5 a74 9 it offers full text to speech through a number APIs: from shell level, though a Scheme command interpreter, as a C++ library, from Java, and an Emacs interface. Festival is multi-lingual (currently English (British and American), and Spanish) though English is the most advanced. The system is written in C++ and uses the Edinburgh Speech Tools Library for low level architecture and has a Scheme (SIOD) based command interpreter for control. Documentation is given in the FSF texinfo format which can generate, a printed manual, info files and HTML. @