festival-lutin/lutin_festival.py

236 lines
8.9 KiB
Python

#!/usr/bin/python
import lutin.module as module
import lutin.tools as tools
import os
def get_desc():
return "festival TTS engine"
def create(target):
my_module = module.Module(__file__, 'festival', 'LIBRARY')
#my_module.add_module_depend(['estools', 'estbase', 'eststring'])
my_module.add_module_depend([
'estbase-audio',
'estbase-base_class',
'estbase-ling_class',
'estbase-rxp',
'estbase-utils',
'estools-grammar',
'estools-intonation',
'estools-sigpr',
'estools-siod',
'estools-speech_class',
'estools-stats'
])
my_module.add_src_file([
'festival/src/arch/festival/festival.cc',
'festival/src/arch/festival/web.cc',
'festival/src/arch/festival/linreg.cc',
'festival/src/arch/festival/Phone.cc',
'festival/src/arch/festival/wave.cc',
'festival/src/arch/festival/tcl.cc',
'festival/src/arch/festival/audspio.cc',
'festival/src/arch/festival/utterance.cc',
'festival/src/arch/festival/viterbi.cc',
'festival/src/arch/festival/features.cc',
'festival/src/arch/festival/wagon_interp.cc',
'festival/src/arch/festival/wfst.cc',
'festival/src/arch/festival/server.cc',
'festival/src/arch/festival/client.cc',
'festival/src/arch/festival/ngram.cc',
'festival/src/arch/festival/ModuleDescription.cc'
])
my_module.add_src_file([
'festival/src/modules/base/parameters.cc',
'festival/src/modules/base/phrasify.cc',
'festival/src/modules/base/phrinfo.cc',
'festival/src/modules/base/postlex.cc',
'festival/src/modules/base/word.cc',
'festival/src/modules/base/pos.cc',
'festival/src/modules/base/modules.cc',
'festival/src/modules/base/ff.cc',
'festival/src/modules/base/module_support.cc'
])
# all plugins:
my_module.add_src_file([
'festival/src/modules/UniSyn/us_unit.cc',
'festival/src/modules/UniSyn/us_prosody.cc',
'festival/src/modules/UniSyn/ps_synthesis.cc',
'festival/src/modules/UniSyn/us_mapping.cc',
'festival/src/modules/UniSyn/UniSyn.cc',
'festival/src/modules/UniSyn/us_features.cc'
])
my_module.add_src_file([
'festival/src/modules/Intonation/simple.cc',
'festival/src/modules/Intonation/duffint.cc',
'festival/src/modules/Intonation/int_aux.cc',
'festival/src/modules/Intonation/gen_int.cc',
'festival/src/modules/Intonation/int_tree.cc'
])
my_module.add_src_file([
'festival/src/modules/UniSyn_diphone/UniSyn_diphone.cc',
'festival/src/modules/UniSyn_diphone/us_diphone_index.cc',
'festival/src/modules/UniSyn_diphone/us_diphone_unit.cc'
])
"""
my_module.add_src_file([
'festival/src/modules/UniSyn_phonology/UniSyn_phonology.cc',
'festival/src/modules/UniSyn_phonology/unisyn_tilt.cc',
'festival/src/modules/UniSyn_phonology/subword.cc',
'festival/src/modules/UniSyn_phonology/us_duration.cc',
'festival/src/modules/UniSyn_phonology/syllabify.cc',
'festival/src/modules/UniSyn_phonology/mettree.cc',
'festival/src/modules/UniSyn_phonology/us_aux.cc',
'festival/src/modules/UniSyn_phonology/UniSyn_build.cc' # pb compiling ...
])
"""
my_module.add_src_file([
'festival/src/modules/donovan/coeffs.c',
'festival/src/modules/donovan/donovan.cc',
'festival/src/modules/donovan/durations.c',
'festival/src/modules/donovan/excitation.c',
'festival/src/modules/donovan/load_diphs.c',
'festival/src/modules/donovan/makewav.c',
'festival/src/modules/donovan/pitch.c',
])
my_module.add_src_file([
'festival/src/modules/Text/text_modes.cc',
'festival/src/modules/Text/tok_ext.cc',
'festival/src/modules/Text/text.cc',
'festival/src/modules/Text/token.cc',
'festival/src/modules/Text/xxml.cc',
'festival/src/modules/Text/token_pos.cc',
'festival/src/modules/Text/text_aux.cc'
])
my_module.add_src_file([
'festival/src/modules/clustergen/HTS_vocoder_me.cc', # request include : festival/src/modules/hts_engine
'festival/src/modules/clustergen/mlsa_resynthesis.cc',
'festival/src/modules/clustergen/simple_mlpg.cc',
'festival/src/modules/clustergen/vc.cc',
'festival/src/modules/clustergen/clustergen.cc'
])
my_module.add_export_path(os.path.join(tools.get_current_path(__file__), "festival/src/modules/hts_engine"))
"""
my_module.add_src_file([
'festival/src/modules/diphone/di_select.cc',
'festival/src/modules/diphone/di_pitch.cc',
'festival/src/modules/diphone/di_io.cc',
'festival/src/modules/diphone/oc.cc',
'festival/src/modules/diphone/di_psola.cc',
'festival/src/modules/diphone/di_reslpc.cc',
'festival/src/modules/diphone/diphone.cc'
])
"""
my_module.add_src_file([
'festival/src/modules/Duration/duration.cc',
'festival/src/modules/Duration/dur_aux.cc',
'festival/src/modules/Duration/Klatt.cc'
])
my_module.add_src_file([
'festival/src/modules/hts_engine/fest2hts_engine.cc',
'festival/src/modules/hts_engine/HTS_audio.c',
'festival/src/modules/hts_engine/HTS_engine.c',
'festival/src/modules/hts_engine/HTS_engine.c',
'festival/src/modules/hts_engine/HTS_gstream.c',
'festival/src/modules/hts_engine/HTS_label.c',
'festival/src/modules/hts_engine/HTS_misc.c',
'festival/src/modules/hts_engine/HTS_model.c',
'festival/src/modules/hts_engine/HTS_pstream.c',
'festival/src/modules/hts_engine/HTS_sstream.c',
#'festival/src/modules/hts_engine/HTS_vocoder.c'
])
my_module.add_src_file([
'festival/src/modules/clunits/cldb.cc',
'festival/src/modules/clunits/clunits.cc',
'festival/src/modules/clunits/acost.cc',
'festival/src/modules/clunits/cljoin.cc' # request finclude estival/src/modules/UniSyn
])
my_module.add_export_path(os.path.join(tools.get_current_path(__file__), "festival/src/modules/UniSyn"))
my_module.add_src_file([
'festival/src/modules/rxp/ttsxml.cc' # request include : speech_tools/include/rxp
])
my_module.add_export_path(os.path.join(tools.get_current_path(__file__), "speech_tools/include/rxp"))
my_module.compile_flags('c++', "-DCHAR_SIZE=8")
my_module.add_src_file([
'festival/src/modules/Lexicon/complex.cc',
'festival/src/modules/Lexicon/lts.cc',
'festival/src/modules/Lexicon/lexicon.cc',
'festival/src/modules/Lexicon/lex_ff.cc',
'festival/src/modules/Lexicon/lex_aux.cc',
'festival/src/modules/Lexicon/lts_rules.cc'
])
my_module.add_src_file([
'festival/src/modules/parser/pparser.cc'
])
my_module.add_src_file([
'festival/src/modules/MultiSyn/EST_JoinCost.cc',
'festival/src/modules/MultiSyn/DiphoneUnitVoice.cc',
'festival/src/modules/MultiSyn/inst_tmpl/list_itemp_t.cc',
'festival/src/modules/MultiSyn/inst_tmpl/hash_itemp_tcdatap_t.cc',
'festival/src/modules/MultiSyn/inst_tmpl/list_voicemodulep_t.cc',
'festival/src/modules/MultiSyn/inst_tmpl/list_scorepair_t.cc',
'festival/src/modules/MultiSyn/inst_tmpl/hash_s_itemlistp_t.cc',
'festival/src/modules/MultiSyn/inst_tmpl/list_strlist_t.cc',
'festival/src/modules/MultiSyn/inst_tmpl/list_uttp_t.cc',
'festival/src/modules/MultiSyn/inst_tmpl/vector_jccp_t.cc',
'festival/src/modules/MultiSyn/DiphoneBackoff.cc',
'festival/src/modules/MultiSyn/EST_DiphoneCoverage.cc',
'festival/src/modules/MultiSyn/EST_TargetCost.cc',
'festival/src/modules/MultiSyn/EST_JoinCostCache.cc',
'festival/src/modules/MultiSyn/DiphoneVoiceModule.cc',
'festival/src/modules/MultiSyn/VoiceModuleBase.cc',
'festival/src/modules/MultiSyn/VoiceBase.cc',
'festival/src/modules/MultiSyn/UnitSelection.cc',
'festival/src/modules/MultiSyn/EST_FlatTargetCost.cc',
'festival/src/modules/MultiSyn/TargetCostRescoring.cc'
])
my_module.add_export_path(os.path.join(tools.get_current_path(__file__), "festival/src/modules/MultiSyn"))
my_module.add_export_path(os.path.join(tools.get_current_path(__file__), "festival/src/modules/MultiSyn/inst_tmpl"))
# load all modules
my_module.add_src_file([
'init_modules.cc'
])
my_module.add_export_path(os.path.join(tools.get_current_path(__file__), "festival/src/modules"))
my_module.compile_flags('c++', "-fno-implicit-templates")
my_module.compile_flags('c++', "-DINSTANTIATE_TEMPLATES")
my_module.compile_flags('c++', "-DFTNAME='Festival Speech Synthesis System'")
my_module.compile_flags('c++', "-DFTLIBDIRC='" + tools.get_current_path(__file__) + "/festival/lib '")
my_module.compile_flags('c++', "-DFTVERSION='2.4'")
my_module.compile_flags('c++', "-DFTSTATE='release'")
my_module.compile_flags('c++', "-DFTDATE='December 2014'")
my_module.compile_flags('c++', "-DFTSTATE='release'")
my_module.compile_flags('c++', '-DFTOSTYPE=\\"unknown_DebianGNULinux\\"')
my_module.compile_version_CC(1999)
# TODO: copy in install folder ...
my_module.add_export_path(os.path.join(tools.get_current_path(__file__), "festival/src/include"))
my_module.add_export_path(os.path.join(tools.get_current_path(__file__), "speech_tools/include"))
#my_module.add_export_path(tools.get_current_path(__file__) + "/festival/src/include")
my_module.compile_version_XX(2003)
my_module.add_export_flag('link', "-lncurses")
my_module.add_export_flag('link', "-lasound")
my_module.add_export_flag('link', "-ldl")
my_module.add_export_flag('link', "-lm")
my_module.add_export_flag('link', "-lstdc++")
return my_module