static void Open_JTalk_initialize(Open_JTalk * open_jtalk) { Mecab_initialize(&open_jtalk->mecab); NJD_initialize(&open_jtalk->njd); JPCommon_initialize(&open_jtalk->jpcommon); HTS_Engine_initialize(&open_jtalk->engine); }
void OpenJTalk_initialize(OpenJTalk * open_jtalk, HTS_Boolean use_lpf, int sampling_rate, int fperiod, double alpha, int stage, double beta, int audio_buff_size, double uv_threshold, HTS_Boolean use_log_gain, double gv_weight_mgc, double gv_weight_lf0, double gv_weight_lpf) { Mecab_initialize(&open_jtalk->mecab); NJD_initialize(&open_jtalk->njd); JPCommon_initialize(&open_jtalk->jpcommon); if (use_lpf) HTS_Engine_initialize(&open_jtalk->engine, 3); else HTS_Engine_initialize(&open_jtalk->engine, 2); HTS_Engine_set_sampling_rate(&open_jtalk->engine, sampling_rate); HTS_Engine_set_fperiod(&open_jtalk->engine, fperiod); HTS_Engine_set_alpha(&open_jtalk->engine, alpha); HTS_Engine_set_gamma(&open_jtalk->engine, stage); HTS_Engine_set_log_gain(&open_jtalk->engine, use_log_gain); HTS_Engine_set_beta(&open_jtalk->engine, beta); HTS_Engine_set_audio_buff_size(&open_jtalk->engine, audio_buff_size); HTS_Engine_set_msd_threshold(&open_jtalk->engine, 1, uv_threshold); HTS_Engine_set_gv_weight(&open_jtalk->engine, 0, gv_weight_mgc); HTS_Engine_set_gv_weight(&open_jtalk->engine, 1, gv_weight_lf0); if (use_lpf) HTS_Engine_set_gv_weight(&open_jtalk->engine, 2, gv_weight_lpf); }
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; }
void TextToSpeech::initialize( int sampling_rate, int fperiod, double alpha, int stage, double beta, int audio_buff_size, double uv_threshold, HTS_Boolean use_log_gain, double gv_weight_mgc, double gv_weight_lf0, double gv_weight_lpf) { Mecab_initialize(&open_jtalk_.mecab); NJD_initialize(&open_jtalk_.njd); JPCommon_initialize(&open_jtalk_.jpcommon); HTS_Engine_initialize(&open_jtalk_.engine, 2); HTS_Engine_set_sampling_rate(&open_jtalk_.engine, sampling_rate); HTS_Engine_set_fperiod(&open_jtalk_.engine, fperiod); HTS_Engine_set_alpha(&open_jtalk_.engine, alpha); HTS_Engine_set_gamma(&open_jtalk_.engine, stage); HTS_Engine_set_log_gain(&open_jtalk_.engine, use_log_gain); HTS_Engine_set_beta(&open_jtalk_.engine, beta); HTS_Engine_set_audio_buff_size(&open_jtalk_.engine, audio_buff_size); HTS_Engine_set_msd_threshold(&open_jtalk_.engine, 1, uv_threshold); HTS_Engine_set_gv_weight(&open_jtalk_.engine, 0, gv_weight_mgc); HTS_Engine_set_gv_weight(&open_jtalk_.engine, 1, gv_weight_lf0); }