cst_voice *register_cmu_us_kal16(const char *voxdir) { cst_voice *v = new_voice(); usenglish_init(v); /* Set up basic values for synthesizing with this voice */ feat_set_string(v->features,"name","cmu_us_kal_diphone"); /* Lexicon */ cmu_lex_init(); feat_set(v->features,"lexicon",lexicon_val(&cmu_lex)); /* Intonation */ feat_set_float(v->features,"int_f0_target_mean",105.0); feat_set_float(v->features,"int_f0_target_stddev",14.0); /* Post lexical rules */ feat_set(v->features,"postlex_func",uttfunc_val(&cmu_us_kal_postlex)); /* Duration */ feat_set_float(v->features,"duration_stretch",1.1); /* Waveform synthesis: diphone_synth */ feat_set(v->features,"wave_synth_func",uttfunc_val(&diphone_synth)); feat_set(v->features,"diphone_db",diphone_db_val(&cmu_us_kal_db)); feat_set_int(v->features,"sample_rate",cmu_us_kal_db.sts->sample_rate); feat_set_string(v->features,"resynth_type","fixed"); feat_set_string(v->features,"join_type","modified_lpc"); cmu_us_kal_diphone = v; return cmu_us_kal_diphone; }
cst_voice *register_cmu_us_kal(const char *voxdir) { cst_voice *v; cst_lexicon *lex; if (cmu_us_kal_diphone) return cmu_us_kal_diphone; /* Already registered */ v = new_voice(); v->name = "kal"; /* Set up basic values for synthesizing with this voice */ usenglish_init(v); #ifndef FLITE_PLUS_HTS_ENGINE flite_feat_set_string(v->features,"name","cmu_us_kal_diphone"); #endif /* !FLITE_PLUS_HTS_ENGINE */ /* Lexicon */ lex = cmu_lex_init(); flite_feat_set(v->features,"lexicon",lexicon_val(lex)); #ifndef FLITE_PLUS_HTS_ENGINE /* Intonation */ flite_feat_set_float(v->features,"int_f0_target_mean",95.0); flite_feat_set_float(v->features,"int_f0_target_stddev",11.0); flite_feat_set_float(v->features,"duration_stretch",1.1); #endif /* !FLITE_PLUS_HTS_ENGINE */ /* Post lexical rules */ flite_feat_set(v->features,"postlex_func",uttfunc_val(&cmu_us_kal_postlex)); #ifndef FLITE_PLUS_HTS_ENGINE /* Waveform synthesis: diphone_synth */ flite_feat_set(v->features,"wave_synth_func",uttfunc_val(&diphone_synth)); flite_feat_set(v->features,"diphone_db",diphone_db_val(&cmu_us_kal_db)); flite_feat_set_int(v->features,"sample_rate",cmu_us_kal_db.sts->sample_rate); flite_feat_set_string(v->features,"resynth_type","fixed"); flite_feat_set_string(v->features,"join_type","modified_lpc"); #endif /* !FLITE_PLUS_HTS_ENGINE */ cmu_us_kal_diphone = v; return cmu_us_kal_diphone; }
cst_voice *register_cmu_us_kal16(const char *voxdir) { cst_voice *v; cst_lexicon *lex; if (cmu_us_kal16_diphone) return cmu_us_kal16_diphone; /* Already registered */ v = new_voice(); v->name = "kal16"; /* Sets up language specific parameters in the cmu_us_kal16. */ usenglish_init(v); feat_set_string(v->features,"name","cmu_us_kal16"); feat_set_float(v->features,"int_f0_target_mean",95.0); feat_set_float(v->features,"int_f0_target_stddev",11.0); feat_set_float(v->features,"duration_stretch",1.1); /* Lexicon */ lex = cmu_lex_init(); feat_set(v->features,"lexicon",lexicon_val(lex)); feat_set(v->features,"postlex_func",uttfunc_val(lex->postlex)); /* Waveform synthesis */ feat_set(v->features,"wave_synth_func",uttfunc_val(&diphone_synth)); feat_set(v->features,"diphone_db",diphone_db_val(&cmu_us_kal16_db)); feat_set_int(v->features,"sample_rate",cmu_us_kal16_db.sts->sample_rate); /* feat_set_string(v->features,"join_type","simple_join"); */ feat_set_string(v->features,"join_type","modified_lpc"); feat_set_string(v->features,"resynth_type","fixed"); cmu_us_kal16_diphone = v; return cmu_us_kal16_diphone; }