Package: festival Version: 1.97~svn20100328~ppa0~lucid Severity: normal Tags: patch
It would be nice to add the attached patch to festival's git repository. Until now, in Festival, when a voice developer works in a new language, a bug has to be filled against festival to add support for that language, because lib/languages.scm has to be edited (see bugs #516262 and #335845). This patch provides a language independent lib/languages.scm that reads from the directory lib/languages/ and loads all the available languages automatically. Applying this patch to Festival would allow voice developers to add support for new languages without having to fill bugs against festival everytime. -- System Information: Debian Release: squeeze/sid APT prefers lucid-updates APT policy: (500, 'lucid-updates'), (500, 'lucid-security'), (500, 'lucid') Architecture: i386 (i686) Kernel: Linux 2.6.32-26-generic (SMP w/2 CPU cores) Locale: LANG=ca_ES.utf8, LC_CTYPE=ca_ES.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages festival depends on: ii 3.112ubuntu1 add and remove users and groups ii 1.15.5.6ubuntu4.4 Debian package management system ii 4.13a.dfsg.1-5ubuntu1 Manage installed documentation in ii 0.2.6-8ubuntu1 Open-source version of SGI's audio ii 2.11.1-0ubuntu7.5 Embedded GNU C Library: Shared lib ii 0.2.41-6ubuntu1 Enlightened Sound Daemon - Shared ii 1:1.2.97~20100328~ppa0~lucid Edinburgh Speech Tools Library ii 1:4.4.3-4ubuntu5 GCC support library ii 5.7+20090803-2ubuntu3 shared libraries for terminal hand ii 1:0.9.22~0.9.21+stable-queue-32 PulseAudio client libraries ii 4.4.3-4ubuntu5 The GNU Standard C++ Library v3 ii 4.0-0ubuntu8 Linux Standard Base 4.0 init scrip ii 1.26 SGML infrastructure and SGML catal ii 2.87dsf-4ubuntu17 System-V-like runlevel change mech Versions of packages festival recommends: ii festvox-kallpc16k [festival-v 1.4.0-5 American English male speaker for Versions of packages festival suggests: pn festival-freebsoft-utils <none> (no description available) pn festival-gaim <none> (no description available) pn pidgin-festival <none> (no description available) -- no debconf information
>From 9f1613345b79189e8c6bc3886cda0687009891c4 Mon Sep 17 00:00:00 2001 From: Sergio Oller <sergiol...@gmail.com> Date: Tue, 7 Dec 2010 02:45:43 +0100 Subject: [PATCH] This commit makes possible to add new languages without having to patch festival. Signed-off-by: Sergio Oller <sergiol...@gmail.com> --- debian/patches/lib_languages.scm.diff | 865 ++++++++++++++++++++++++++++++--- debian/patches/russian_patch.diff | 28 -- 2 files changed, 791 insertions(+), 102 deletions(-) diff --git a/debian/patches/lib_languages.scm.diff b/debian/patches/lib_languages.scm.diff index 7c84d6a..a2ad3bc 100644 --- a/debian/patches/lib_languages.scm.diff +++ b/debian/patches/lib_languages.scm.diff @@ -1,53 +1,587 @@ This patch is part of a series of patches for festival for Debian GNU/Linux, which primarily fix build errors with GCC 4.3 and newer. -Index: b/lib/languages.scm +Index: festival/lib/languages.scm =================================================================== ---- a/lib/languages.scm -+++ b/lib/languages.scm -@@ -45,8 +45,8 @@ - (require 'voices) - ;; Will get more elaborate, with different choices of voices in language +--- festival.orig/lib/languages.scm 2010-12-07 01:41:11.513825851 +0100 ++++ festival/lib/languages.scm 2010-01-14 20:39:32.000000000 +0100 +@@ -2,7 +2,7 @@ + ;;; ;; + ;;; Centre for Speech Technology Research ;; + ;;; University of Edinburgh, UK ;; +-;;; Copyright (c) 1996,1997 ;; ++;;; Copyright (c) 1996,2010 ;; + ;;; All Rights Reserved. ;; + ;;; ;; + ;;; Permission is hereby granted, free of charge, to use and distribute ;; +@@ -31,90 +31,145 @@ + ;;; ;; + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;;; +-;;; Specification of voices and some major choices of synthesis ++;;; Author: Sergio Oller ++;;; Date: January 2010 + ;;; + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;;; +-;;; This should use some sort of database description for voices so +-;;; new voices will become automatically available. ++;;; Language definitions, now it works similar to voice definitions. + ;;; +-(define (language_british_english) +-"(language_british_english) +-Set up language parameters for British English." +- (require 'voices) +- ;; Will get more elaborate, with different choices of voices in language +- - (set! male1 voice_rab_diphone) - (set! male2 voice_don_diphone) -+ (set! male1 (lambda () (voice_rab_diphone))) -+ (set! male2 (lambda () (voice_don_diphone))) - (if (symbol-bound? 'voice_gsw_diphone) - (set! male3 voice_gsw_diphone)) - (if (symbol-bound? 'voice_gsw_450) -@@ -56,18 +56,51 @@ - (Parameter.set 'Language 'britishenglish) - ) +- (if (symbol-bound? 'voice_gsw_diphone) +- (set! male3 voice_gsw_diphone)) +- (if (symbol-bound? 'voice_gsw_450) +- (set! male4 voice_gsw_450)) + +- (male1) +- (Parameter.set 'Language 'britishenglish) +-) +- +-(define (language_american_english) +-"(language_american_english) +-Set up language parameters for Aemerican English." +- +- (if (symbol-bound? 'voice_kal_diphone) +- (set! female1 voice_kal_diphone)) +- (set! male1 voice_ked_diphone) ++(defvar system-language-path '("/usr/share/festival/languages/")) +- (male1) +- (Parameter.set 'Language 'americanenglish) ++(defvar language-path ++ (remove-duplicates ++ (append (mapcar (lambda (d) (path-append d "languages/")) load-path) ++ (mapcar (lambda (d) (path-as-directory d)) system-language-path) ++ )) + -+(define (language_italian) -+"(language_italian) -+Set up language parameters for Italian." ++ "language-path ++ List of places to look for languages. If not set it is initialised from ++ load-path by appending \"languages/\" to each directory with ++ system-language-path appended.") + -+ (if (symbol-bound? 'voice_lp_diphone) -+ (set! female1 (lambda () (voice_lp_diphone)))) -+ (set! male1 (lambda () (voice_pc_diphone))) ++(defvar language-locations () ++ "language-locations ++ Association list recording where languages were found.") + -+ (male1) -+ (Parameter.set 'Language 'italian) -+) ++(defvar language-location-trace nil ++ "language-location-trace ++ Set t to print language locations as they are found") ++ ++(defvar Language_aliases nil ++ "Internal variable containing an association of language name ++ aliases such as english-> british_english.") + ++(define (language.names.add language aliases) ++"(language.alias.add LANGUAGE ALIASES) ++Describe a language to the systen. LANGUAGE should be atomic name, that ++conventionally will have language_ prepended to name the basic selection ++function. ALIASES is a list of names for that language." ++ (let (alias nil) + - (define (language_american_english) - "(language_american_english) - Set up language parameters for Aemerican English." ++ (while aliases ++ (set! alias (car aliases)) ++ (cond ( (not (assoc alias Language_aliases) nil) ++ (set! Language_aliases (cons (cons alias language) Language_aliases)) ++ ) ++ (t ++ (set-cdr! (assoc alias Language_aliases) language) ++ ) ++ ) ++ (set! aliases (cdr aliases)) ++ ) ++ ) + ) - (if (symbol-bound? 'voice_kal_diphone) -- (set! female1 voice_kal_diphone)) -- (set! male1 voice_ked_diphone) -+ (set! female1 (lambda () (voice_kal_diphone)))) -+ (set! male1 (lambda () (voice_ked_diphone))) +-(define (language_scots_gaelic) +-"(language_scots_gaelic) +-Set up language parameters for Scots Gaelic." +- (error "Scots Gaelic not yet supported.") +- +- (Parameter.set 'Language 'scotsgaelic) ++(define (language-location name dir doc) ++ "(language-location NAME DIR DOCSTRING) ++ Record the location of a language. Called for each language found on language-path. ++ Can be called in site-init or .festivalrc for additional languages which ++ exist elsewhere." ++ (let ((func_name (intern name)) ++ ) ++ ++ (set! name (intern name)) ++ (set! language-locations (cons (cons name dir) language-locations)) ++ (eval (list 'autoload func_name dir doc)) ++ (if language-location-trace ++ (format t "Language: %s %s.scm\n" name dir) ++ ) ++ ) ++ ) ++ ++ ++(define (language.list) ++"(language.list) ++List of all (potential) languages in the system. This checks the language-location ++list of potential languages found be scanning the language-path at start up time." ++ (mapcar car Language_aliases)) ++ ++(define (language.select name) ++"(language.select LANG) ++Call function to set up language LANG. This is normally done by ++prepending language_ to LANG and call it as a function." ++ (set! lang (cdr(assoc name Language_aliases))) ++ (if (string-equal lang nil) ++ (set! lang name) ++ ) ++ (cond ++ ((boundp (intern(string-append "language_" lang))) ;;if function "language_lang" exists, evaluate it ++ (eval (list (intern (string-append "language_" lang)))) ++ ) ++ ((string-matches lang "klingon") ++ (print "Klingon is not supported yet, using English:") ++ (language.select 'english) ++ ) ++ (t ;;else, print a message with available languages ++ (print "Language not installed. The installed languages are:") ++ (language.list) ++ ) ++ ) ++nil + ) + +-(define (language_welsh) +-"(language_welsh) +-Set up language parameters for Welsh." + +- (set! male1 voice_welsh_hl) +- +- (male1) +- (Parameter.set 'Language 'welsh) +-) ++(define (search-for-languages) ++ "(search-for-languages) ++ Search down language-path to locate languages." ++ ++ (let ((dirs language-path) ++ (dir nil) ++ languages language ++ name ++ ) ++ (while dirs ++ (set! dir (car dirs)) ++ (setq languages (directory-entries dir t)) ++ (while languages ++ (set! language (car languages)) ++ (if (string-matches language "language_.*scm$") ++ (begin ++ (load (path-append dir language)) ++ (language-location (path-basename language) (path-append dir (path-basename language)) "language found") ++ ) ++ ) ++ (set! languages (cdr languages)) ++ ) ++ (set! dirs (cdr dirs)) ++ ) ++ ) ++ ) - (male1) - (Parameter.set 'Language 'americanenglish) +-(define (language_castillian_spanish) +-"(language_spanish) +-Set up language parameters for Castillian Spanish." +- +- (voice_el_diphone) +- (set! male1 voice_el_diphone) +- +- (Parameter.set 'Language 'spanish) ++(define (select_language language) ++"(select_language LANG) ++Chooses language. This function it's old and language.select should be used instead." ++ (language.select language) ) +-(define (select_language language) +- (cond +- ((or (equal? language 'britishenglish) +- (equal? language 'english)) ;; we all know its the *real* English +- (language_british_english)) +- ((equal? language 'americanenglish) +- (language_american_english)) +- ((equal? language 'scotsgaelic) +- (language_scots_gaelic)) +- ((equal? language 'welsh) +- (language_welsh)) +- ((equal? language 'spanish) +- (language_castillian_spanish)) +- ((equal? language 'klingon) +- (language_klingon)) +- (t +- (print "Unsupported language, using English") +- (language_british_english)))) ++(search-for-languages) + +-(defvar language_default language_british_english) ++(defvar language_default 'english) + + (provide 'languages) +Index: festival/lib/languages/language_american_english.scm +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ festival/lib/languages/language_american_english.scm 2010-12-07 02:02:10.769927107 +0100 +@@ -0,0 +1,55 @@ ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;;; ;; ++;;; Centre for Speech Technology Research ;; ++;;; University of Edinburgh, UK ;; ++;;; Copyright (c) 2002 ;; ++;;; 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: ++;;; Date: ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;; ++;; American English language description ++;; ++;; ++ ++(define (language_american_english) ++"(language_american_english) ++Set up language parameters for Aemerican English." ++ ++ (if (symbol-bound? 'voice_kal_diphone) ++ (set! female1 (lambda () (voice_kal_diphone)))) ++ (set! male1 (lambda () (voice_ked_diphone))) ++ ++ (male1) ++ (Parameter.set 'Language 'americanenglish) ++nil ++) ++ ++ ++(language.names.add 'american_english (list 'americanenglish )) +Index: festival/lib/languages/language_british_english.scm +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ festival/lib/languages/language_british_english.scm 2010-12-07 02:00:42.701830114 +0100 +@@ -0,0 +1,58 @@ ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;;; ;; ++;;; Centre for Speech Technology Research ;; ++;;; University of Edinburgh, UK ;; ++;;; Copyright (c) 2002 ;; ++;;; 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: ++;;; Date: ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;; ++;; British English language description ++;; ++;; ++ ++(define (language_british_english) ++"(language_british_english) ++Set up language parameters for British English." ++ (require 'voices) ++ ;; Will get more elaborate, with different choices of voices in language ++ ++ (set! male1 (lambda () (voice_rab_diphone))) ++ (set! male2 (lambda () (voice_don_diphone))) ++ (if (symbol-bound? 'voice_gsw_diphone) ++ (set! male3 voice_gsw_diphone)) ++ (if (symbol-bound? 'voice_gsw_450) ++ (set! male4 voice_gsw_450)) ++ ++ (male1) ++ (Parameter.set 'Language 'britishenglish) ++) ++ ++(language.names.add 'british_english (list 'britishenglish 'english));; we all know its the *real* English +Index: festival/lib/languages/language_castillian_spanish.scm +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ festival/lib/languages/language_castillian_spanish.scm 2010-12-07 02:05:35.000000000 +0100 +@@ -0,0 +1,51 @@ ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;;; ;; ++;;; Centre for Speech Technology Research ;; ++;;; University of Edinburgh, UK ;; ++;;; Copyright (c) 2002 ;; ++;;; 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: ++;;; Date: ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;; ++;; Castillian Spanish language description ++;; ++;; ++ ++(define (language_castillian_spanish) ++"(language_spanish) ++Set up language parameters for Castillian Spanish." ++ ++ (voice_el_diphone) ++ (set! male1 (lambda () (voice_el_diphone))) ++ ++ (Parameter.set 'Language 'spanish) ++) ++ ++(language.names.add 'castillian_spanish (list 'spanish 'castellano)) +Index: festival/lib/languages/language_catalan.scm +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ festival/lib/languages/language_catalan.scm 2010-04-06 01:12:41.000000000 +0200 +@@ -0,0 +1,68 @@ ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;;; ;; ++;;; Centre for Speech Technology Research ;; ++;;; University of Edinburgh, UK ;; ++;;; Copyright (c) 2002 ;; ++;;; 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: Sergio Oller ++;;; Date: January 2010 ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;; ++;; Catalan language description ++;; ++;; ++ ++(define (language_catalan) ++"(language_catalan) ++Set up language parameters for Catalan." ++ (set! female1 (lambda () (voice_upc_ca_ona_hts))) ++ (set! male1 (lambda () (voice_upc_ca_pau_hts))) ++ (Param.set 'Language 'catalan) ++ ++ ;Load catalan environment: ++;;; Add the directory that contains catalan stuff (normalization, tagger, etc.) to load-path ++ (if (boundp 'datadir) ++ (set! catalan-path (path-append datadir "upc_catalan/")) ++ (set! catalan-path (path-append libdir "upc_catalan/")) ++ ) ++ ++(if (not (member_string catalan-path load-path)) ++ (set! load-path (cons catalan-path load-path))) ++ (require 'upc_catalan) ++ ++ ;Use a catalan voice: ++ (if (not (boundp 'catalan-default-voices)) ;if is defined 'catalan-default-voices ++ (set! catalan-default-voices (append (list 'upc_ca_ona_hts) (list 'upc_ca_pau_hts))) ++ ) ++ (set_voice_default (append catalan-default-voices (voice.find (list (list 'language 'catalan))))) ++ (eval (list voice_default)) ++ ++) ++ ++(language.names.add 'catalan (list 'catalan)) +Index: festival/lib/languages/language_czech.scm +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ festival/lib/languages/language_czech.scm 2010-12-07 02:03:29.493829361 +0100 +@@ -0,0 +1,50 @@ ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;;; ;; ++;;; Centre for Speech Technology Research ;; ++;;; University of Edinburgh, UK ;; ++;;; Copyright (c) 2002 ;; ++;;; 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: ++;;; Date: ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;; ++;; Czech language description ++;; ++;; ++ ++(define (language_czech) ++"(language_czech) ++Set up language parameters for Czech." ++ (set! male1 (lambda () (voice_czech_ph))) ++ (male1) ++ (Parameter.set 'Language 'czech) ++nil ++) ++ ++(language.names.add 'czech (list 'czech )) +Index: festival/lib/languages/language_finnish.scm +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ festival/lib/languages/language_finnish.scm 2010-12-07 02:02:57.261829980 +0100 +@@ -0,0 +1,56 @@ ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;;; ;; ++;;; Centre for Speech Technology Research ;; ++;;; University of Edinburgh, UK ;; ++;;; Copyright (c) 2002 ;; ++;;; 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: ++;;; Date: ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;; ++;; Finnish language description ++;; ++;; ++ ++ +(define (language_finnish) +"(language_finnish) +Set up language parameters for Finnish." @@ -57,49 +591,232 @@ Index: b/lib/languages.scm + + (male1) + (Parameter.set 'Language 'finnish) ++nil +) + -+(define (language_czech) -+"(language_czech) -+Set up language parameters for Czech." -+ (set! male1 (lambda () (voice_czech_ph))) -+ (male1) -+ (Parameter.set 'Language 'czech) ++ ++ ++(language.names.add 'finnish (list 'finnish )) +Index: festival/lib/languages/language_italian.scm +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ festival/lib/languages/language_italian.scm 2010-12-07 02:01:26.165828269 +0100 +@@ -0,0 +1,53 @@ ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;;; ;; ++;;; Centre for Speech Technology Research ;; ++;;; University of Edinburgh, UK ;; ++;;; Copyright (c) 2002 ;; ++;;; 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: ++;;; Date: ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;; ++;; Italian language description ++;; ++;; ++ ++(define (language_italian) ++"(language_italian) ++Set up language parameters for Italian." ++ ++ (if (symbol-bound? 'voice_lp_diphone) ++ (set! female1 (lambda () (voice_lp_diphone)))) ++ (set! male1 (lambda () (voice_pc_diphone))) ++ ++ (male1) ++ (Parameter.set 'Language 'italian) +) + - (define (language_scots_gaelic) - "(language_scots_gaelic) - Set up language parameters for Scots Gaelic." -@@ -80,7 +113,7 @@ - "(language_welsh) - Set up language parameters for Welsh." - -- (set! male1 voice_welsh_hl) ++(language.names.add 'italian (list 'italian )) +Index: festival/lib/languages/language_russian.scm +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ festival/lib/languages/language_russian.scm 2010-12-07 02:04:15.893829431 +0100 +@@ -0,0 +1,49 @@ ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;;; ;; ++;;; Centre for Speech Technology Research ;; ++;;; University of Edinburgh, UK ;; ++;;; Copyright (c) 2002 ;; ++;;; 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: ++;;; Date: ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;; ++;; Czech language description ++;; ++;; ++ ++(define (language_russian) ++"(language_russian) ++Set up language parameters for Russian." ++ (set! male1 voice_msu_ru_nsh_clunits) ++ (male1) ++ (Parameter.set 'Language 'russian) ++) ++ ++(language.names.add 'czech (list 'czech )) +Index: festival/lib/languages/language_scots_gaelic.scm +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ festival/lib/languages/language_scots_gaelic.scm 2010-12-07 02:04:36.077827681 +0100 +@@ -0,0 +1,49 @@ ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;;; ;; ++;;; Centre for Speech Technology Research ;; ++;;; University of Edinburgh, UK ;; ++;;; Copyright (c) 2002 ;; ++;;; 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: ++;;; Date: ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;; ++;; Scots Gaelic language description ++;; ++;; ++ ++(define (language_scots_gaelic) ++"(language_scots_gaelic) ++Set up language parameters for Scots Gaelic." ++ (error "Scots Gaelic not yet supported.") ++ ++ (Parameter.set 'Language 'scotsgaelic) ++) ++ ++(language.names.add 'scotsgaelic (list 'scotsgaelic )) +Index: festival/lib/languages/language_welsh.scm +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ festival/lib/languages/language_welsh.scm 2010-12-07 02:05:08.333845641 +0100 +@@ -0,0 +1,52 @@ ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;;; ;; ++;;; Centre for Speech Technology Research ;; ++;;; University of Edinburgh, UK ;; ++;;; Copyright (c) 2002 ;; ++;;; 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: ++;;; Date: ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;; ++;; Welsh language description ++;; ++;; ++ ++(define (language_welsh) ++"(language_welsh) ++Set up language parameters for Welsh." ++ + (set! male1 (lambda () (voice_welsh_hl))) - - (male1) - (Parameter.set 'Language 'welsh) -@@ -91,7 +124,7 @@ - Set up language parameters for Castillian Spanish." - - (voice_el_diphone) -- (set! male1 voice_el_diphone) -+ (set! male1 (lambda () (voice_el_diphone))) - - (Parameter.set 'Language 'spanish) - ) -@@ -107,8 +140,14 @@ - (language_scots_gaelic)) - ((equal? language 'welsh) - (language_welsh)) -+ ((equal? language 'italian) -+ (language_italian)) - ((equal? language 'spanish) - (language_castillian_spanish)) -+ ((equal? language 'finnish) -+ (language_finnish)) -+ ((equal? language 'czech) -+ (language_czech)) - ((equal? language 'klingon) - (language_klingon)) - (t ++ ++ (male1) ++ (Parameter.set 'Language 'welsh) ++) ++ ++ ++(language.names.add 'welsh (list 'welsh )) diff --git a/debian/patches/russian_patch.diff b/debian/patches/russian_patch.diff index fa1bf46..13e06b9 100644 --- a/debian/patches/russian_patch.diff +++ b/debian/patches/russian_patch.diff @@ -1,34 +1,6 @@ This patch is part of a series of patches for festival for Debian GNU/Linux, which primarily fix build errors with GCC 4.3 and newer. -Index: festival/lib/languages.scm -=================================================================== ---- festival.orig/lib/languages.scm 2009-09-12 18:00:44.000000000 -0500 -+++ festival/lib/languages.scm 2009-09-12 18:01:40.000000000 -0500 -@@ -101,6 +101,14 @@ - (Parameter.set 'Language 'czech) - ) - -+(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_scots_gaelic) - "(language_scots_gaelic) - Set up language parameters for Scots Gaelic." -@@ -150,6 +158,8 @@ - (language_czech)) - ((equal? language 'klingon) - (language_klingon)) -+ ((equal? language 'russian) -+ (language_russian)) - (t - (print "Unsupported language, using English") - (language_british_english)))) Index: festival/src/main/festival_main.cc =================================================================== --- festival.orig/src/main/festival_main.cc 2009-09-12 18:00:44.000000000 -0500 -- 1.7.0.4