[prev in list] [next in list] [prev in thread] [next in thread] 

List:       festvox-talk
Subject:    Re: (1) Diphone compatibility on festival-1.96 and (2) error importing EST_Utterance at phone_length
From:       "Nickolay V. Shmyrev" <nshmyrev () yandex ! ru>
Date:       2008-09-16 9:04:08
Message-ID: 885851221555848 () webmail39 ! yandex ! ru
[Download RAW message or body]

16.09.08, 11:09, "Josaf?Pontes" <jehosha@yahoo.com>:
> 
> Dear Nickolay,

Hi Josafa!

> (1)
> I installed swig-1.31 andthespeech_tools-1.2.96-beta from festlang svn and it
> it compiled speech_tools just fine. However, when installing festival-1.96-beta \
> downloaded from festvox.org (Primary US site), I could not succeed making it with \
> the module 'diphone'.

You can checkout festival from festlang btw as well, it has some minor improvements \
for multisyn but minor ones.

> First, I had to manually create the file festival/src/modules/diphone /diphone.mak \
> that was missing, based on rxp.mak. This file is attached with this message for \
> reference. Second, I uncommented the line ALSO_INCLUDE += diphone, in the file \
> festival/config/config.in. When making festival, it returns to me the following \
> error: 
> di_io.cc: In function `void load_index(DIPHONE_DATABASE*)':
> di_io.cc:111: error: ambiguous overload for 'operator=' in 'line =
> šš EST_TokenStream::get_upto_eoln()()'
> ../../../../speech_tools/include/EST_String.h:477: error: candidates are:
> šš EST_String& EST_String::operator=(const char*)
> ../../../../speech_tools/include/EST_String.h:479: error:
> šš EST_String& EST_String::operator=(char)
> ../../../../speech_tools/include/EST_String.h:481: error:
> šš EST_String& EST_String::operator=(const EST_String&)
> make[3]: *** [di_io.o] Error 1
> make[2]: *** [diphone] Error 2
> rm init_modules.o
> make[1]: *** [modules] Error 2
> make: *** [src] Error 2
> 
> Now, my question is: Isn't diphone module not supported anymore in the version 1.96 \
> of festival? I still can run my French diphone voice the way it is with \
> festival-1.96, but I wonder if it is still possible to make changes to it and \
> recompile it without the referred diphone module.

Diphone module is obsolete, diphone voices work through UniSyn, so you don't need to \
include them. It needs cleanup but in general you can just leave it commented.  
> (2)
> 
> Then, I commented again the line ALSO_INCLUDE += diphone and it compiled properly. \
> In the sequence, I installed festvox-2.1 and multisyn_build-1.11. 
> At festival prompt, I type *modules* and it returns :
> (module_description
> šMultiSynš hts_engineš clunitsš rxpš UniSyn_diphoneš parserš donovanš UniSynš \
> linux16audio) 
> Then, I follow the script NOTES found inside the archive multisyn_build/doc, for \
> creation of a new MultiSyn Unit Selection voice. When I arrive at step 13 (Generate \
> utterances), a problem occurs. There, it instructs to execute the script: 
> $MULTISYN_BUILD/bin/phone_lengths dur lab utts.data
> 
> The error message displayed is:
> 
> Traceback (most recent call last):
> š File "/usr/local/speech-synth/multisyn_build/bin/phone_lengths", line 18, in ?
> ššš import EST_Utterance
> ImportError: No module named EST_Utterance
> 
> Should this EST_Utterance be listed when I type *modules* in festival?
> Any clue for this import error?
> 

This is purely Python issue, it's not related to festival modules at all. You need to \
understand how Python module work. First of all EST_Utterance.so should be created in \
wrappers, it must be a small binary with only wrappres. Python must find it \
automatically since path is hardcoded in multisyn_build, but if not please adjust \
SPEECHTOOLS_DIR and check PYTHON_PATH as well.

Second, this .so module depends on main festival shared libraries (you must use \
OPT_SHARED=2) which are built in speech_tools/lib like libestbase.so libestbase.so.1 \
and so on. It's possible that dynamic linker fails to find those libraries. You can \
check it with something like "ldd EST_Utternace.so" and if needed you can either copy \
the libraries to /usr/lib or adjust environment variable LD_LIBRARY_PATH.


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic