Re: [linux-audio-dev] Speech synthesis, anyone?

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] Speech synthesis, anyone?
From: D. Stimits (stimits_AT_idcomm.com)
Date: Sat Jun 23 2001 - 07:10:05 EEST


Stefan Nitschke wrote:
>
> > > It is too bad festival is so far out of date it won't compile anymore.
> > > Looks like it could have been a good program at one time.
> >
> >festival is available as a debian package, so someone is able to
> >compile it...
> >
> >Simon.
>
> I tried to compile it with gcc-3.0... no way all the stl stuff is broken:(
>
> Stefan

I'm going to make some notes, somewhat randomly, on problems. I'm
basically taking some notes while I try to work on this.

First thing is that it is incorrect to include some of the standard C++
lib items using the ".h" suffix...this does actually make a difference.
I'm looking first at speech_tools, and am converting cases of include of
iostream.h to iostream, and so on. I noticed this due to a failure to
find a prototype for memcpy; the current C location is string.h, while
C++ should be cstring, and neither is included where it is needed
(apparently speech_tools uses an older definition). In other cases there
are places where it would be better to wrap C includes extern "C"; or
else use -D__cplusplus to take advantage of header resources to do
this...unfortunately, the Makefile is not very friendly for adding an
extra "-D", due to mixing of C and C++. Prior to modifications, there is
also a lot of outdated stuff spitting out warnings, for example,
"warning: -fguiding-decls is no longer supported". Other functions ended
up being implicit declaration warnings or errors because the #include
was using out of date standards on what to include (the exit() function
is one of those). Tons of warnings of "friend declaration
blah...declares a non-template function" are not necessarily bad, but it
has a huge amount of scroll hiding the real errors. Probably if I was
intending on maintaining such a project, I would convert the entire
thing to compile on g++ and not mix gcc...I've gone the "mix" route
before, it sucks. The summary: minimum speech_tools requirement is to
edit files using memcpy, making sure C++ versions #include <cstring>,
and C versions #include <string.h>.

Well, that seems to get things on the way, but it is misleading. Many
similar warnings exist when compiling the actual festival. Then when
running the actual test, it fails just about everything:
festival# make test
rm -rf tmp
mkdir tmp
test fest (script)
basic
SIOD ERROR: unbound variable
voice_rab_diphone
closing a file left open: ../testsuite/data/.festivalrc
closing a file left open: /usr/src/redhat/SOURCES/festival/lib/init.scm
festival: fatal error exiting.
fest script status: FAILED

test text (script)
text
SIOD ERROR: unbound variable
voice_rab_diphone
closing a file left open: ../testsuite/data/.festivalrc
closing a file left open: /usr/src/redhat/SOURCES/festival/lib/init.scm
festival: fatal error exiting.
text script status: FAILED

test voice (script)
multi-voices
SIOD ERROR: unbound variable
voice_rab_diphone
closing a file left open: ../testsuite/data/.festivalrc
closing a file left open: /usr/src/redhat/SOURCES/festival/lib/init.scm
festival: fatal error exiting.
voice script status: FAILED

test modes (script)
text modes
SIOD ERROR: unbound variable
voice_rab_diphone
closing a file left open: ../testsuite/data/.festivalrc
closing a file left open: /usr/src/redhat/SOURCES/festival/lib/init.scm
festival: fatal error exiting.
modes script status: FAILED

test parse (script)
SIOD ERROR: unbound variable
voice_rab_diphone
parse script completed
1a2,21
> (("NT00"
> ("NT14"
> ("NT06" ("NT01" ("jj" "Probabilistic")) ("NT07" ("nns" "grammars")))
> ("NT17"
> ("NT04" ("vbp" "are"))
> ("NT08"
> ("NT16" ("jj" "easy"))
> ("NT09"
> ("NT15" ("to" "to"))
> ("NT08"
> ("NT04" ("vb" "use"))
> ("NT08"
> ("NT04" ("punc" ","))
> ("NT09"
> ("NT15" ("cc" "but"))
> ("NT08"
> ("NT16" ("jj" "difficult"))
> ("NT09" ("NT15" ("to" "to")) ("NT08" ("vb" "train")))))))))))
> ("NT13" ("punc" "."))))
>
parse script status: INCORRECT

test scherr (script)
scherr script completed
4,7c4,9
< voice_rab_diphone
< closing a file left open: ../testsuite/data/.festivalrc
< closing a file left open:
/usr/src/redhat/SOURCES/festival/lib/init.scm
< festival: fatal error exiting.

---
> ###########################################################################
> closing a file left open: Makefile
> SIOD ERROR: unbound variable 
> printtt
> closing a file left open: data/scherr.scm
> caught the error
8a11,16
> Festival Speech Synthesis System 1.4.1:release November 1999
> Copyright (C) University of Edinburgh, 1996-1999. All rights reserved.
> For details type `(festival_warranty)'
> festival> SIOD ERROR: unbound variable 
> ###########################################################################
> closing a file left open: Makefile
10,13c18,21
< voice_rab_diphone
< closing a file left open: ../testsuite/data/.festivalrc
< closing a file left open:
/usr/src/redhat/SOURCES/festival/lib/init.scm
< festival: fatal error exiting.
---
> printtt
> closing a file left open: data/scherr.scm
> caught the error
> festival> festival> 
scherr script status: INCORRECT

So, I will give up on festival until a more current version comes out that works with RH 7.x, or when I have the time to debug it.

D. Stimits, stimits_AT_idcomm.com


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Sat Jun 23 2001 - 10:49:44 EEST