Пример #1
0
/* HTS_Engine_load_gv_switch_from_fn: load GV switch from file name */
void HTS_Engine_load_gv_switch_from_fn(HTS_Engine * engine, char *fn)
{
    FILE *fp = HTS_get_fp(fn, "r");

    HTS_Engine_load_gv_switch_from_fp(engine, fp);
    fclose(fp);
}
/* Flite_HTS_Engine_load: load files */
void Flite_HTS_Engine_load(Flite_HTS_Engine * f, FILE * fp_ms_dur,
                           FILE * fp_ts_dur, FILE * fp_ms_mcp, FILE * fp_ts_mcp,
                           FILE ** fp_ws_mcp, int num_ws_mcp, FILE * fp_ms_lf0,
                           FILE * fp_ts_lf0, FILE ** fp_ws_lf0, int num_ws_lf0,
                           FILE * fp_ms_gvm, FILE * fp_ts_gvm, FILE * fp_ms_gvl,
                           FILE * fp_ts_gvl, FILE * fp_gv_switch)
{
    HTS_Engine_load_duration_from_fp(&f->engine, &fp_ms_dur, &fp_ts_dur, 1);
    HTS_Engine_load_parameter_from_fp(&f->engine, &fp_ms_mcp, &fp_ts_mcp,
                                      fp_ws_mcp, 0, FALSE, num_ws_mcp, 1);
    HTS_Engine_load_parameter_from_fp(&f->engine, &fp_ms_lf0, &fp_ts_lf0,
                                      fp_ws_lf0, 1, TRUE, num_ws_lf0, 1);
    if (fp_ms_gvm != NULL) {
        if (fp_ts_gvm != NULL)
            HTS_Engine_load_gv_from_fp(&f->engine, &fp_ms_gvm, &fp_ts_gvm, 0, 1);
        else
            HTS_Engine_load_gv_from_fp(&f->engine, &fp_ms_gvm, NULL, 0, 1);
    }
    if (fp_ms_gvl != NULL) {
        if (fp_ts_gvl != NULL)
            HTS_Engine_load_gv_from_fp(&f->engine, &fp_ms_gvl, &fp_ts_gvl, 1, 1);
        else
            HTS_Engine_load_gv_from_fp(&f->engine, &fp_ms_gvl, NULL, 1, 1);
    }
    if (fp_gv_switch != NULL)
        HTS_Engine_load_gv_switch_from_fp(&f->engine, fp_gv_switch);
}