Your message dated Wed, 04 Jul 2007 17:17:03 +0000 with message-id <[EMAIL PROTECTED]> and subject line Bug#427550: fixed in festival 1.4.3-20 has caused the attached Bug report to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what I am talking about this indicates a serious mail system misconfiguration somewhere. Please contact me immediately.) Debian bug tracking system administrator (administrator, Debian Bugs database)
--- Begin Message ---Package: festival Version: 1.4.3-17.2 Severity: normal Tags: patch Hi, the current way of extending festival's list of known languages in languages.scm is broken. The functions male1, male2, female1 etc. that get defined in the language_* functions only work once due to autoloading tricks. An example with the britishenglish language: # apt-get install festival festvox-rablpc16k festvox-don [...] % festival --language britishenglish Festival Speech Synthesis System 1.4.3:release Jan 2003 Copyright (C) University of Edinburgh, 1996-2003. All rights reserved. For details type `(festival_warranty)' festival> (male2); male1 was automatically activated first don_diphone festival> (male1) SIOD ERROR: autoload: "/usr/share/festival/voices/english/rab_diphone/festvox/rab_diphone.scm" does not define voice_rab_diphone festival> (male2) SIOD ERROR: autoload: "/usr/share/festival/voices/english/don_diphone/festvox/don_diphone.scm" does not define voice_don_diphone The situation is the same at least with the Italian and the Finnish voices (although the Finnish female1 definition needs s/suo_lj/suo_fi_lj, which I will file a separate bug about.) This happens because the voice_* functions are autoloaded by a temporary function that verifies that the autoload was succesful by comparing the original voice_* function to the one after the autoload. Unfortunately, the male1, male2 etc. functions each refer to the temporary function rather than the real one. The function doesn't change anymore after the second call, resulting in an error. Consider: % festival --language britishenglish Festival Speech Synthesis System 1.4.3:release Jan 2003 Copyright (C) University of Edinburgh, 1996-2003. All rights reserved. For details type `(festival_warranty)' festival> male2 ; look at the autoload function definition #<CLOSURE n (let ((me voice_don_diphone)) (require "/usr/share/festival/voices/english/don_diphone/festvox/don_diphone") (if (eq me voice_don_diphone) (error (string-append "autoload: \"" "/usr/share/festival/voices/english/don_diphone/festvox/don_diphone" ".scm\" does not define " (quote voice_don_diphone)))) (apply voice_don_diphone n))> festival> voice_don_diphone ; an alias of the above #<CLOSURE n (let ((me voice_don_diphone)) (require "/usr/share/festival/voices/english/don_diphone/festvox/don_diphone") (if (eq me voice_don_diphone) (error (string-append "autoload: \"" "/usr/share/festival/voices/english/don_diphone/festvox/don_diphone" ".scm\" does not define " (quote voice_don_diphone)))) (apply voice_don_diphone n))> festival> (male2) ; actually activate the voice don_diphone festival> male2 ; still the original autoload function definition #<CLOSURE n (let-internal (me) (voice_don_diphone) (begin (require "/usr/share/festival/voices/english/don_diphone/festvox/don_diphone") (if (eq me voice_don_diphone) (error (string-append "autoload: \"" "/usr/share/festival/voices/english/don_diphone/festvox/don_diphone" ".scm\" does not define " (quote voice_don_diphone)))) (apply voice_don_diphone n)))> festival> voice_don_diphone ; the actual voice is now loaded #<CLOSURE nil (begin "(voice_don_diphone) Set up the current speaker to be British male RP speaker, LPC Donovan diphones." [...] festival> (male2) ; second activation fails SIOD ERROR: autoload: "/usr/share/festival/voices/english/don_diphone/festvox/don_diphone.scm" does not define voice_don_diphone The proposed fix is to define the male1, male2 etc. helper functions so that the function they call is evaluated at runtime. This works for me: --- languages.scm 2006-09-03 18:23:12.000000000 +0300 +++ languages.scm-fixed 2007-06-04 22:46:15.000000000 +0300 @@ -45,8 +45,8 @@ (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) Obviously, a similar fix should be applied to the helper functions of all the languages in languages.scm . Cheers, -- Niko Tyni [EMAIL PROTECTED]
--- End Message ---
--- Begin Message ---Source: festival Source-Version: 1.4.3-20 We believe that the bug you reported is fixed in the latest version of festival, which is due to be installed in the Debian FTP archive: festival-dev_1.4.3-20_amd64.deb to pool/main/f/festival/festival-dev_1.4.3-20_amd64.deb festival_1.4.3-20.diff.gz to pool/main/f/festival/festival_1.4.3-20.diff.gz festival_1.4.3-20.dsc to pool/main/f/festival/festival_1.4.3-20.dsc festival_1.4.3-20_amd64.deb to pool/main/f/festival/festival_1.4.3-20_amd64.deb A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to [EMAIL PROTECTED], and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Kartik Mistry <[EMAIL PROTECTED]> (supplier of updated festival package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing [EMAIL PROTECTED]) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Format: 1.7 Date: Tue, 03 Jul 2007 11:50:12 +0530 Source: festival Binary: festival-dev festival Architecture: source amd64 Version: 1.4.3-20 Distribution: unstable Urgency: low Maintainer: Kartik Mistry <[EMAIL PROTECTED]> Changed-By: Kartik Mistry <[EMAIL PROTECTED]> Description: festival - general multi-lingual speech synthesis system festival-dev - development kit for the Festival speech synthesis system Closes: 427550 431264 Changes: festival (1.4.3-20) unstable; urgency=low . * debian/control: Added file-rc along with sysv-rc in Depends for systems using file-rc (Closes: #431264) * lib/languages.scm: fixed (male1) and its friends only work once by adding lambda() function, Thanks to Niko Tyni <[EMAIL PROTECTED]> for patch (Closes: #427550) * debian/rules: use $(MAKE) clean to catch any errors in clean target Files: 31f6d147678b3a1c1853dfc55757e61d 670 sound optional festival_1.4.3-20.dsc a504f4cb3b29787415ea89a00c8b63dc 33564 sound optional festival_1.4.3-20.diff.gz cabaf6794b3b0bbdc7ead1fddd0ba7ec 709176 sound optional festival_1.4.3-20_amd64.deb 494a57037506fea77aae5a0af4f11ac9 446134 libdevel optional festival-dev_1.4.3-20_amd64.deb -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (GNU/Linux) iD8DBQFGi9IXFyn1hmqfPDgRAktJAJ9nTqdpEyJgYDVD39EEzzZiCa0S7ACeIJSm wAQodgjaVEuWLl646mFIHEw= =rLko -----END PGP SIGNATURE-----
--- End Message ---

