📄 hmm_03.cc
字号:
// read the config file // if (parser.isPresent(sof_a, PARAM_CONFIGURATION_FILE)) { if (!cnfg_file_d.readData(sof_a, PARAM_CONFIGURATION_FILE, parser.getEntry(sof_a, PARAM_CONFIGURATION_FILE))) { // return a warning message // return Error::handle(name(), L"readData", Error::READ, __FILE__, __LINE__, Error::WARNING); } } // read the front-end file // if (parser.isPresent(sof_a, PARAM_FRONT_END_FILE)) { if (!fend_file_d.readData(sof_a, PARAM_FRONT_END_FILE, parser.getEntry(sof_a, PARAM_FRONT_END_FILE))) { // return a warning message // return Error::handle(name(), L"readData", Error::READ, __FILE__, __LINE__, Error::WARNING); } } // read the updated model file // if (parser.isPresent(sof_a, PARAM_UPDATE_LANGUAGE_MODEL_FILE)) { if (!update_lm_model_file_d.readData(sof_a, PARAM_UPDATE_LANGUAGE_MODEL_FILE, parser.getEntry(sof_a, PARAM_UPDATE_LANGUAGE_MODEL_FILE))) { return Error::handle(name(), L"readData", Error::READ, __FILE__, __LINE__, Error::WARNING); } } // read the updated statistics file // if (parser.isPresent(sof_a, PARAM_UPDATE_ACOUSTIC_MODEL_FILE)) { if (!update_ac_model_file_d.readData(sof_a, PARAM_UPDATE_ACOUSTIC_MODEL_FILE, parser.getEntry(sof_a, PARAM_UPDATE_ACOUSTIC_MODEL_FILE))) { return Error::handle(name(), L"readData", Error::READ, __FILE__, __LINE__, Error::WARNING); } } // read the variance floor file // if (parser.isPresent(sof_a, PARAM_VAR_FLOOR_FILE)) { if (!variance_floor_file_d.readData(sof_a, PARAM_VAR_FLOOR_FILE, parser.getEntry(sof_a, PARAM_VAR_FLOOR_FILE))) { return Error::handle(name(), L"readData", Error::READ, __FILE__, __LINE__, Error::WARNING); } } // read the variance floor // if (parser.isPresent(sof_a, PARAM_VAR_FLOOR)) { if (!variance_floor_d.readData(sof_a, PARAM_VAR_FLOOR, parser.getEntry(sof_a, PARAM_VAR_FLOOR))) { return Error::handle(name(), L"readData", Error::READ, __FILE__, __LINE__, Error::WARNING); } } else { variance_floor_d.assign(DEF_VAR_FLOOR); } // read the beta threshold // if (parser.isPresent(sof_a, PARAM_BETA_THRESHOLD)) { if (!beta_threshold_d.readData(sof_a, PARAM_BETA_THRESHOLD, parser.getEntry(sof_a, PARAM_BETA_THRESHOLD))) { return Error::handle(name(), L"readData", Error::READ, __FILE__, __LINE__, Error::WARNING); } } else { beta_threshold_d.assign(DEF_BETA_PRUNING_THRESHOLD); } // read the transcription file // if (parser.isPresent(sof_a, PARAM_TRANS_DB_FILE)) { if (!transcription_db_file_d.readData(sof_a, PARAM_TRANS_DB_FILE, parser.getEntry(sof_a, PARAM_TRANS_DB_FILE))) { return Error::handle(name(), L"readData", Error::READ, __FILE__, __LINE__, Error::WARNING); } } // read the audio database file // if (parser.isPresent(sof_a, PARAM_AUDIO_DB_FILE)) { if (!audio_db_file_d.readData(sof_a, PARAM_AUDIO_DB_FILE, parser.getEntry(sof_a, PARAM_AUDIO_DB_FILE))) { return Error::handle(name(), L"readData", Error::READ, __FILE__, __LINE__, Error::WARNING); } } // read the output mode // if (parser.isPresent(sof_a, PARAM_OUTPUT_MODE)) { if (!OUTPUT_MODE_MAP.readElementData((long&)output_mode_d, sof_a, PARAM_OUTPUT_MODE, parser.getEntry(sof_a, PARAM_OUTPUT_MODE))) { return Error::handle(name(), L"readData", Error::READ, __FILE__, __LINE__, Error::WARNING); } } else { output_mode_d = DEF_OUTPUT_MODE; } // read the cross-word mode // if (parser.isPresent(sof_a, PARAM_FUNCTION_MODE)) { if (!FUNCTION_MODE_MAP.readElementData((long&)function_mode_d, sof_a, PARAM_FUNCTION_MODE, parser.getEntry(sof_a, PARAM_FUNCTION_MODE))) { return Error::handle(name(), L"readData", Error::READ, __FILE__, __LINE__, Error::WARNING); } } else { function_mode_d = DEF_FUNCTION_MODE; } // read the context mode // if (parser.isPresent(sof_a, PARAM_CONTEXT_MODE)) { if (!CONTEXT_MODE_MAP.readElementData((long&)context_mode_d, sof_a, PARAM_CONTEXT_MODE, parser.getEntry(sof_a, PARAM_CONTEXT_MODE))) { return Error::handle(name(), L"readData", Error::READ, __FILE__, __LINE__, Error::WARNING); } } else { context_mode_d = DEF_CONTEXT_MODE; } // read the output format // if (parser.isPresent(sof_a, PARAM_OUTPUT_FORMAT)) { if (!OUTPUT_FORMAT_MAP.readElementData((long&)output_format_d, sof_a, PARAM_OUTPUT_FORMAT, parser.getEntry(sof_a, PARAM_OUTPUT_FORMAT))) { return Error::handle(name(), L"readData", Error::READ, __FILE__, __LINE__, Error::WARNING); } } else { output_format_d = DEF_OUTPUT_FORMAT; } // read the output type // if (parser.isPresent(sof_a, PARAM_OUTPUT_TYPE)) { if (!OUTPUT_TYPE_MAP.readElementData((long&)output_type_d, sof_a, PARAM_OUTPUT_TYPE, parser.getEntry(sof_a, PARAM_OUTPUT_TYPE))) { return Error::handle(name(), L"readData", Error::READ, __FILE__, __LINE__, Error::WARNING); } } else { output_type_d = DEF_OUTPUT_TYPE; } // read the update mode // if (parser.isPresent(sof_a, PARAM_UPDATE_MODE)) { if (!UPDATE_MODE_MAP.readElementData((long&)update_mode_d, sof_a, PARAM_UPDATE_MODE, parser.getEntry(sof_a, PARAM_UPDATE_MODE))) { return Error::handle(name(), L"readData", Error::READ, __FILE__, __LINE__, Error::WARNING); } } else { update_mode_d = DEF_UPDATE_MODE; } // read the output file name // if (parser.isPresent(sof_a, PARAM_OUTPUT_FILE)) { if (!output_file_d.readData(sof_a, PARAM_OUTPUT_FILE, parser.getEntry(sof_a, PARAM_OUTPUT_FILE))) { return Error::handle(name(), L"readData", Error::READ, __FILE__, __LINE__, Error::WARNING); } } // read the accumulator file name // if (parser.isPresent(sof_a, PARAM_ACCUMULATOR_FILE)) { if (!accum_file_d.readData(sof_a, PARAM_ACCUMULATOR_FILE, parser.getEntry(sof_a, PARAM_ACCUMULATOR_FILE))) { return Error::handle(name(), L"readData", Error::READ, __FILE__, __LINE__, Error::WARNING); } } // read the accumulator list name // if (parser.isPresent(sof_a, PARAM_ACCUMULATOR_LIST)) { if (!accum_list_d.readData(sof_a, PARAM_ACCUMULATOR_LIST, parser.getEntry(sof_a, PARAM_ACCUMULATOR_LIST))) { return Error::handle(name(), L"readData", Error::READ, __FILE__, __LINE__, Error::WARNING); } } // read the output list // if (parser.isPresent(sof_a, PARAM_OUTPUT_LIST)) { if (!output_list_d.readData(sof_a, PARAM_OUTPUT_LIST, parser.getEntry(sof_a, PARAM_OUTPUT_LIST))) { return Error::handle(name(), L"readData", Error::READ, __FILE__, __LINE__, Error::WARNING); } } // read the context list // if (parser.isPresent(sof_a, PARAM_CONTEXT_LIST)) { if (!context_list_d.readData(sof_a, PARAM_CONTEXT_LIST, parser.getEntry(sof_a, PARAM_CONTEXT_LIST))) { return Error::handle(name(), L"readData", Error::READ, __FILE__, __LINE__, Error::WARNING); } } // read the phonetic questions and answers filename // if (parser.isPresent(sof_a, PARAM_QUES_ANS_FILE)) { if (!ques_ans_file_d.readData(sof_a, PARAM_QUES_ANS_FILE, parser.getEntry(sof_a, PARAM_QUES_ANS_FILE))) { return Error::handle(name(), L"readData", Error::READ, __FILE__, __LINE__, Error::WARNING); } } // read the phonetic decisiontree filename // if (parser.isPresent(sof_a, PARAM_PHONETIC_DT_FILE)) { if (!phonetic_dt_file_d.readData(sof_a, PARAM_PHONETIC_DT_FILE, parser.getEntry(sof_a, PARAM_PHONETIC_DT_FILE))) { return Error::handle(name(), L"readData", Error::READ, __FILE__, __LINE__, Error::WARNING); } } // read the split threshold for parametertying process // if (parser.isPresent(sof_a, PARAM_PHONETIC_DT_SPLIT_THRESHOLD)) { if (!phonetic_dt_split_threshold_d.readData(sof_a, PARAM_PHONETIC_DT_SPLIT_THRESHOLD, parser.getEntry(sof_a, PARAM_PHONETIC_DT_SPLIT_THRESHOLD))) { return Error::handle(name(), L"readData", Error::READ, __FILE__, __LINE__, Error::WARNING); } } else{ phonetic_dt_split_threshold_d.assign(PhoneticDecisionTree::DEF_SPLIT_THRESHOLD); } // read the merge threshold for parametertying process // if (parser.isPresent(sof_a, PARAM_PHONETIC_DT_MERGE_THRESHOLD)) { if (!phonetic_dt_merge_threshold_d.readData(sof_a, PARAM_PHONETIC_DT_MERGE_THRESHOLD, parser.getEntry(sof_a, PARAM_PHONETIC_DT_MERGE_THRESHOLD))) { return Error::handle(name(), L"readData", Error::READ, __FILE__, __LINE__, Error::WARNING); } } else{ phonetic_dt_merge_threshold_d.assign(PhoneticDecisionTree::DEF_MERGE_THRESHOLD); } // read the num_occ threshold for parametertying process // if (parser.isPresent(sof_a, PARAM_PHONETIC_DT_NUM_OCC_THRESHOLD)) { if (!phonetic_dt_num_occ_threshold_d.readData(sof_a, PARAM_PHONETIC_DT_NUM_OCC_THRESHOLD, parser.getEntry(sof_a, PARAM_PHONETIC_DT_NUM_OCC_THRESHOLD))) { return Error::handle(name(), L"readData", Error::READ, __FILE__, __LINE__, Error::WARNING); } } else{ phonetic_dt_num_occ_threshold_d.assign(PhoneticDecisionTree::DEF_NUM_OCC_THRESHOLD); } // check that all parameters are accounted for // if (!parser.checkParams(sof_a)) { return Error::handle(name(), L"readData", Error::IO, __FILE__, __LINE__, Error::WARNING); } // exit gracefully // return true;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -