void TextToSpeech::load( char *dn_mecab, char *fn_ms_dur, char *fn_ts_dur, char *fn_ms_mgc, char *fn_ts_mgc, char **fn_ws_mgc, int num_ws_mgc, char *fn_ms_lf0, char *fn_ts_lf0, char **fn_ws_lf0, int num_ws_lf0, char *fn_ms_lpf, char *fn_ts_lpf, char **fn_ws_lpf, int num_ws_lpf, char *fn_ms_gvm, char *fn_ts_gvm, char *fn_ms_gvl, char *fn_ts_gvl, char *fn_ms_gvf, char *fn_ts_gvf, char *fn_gv_switch) { Mecab_load(&open_jtalk_.mecab, dn_mecab); HTS_Engine_load_duration_from_fn(&open_jtalk_.engine, &fn_ms_dur, &fn_ts_dur, 1); HTS_Engine_load_parameter_from_fn(&open_jtalk_.engine, &fn_ms_mgc, &fn_ts_mgc, fn_ws_mgc, 0, FALSE, num_ws_mgc, 1); HTS_Engine_load_parameter_from_fn(&open_jtalk_.engine, &fn_ms_lf0, &fn_ts_lf0, fn_ws_lf0, 1, TRUE, num_ws_lf0, 1); if (HTS_Engine_get_nstream(&open_jtalk_.engine) == 3) HTS_Engine_load_parameter_from_fn(&open_jtalk_.engine, &fn_ms_lpf, &fn_ts_lpf, fn_ws_lpf, 2, FALSE, num_ws_lpf, 1); if (fn_ms_gvm != NULL) { if (fn_ts_gvm != NULL) HTS_Engine_load_gv_from_fn(&open_jtalk_.engine, &fn_ms_gvm, &fn_ts_gvm, 0, 1); else HTS_Engine_load_gv_from_fn(&open_jtalk_.engine, &fn_ms_gvm, NULL, 0, 1); } if (fn_ms_gvl != NULL) { if (fn_ts_gvl != NULL) HTS_Engine_load_gv_from_fn(&open_jtalk_.engine, &fn_ms_gvl, &fn_ts_gvl, 1, 1); else HTS_Engine_load_gv_from_fn(&open_jtalk_.engine, &fn_ms_gvl, NULL, 1, 1); } if (HTS_Engine_get_nstream(&open_jtalk_.engine) == 3 && fn_ms_gvf != NULL) { if (fn_ts_gvf != NULL) HTS_Engine_load_gv_from_fn(&open_jtalk_.engine, &fn_ms_gvf, &fn_ts_gvf, 2, 1); else HTS_Engine_load_gv_from_fn(&open_jtalk_.engine, &fn_ms_gvf, NULL, 2, 1); } if (fn_gv_switch != NULL) HTS_Engine_load_gv_switch_from_fn(&open_jtalk_.engine, fn_gv_switch); }
void TextToSpeech::load( const char *dn_mecab, const char *fn_ms_dur, const char *fn_ts_dur, const char *fn_ms_mgc, const char *fn_ts_mgc, const char **fn_ws_mgc, int num_ws_mgc, const char *fn_ms_lf0, const char *fn_ts_lf0, const char **fn_ws_lf0, int num_ws_lf0, const char *fn_ms_lpf, const char *fn_ts_lpf, const char **fn_ws_lpf, int num_ws_lpf, const char *fn_ms_gvm, const char *fn_ts_gvm, const char *fn_ms_gvl, const char *fn_ts_gvl, const char *fn_ms_gvf, const char *fn_ts_gvf, const char *fn_gv_switch) { Mecab_load(&open_jtalk_.mecab, const_cast<char *>(dn_mecab)); HTS_Engine_load_duration_from_fn(&open_jtalk_.engine, const_cast<char **>(&fn_ms_dur), const_cast<char **>(&fn_ts_dur), 1); HTS_Engine_load_parameter_from_fn(&open_jtalk_.engine, const_cast<char **>(&fn_ms_mgc), const_cast<char **>(&fn_ts_mgc), const_cast<char **>(fn_ws_mgc), 0, FALSE, num_ws_mgc, 1); HTS_Engine_load_parameter_from_fn(&open_jtalk_.engine, const_cast<char **>(&fn_ms_lf0), const_cast<char **>(&fn_ts_lf0), const_cast<char **>(fn_ws_lf0), 1, TRUE, num_ws_lf0, 1); if (HTS_Engine_get_nstream(&open_jtalk_.engine) == 3) HTS_Engine_load_parameter_from_fn(&open_jtalk_.engine, const_cast<char **>(&fn_ms_lpf), const_cast<char **>(&fn_ts_lpf), const_cast<char **>(fn_ws_lpf), 2, FALSE, num_ws_lpf, 1); if (fn_ms_gvm != NULL) { if (fn_ts_gvm != NULL) HTS_Engine_load_gv_from_fn(&open_jtalk_.engine, const_cast<char **>(&fn_ms_gvm), const_cast<char **>(&fn_ts_gvm), 0, 1); else HTS_Engine_load_gv_from_fn(&open_jtalk_.engine, const_cast<char **>(&fn_ms_gvm), NULL, 0, 1); } if (fn_ms_gvl != NULL) { if (fn_ts_gvl != NULL) HTS_Engine_load_gv_from_fn(&open_jtalk_.engine, const_cast<char **>(&fn_ms_gvl), const_cast<char **>(&fn_ts_gvl), 1, 1); else HTS_Engine_load_gv_from_fn(&open_jtalk_.engine, const_cast<char **>(&fn_ms_gvl), NULL, 1, 1); } if (HTS_Engine_get_nstream(&open_jtalk_.engine) == 3 && fn_ms_gvf != NULL) { if (fn_ts_gvf != NULL) HTS_Engine_load_gv_from_fn(&open_jtalk_.engine, const_cast<char **>(&fn_ms_gvf), const_cast<char **>(&fn_ts_gvf), 2, 1); else HTS_Engine_load_gv_from_fn(&open_jtalk_.engine, const_cast<char **>(&fn_ms_gvf), NULL, 2, 1); } if (fn_gv_switch != NULL) HTS_Engine_load_gv_switch_from_fn(&open_jtalk_.engine, const_cast<char *>(fn_gv_switch)); }
static int setup(struct app *app) { #ifdef HTS_MELP #define NR_STREAMS 3 #else #define NR_STREAMS 2 #endif /* HTS_MELP */ double gv_weight[] = { app->gv_weight_mgc, app->gv_weight_lf0, #ifdef HTS_MELP app->gv_weight_lpf #endif /* HTS_MELP */ }; int i; app->play_h = play_init(&app->play_info, "default", SND_PCM_FORMAT_S16_LE, 1, app->sampling_rate, 500000, 8); Mecab_initialize(&app->mecab); if (Mecab_load(&app->mecab, app->dn_mecab) != TRUE) return -1; NJD_initialize(&app->njd); JPCommon_initialize(&app->jpcommon); HTS_Engine_initialize(&app->engine); if (HTS_Engine_load(&app->engine, &app->fn_voice, 1) != TRUE) return -1; HTS_Engine_set_sampling_frequency(&app->engine, (size_t)app->sampling_rate); if (app->fperiod >= 0) HTS_Engine_set_fperiod(&app->engine, app->fperiod); if (app->alpha >= 0.0) HTS_Engine_set_alpha(&app->engine, app->alpha); if (app->beta >= 0.0) HTS_Engine_set_beta(&app->engine, app->beta); if (app->half_tone >= 0.0) HTS_Engine_add_half_tone(&app->engine, app->half_tone); if (app->audio_buff_size > 0) HTS_Engine_set_audio_buff_size(&app->engine, app->audio_buff_size); if (app->uv_threshold >= 0.0) HTS_Engine_set_msd_threshold(&app->engine, 1, app->uv_threshold); if (app->speed >= 0.0) HTS_Engine_set_speed(&app->engine, app->speed); for (i = 0; i < NR_STREAMS; i++) if (gv_weight[i] >= 0.0) HTS_Engine_set_gv_weight(&app->engine, i, gv_weight[i]); return 0; }
static int Open_JTalk_load(Open_JTalk * open_jtalk, char *dn_mecab, char *fn_voice) { if (Mecab_load(&open_jtalk->mecab, dn_mecab) != TRUE) { Open_JTalk_clear(open_jtalk); return 0; } if (HTS_Engine_load(&open_jtalk->engine, &fn_voice, 1) != TRUE) { Open_JTalk_clear(open_jtalk); return 0; } return 1; }