Exemple #1
0
/* HTS_Engine_clear: free engine */
void HTS_Engine_clear(HTS_Engine * engine)
{
   size_t i;

   if (engine->condition.msd_threshold != NULL)
      HTS_free(engine->condition.msd_threshold);
   if (engine->condition.duration_iw != NULL)
      HTS_free(engine->condition.duration_iw);
   if (engine->condition.gv_weight != NULL)
      HTS_free(engine->condition.gv_weight);
   if (engine->condition.parameter_iw != NULL) {
      for (i = 0; i < HTS_ModelSet_get_nstream(&engine->ms); i++)
         HTS_free(engine->condition.parameter_iw[i]);
      HTS_free(engine->condition.parameter_iw);
   }
   if (engine->condition.gv_iw != NULL) {
      for (i = 0; i < HTS_ModelSet_get_nstream(&engine->ms); i++)
         HTS_free(engine->condition.gv_iw[i]);
      HTS_free(engine->condition.gv_iw);
   }

   HTS_ModelSet_clear(&engine->ms);
   HTS_Audio_clear(&engine->audio);
   HTS_Engine_initialize(engine);
}
Exemple #2
0
/* HTS_Engine_clear: free engine */
void HTS_Engine_clear(HTS_Engine * engine)
{
   if (engine->condition.msd_threshold != NULL)
      cst_free(engine->condition.msd_threshold);

   HTS_ModelSet_clear(&engine->ms);
   HTS_Engine_initialize(engine);
}
Exemple #3
0
/* HTS_ModelSet_load_gv: load GV model */
HTS_Boolean HTS_ModelSet_load_gv(HTS_ModelSet * ms, HTS_File ** pdf_fp, HTS_File ** tree_fp, int stream_index, int interpolation_size)
{
   int i;

   /* check */
   if (ms == NULL) {
      return FALSE;
   }
   if (stream_index < 0 || stream_index >= ms->nstream || interpolation_size <= 0) {
      HTS_ModelSet_clear(ms);
      return FALSE;
   }
   if (pdf_fp == NULL) {
      HTS_error(1, "HTS_ModelSet_load_gv: File for GV pdfs is not specified.\n");
      HTS_ModelSet_clear(ms);
      return FALSE;
   }
   /* initialize */
   if (!ms->gv) {
      ms->gv = (HTS_Stream *) HTS_calloc(ms->nstream, sizeof(HTS_Stream));
      for (i = 0; i < ms->nstream; i++)
         HTS_Stream_initialize(&ms->gv[i]);
   }
   if (tree_fp) {
      if (HTS_Stream_load_pdf_and_tree(&ms->gv[stream_index], pdf_fp, tree_fp, interpolation_size) == FALSE) {
         HTS_ModelSet_clear(ms);
         return FALSE;
      }
   } else {
      if (HTS_Stream_load_pdf(&ms->gv[stream_index], pdf_fp, 1, interpolation_size) == FALSE) {
         HTS_ModelSet_clear(ms);
         return FALSE;
      }
   }

   return TRUE;
}
/* HTS_Engine_clear: free engine */
void HTS_Engine_clear(HTS_Engine * engine)
{
    int i;

    HTS_free(engine->global.msd_threshold);
    HTS_free(engine->global.duration_iw);
    for (i = 0; i < HTS_ModelSet_get_nstream(&engine->ms); i++) {
        HTS_free(engine->global.parameter_iw[i]);
        if (engine->global.gv_iw[i])
            HTS_free(engine->global.gv_iw[i]);
    }
    HTS_free(engine->global.parameter_iw);
    HTS_free(engine->global.gv_iw);
    HTS_free(engine->global.gv_weight);

    HTS_ModelSet_clear(&engine->ms);
}
Exemple #5
0
/* HTS_ModelSet_load_parameter: load model */
HTS_Boolean HTS_ModelSet_load_parameter(HTS_ModelSet * ms, HTS_File ** pdf_fp, HTS_File ** tree_fp, HTS_File ** win_fp, int stream_index, int window_size, int interpolation_size)
{
   int i;

   /* check */
   if (ms == NULL) {
      return FALSE;
   }
   if (stream_index < 0 || stream_index >= ms->nstream || window_size <= 0 || interpolation_size <= 0) {
      HTS_ModelSet_clear(ms);
      return FALSE;
   }
   if (pdf_fp == NULL) {
      HTS_error(1, "HTS_ModelSet_load_parameter: File for pdfs is not specified.\n");
      HTS_ModelSet_clear(ms);
      return FALSE;
   }
   if (tree_fp == NULL) {
      HTS_error(1, "HTS_ModelSet_load_parameter: File for wins is not specified.\n");
      HTS_ModelSet_clear(ms);
      return FALSE;
   }
   if (win_fp == NULL) {
      HTS_error(1, "HTS_ModelSet_load_parameter: File for wins is not specified.\n");
      HTS_ModelSet_clear(ms);
      return FALSE;
   }
   /* initialize */
   if (!ms->stream) {
      ms->stream = (HTS_Stream *) HTS_calloc(ms->nstream, sizeof(HTS_Stream));
      for (i = 0; i < ms->nstream; i++)
         HTS_Stream_initialize(&ms->stream[i]);
   }
   /* load */
   if (HTS_Stream_load_pdf_and_tree(&ms->stream[stream_index], pdf_fp, tree_fp, interpolation_size) == FALSE) {
      HTS_ModelSet_clear(ms);
      return FALSE;
   }
   if (HTS_Stream_load_dynamic_window(&ms->stream[stream_index], win_fp, window_size) == FALSE) {
      HTS_ModelSet_clear(ms);
      return FALSE;
   }

   return TRUE;
}