Exemple #1
0
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);
}
Exemple #3
0
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;
}
Exemple #4
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);
}