void russian_init(cst_utterance *u) { feat_set(u->features,"phoneset",phoneset_val(&ru_phoneset)); feat_set_string(u->features,"silence",ru_phoneset.silence); feat_set(u->features,"textanalysis_func",uttfunc_val(&russian_textanalysis)); feat_set(u->features,"lexical_insertion_func",uttfunc_val(&russian_lexical_insertion)); feat_set(u->features,"phrasing_func",uttfunc_val(&russian_phrasify)); feat_set(u->features,"pause_insertion_func",uttfunc_val(&russian_pause_insertion)); feat_set(u->features,"intonation_func",uttfunc_val(&do_nothing)); feat_set(u->features,"postlex_func",uttfunc_val(russian_postlex_function)); feat_set(u->features,"duration_model_func",uttfunc_val(do_nothing)); feat_set(u->features,"f0_model_func",uttfunc_val(do_nothing)); feat_set_string(u->features,"no_segment_duration_model","1"); feat_set_string(u->features,"no_f0_target_model","1"); feat_set(u->features,"wave_synth_func",uttfunc_val(&hts_synth)); ru_ff_register(u->ffunctions); }
void usenglish_init(cst_voice *v) { us_text_init(); /* utterance break function */ feat_set(v->features,"utt_break",breakfunc_val(&default_utt_break)); /* Phoneset */ feat_set(v->features,"phoneset",phoneset_val(&us_phoneset)); feat_set_string(v->features,"silence",us_phoneset.silence); /* Text analyser */ feat_set_string(v->features,"text_whitespace",us_english_whitespace); feat_set_string(v->features,"text_postpunctuation",us_english_punctuation); feat_set_string(v->features,"text_prepunctuation", us_english_prepunctuation); feat_set_string(v->features,"text_singlecharsymbols", us_english_singlecharsymbols); feat_set(v->features,"tokentowords_func",itemfunc_val(&us_tokentowords)); /* very simple POS tagger */ feat_set(v->features,"pos_tagger_cart",cart_val(&us_pos_cart)); /* Phrasing */ feat_set(v->features,"phrasing_cart",cart_val(&us_phrasing_cart)); /* Intonation */ feat_set(v->features,"int_cart_accents",cart_val(&us_int_accent_cart)); feat_set(v->features,"int_cart_tones",cart_val(&us_int_tone_cart)); #ifndef FLITE_PLUS_HTS_ENGINE /* Duration */ feat_set(v->features,"dur_cart",cart_val(&us_durz_cart)); feat_set(v->features,"dur_stats",dur_stats_val((dur_stats *)us_dur_stats)); /* f0 model */ feat_set(v->features,"f0_model_func",uttfunc_val(&us_f0_model)); #endif /* !FLITE_PLUS_HTS_ENGINE */ us_ff_register(v->ffunctions); }
void cmu_LANGNAME_lang_init(cst_voice *v) { /* Set LANGNAME language stuff */ feat_set_string(v->features,"language","cmu_LANGNAME_lang"); /* utterance break function */ feat_set(v->features,"utt_break",breakfunc_val(&default_utt_break)); /* Phoneset -- need to get this from voice */ feat_set(v->features,"phoneset",phoneset_val(&cmu_LANGNAME_phoneset)); feat_set_string(v->features,"silence",cmu_LANGNAME_phoneset.silence); /* Get information from voice and add to lexicon */ /* Text analyser -- whitespace defaults */ feat_set_string(v->features,"text_whitespace", cst_ts_default_whitespacesymbols); feat_set_string(v->features,"text_postpunctuation", cst_ts_default_prepunctuationsymbols); feat_set_string(v->features,"text_prepunctuation", cst_ts_default_postpunctuationsymbols); feat_set_string(v->features,"text_singlecharsymbols", cst_ts_default_singlecharsymbols); /* Tokenization tokenization function */ feat_set(v->features,"tokentowords_func",itemfunc_val(&cmu_LANGNAME_tokentowords)); /* Pos tagger (gpos)/induced pos */ /* Phrasing */ /* feat_set(v->features,"phrasing_cart",cart_val(&cmu_LANGNAME_phrasing_cart)); */ /* Intonation, Duration and F0 -- part of cg */ feat_set_string(v->features,"no_intonation_accent_model","1"); /* Default ffunctions (required) */ basic_ff_register(v->ffunctions); return; }