⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hmm_train.h

📁 这是处理语音信号的程序
💻 H
字号:
// file: hmm_train.h//// make sure definitions are made only once//#ifndef __ISIP_HMM_TRAIN#define __ISIP_HMM_TRAIN// isip include files//#ifndef __ISIP_INTEGRAL#include <integral.h>#endif// forward declaration of classes//#ifndef __ISIP_TRAIN_HASH_CELL#include <train_hash_cell.h>#endif#ifndef __ISIP_TRAIN_HASH_TABLE#include <train_hash_table.h>#endif#ifndef __ISIP_TRAIN_LATTICE#include <train_lattice.h>#endif#ifndef __ISIP_TRAIN_LATTICE_NODE#include <train_lattice_node.h>#endif#ifndef __ISIP_TRAIN_LEX_TREE#include <train_lex_tree.h>#endif#ifndef __ISIP_TRAIN_LEX_NODE#include <train_lex_node.h>#endif#ifndef __ISIP_TRAIN_LINK_LIST#include <train_link_list.h>#endif#ifndef __ISIP_TRAIN_LINK_NODE#include <train_link_node.h>#endif#ifndef __ISIP_TRAIN_MEMORY_MANAGER#include <train_memory_manager.h>#endif#ifndef __ISIP_TRAIN_TRAIN_MODEL#include <train_model.h>#endif#ifndef __ISIP_TRAIN_PHONE#include <train_phone.h>#endif#ifndef __ISIP_TRAIN_STATE#include <train_state.h>#endif#ifndef __ISIP_TRAIN_TOKEN#include <train_token.h>#endif#ifndef __ISIP_TRAIN_TRACE#include <train_trace.h>#endif#ifndef __ISIP_TRAIN_WORD#include <train_word.h>#endif// functions to decipher commandline//logical_1 expand_filename_cc(char_1*& fname);logical_1 read_cmdline_cc(int_4 argc, char_1** argv, char_1* prm_file,			  int_4& context_flag);// functions to read the parameters file//logical_1 read_params_cc(FILE* fp, char_1* mono_file, char_1* trans_file,			 char_1* state_file, char_1* new_trans_file,			 char_1* new_state_file, char_1* batch_stats_file,			 char_1* acc_list_file, char_1* model_file,			 char_1* phone_file, char_1* lex_file,			 int_4& align_mode, int_4& input_mode,                         int_4 level,  char_1* input_file,                            char_1* forcealign_list_file, char_1* output_file,                         int_4& phn, int_4& nbst , float_8*& beam,			 int_4& mapmi, logical_1& forcealign_mode,			 int_4& context_mode, float_8& var_floor,			 logical_1& op_out, logical_1& output_mode,			 logical_1& train_mode, char_1* sph_file,			 char_1* state_occ_file, logical_1& occ_mode);// functions to read transition data from parameter file//float_4*** read_trans_cc(int_4& num_trans, int_4*& trans_size, char_1* file);// functions to read states data from parameter file//Train_State** read_states_cc(int_4& num_st, int_4& num_feat, char_1* file);// functions to read HMM models data from parameter file//Train_Model** read_models_cc(int_4& num_mod, char_1* file,			     Train_State** states, float_4*** trans);// functions to read phone models data from parameter file//char_1** read_monophones_cc(int_4& num_mono, char_1* file);Train_Phone** read_phones_cc(int_4 num_mono, int_4 ph_size,			     Train_Model** models,			     int_4*& ph_map, int_4& num_ph, char_1* file,			     int_4 context_mode);int_4 get_nphone_ind_cc(int_4 ph_size, int_4 num_mono, int_4* ph_map,			int_4 context_mode, int_4 num_sph_a,			int_4* sph_index_a);// functions to read lexicon and grammar data from parameter file//Train_Hash_table* read_lexicon_cc(int_4& num_words, int_4 num_mono,			    char_1** monophones, char_1* file);// functions to read input acoustic data from parameter file//logical_1 read_input_cc(FILE* fp, int_4 num_feat, int_4 input_mode,			float_8* data);logical_1 print_occ_cc(FILE* fp_out, int_4** st_count,		       int_4 num_st, int_4 num_mix);// functions to read keyborad input in demo mode//int_4 read_key_cc(int_4& num);// functions to project traces and advance paths//logical_1 project_states_cc(Train_Link_list** token_list, int_4 frame,			    float_8* feat, int_4 sp_phone,			    Train_Link_list** phtr_list, int_4* ph_active,			    int_4 ph_numact, int_4 alignment_mode,			    Train_Phone** phones, int_4*& ngen, int_4*& ndel,			    int_4& napmi, float_8*& score,			    Train_Link_node** ph_marker);logical_1 project_phones_cc(Train_Link_node** wdmarker, Train_Link_node** phmarker,			    Train_Link_list** token_list, Train_Phone** phones,			    Train_Link_list* treelist, Train_Lattice* lattice,			    int_4 num_mono, int_4 ph_size, int_4* ph_map,			    int_4*& wd_active, int_4& wd_numact,			    int_4*& ph_active, int_4& ph_numact,			    int_4*& ngen, float_8& max_score,			    int_4 context_mode, logical_1 mlf_mode,			    int_4 num_sph, int_4* sph_index);logical_1 generate_phones_cc(Train_Trace* trace, Train_Link_list** token_list,			     Train_Phone** phones, Train_Link_list* treelist,			     Train_Lattice* lattice, int_4 num_mono, int_4 ph_size,			     int_4* ph_map, int_4*& wd_active,			     int_4& wd_numact, int_4*& ph_active,			     int_4& ph_numact, int_4*& ngen,			     float_8& max_score, int_4 context_mode,			     logical_1 mlf_mode, int_4 num_sph,			     int_4* sph_index);logical_1 grow_phone_cc(Train_Trace* trace, Train_Link_list** token_list, Train_Phone** phones,			Train_Link_list* treelist, Train_Lattice* lattice,			Train_Lattice_node* curr_lat,	Train_Lex_node* currlex,			Train_Lex_node* lexch, int_4 ph_size, int_4 num_mono,			int_4* ph_map, int_4*& phn, int_4*& wd_active,			int_4& wd_numact, int_4*& ph_active, int_4& ph_numact,			int_4*& ngen, float_8& max_score,			int_4 context_mode, logical_1 mlf_mode,			int_4 num_sph, int_4* sph_index);logical_1 grow_trace_cc(Train_Trace* trace, Train_Link_list*& tok_list, Train_Lex_node* lexnode,			Train_Lattice_node* latnode, float_8 lmscore,			Train_Phone** phones, int_4 phn, int_4*& wd_active,			int_4& wd_numact, int_4*& ph_active, int_4& ph_numact,			int_4*& ngen, float_8& max_score);logical_1 active_trace_cc(Train_Link_list** phtr_list, Train_Link_node** phmarker,			  Train_Link_node** prev_phmark, Train_Link_list** wdtr_list,			  Train_Link_node** wdmarker, Train_Link_node** prev_wdmark,			  int_4* ph_active, int_4 ph_numact,			  int_4* wd_active, int_4 wd_numact,			  float_8 sp, float_4 penalty,			  int_4*& ngen, int_4*& ndel, float_8& max_score);// functions to insert traces in appropriate links//logical_1 insert_token_cc(Train_Link_list*& tok_list, Train_Trace* trace, int_4 st,			  int_4& ngen, float_8& max_score);logical_1 insert_trace_cc(Train_Link_list*& tr_list, Train_Trace* trace, Train_Link_node* marker,			  int_4& ref, int_4& ngen, int_4& nact,			  float_8& max_score);logical_1 insert_trace_cc(Train_Link_list*& tr_list, Train_Trace* trace, Train_Link_node* marker,			  int_4& ngen, float_8& max_score);// functions to determine the top n best hypotheses//logical_1 find_nbest_cc(Train_Link_list** trace_list, Train_Link_node** marker,			int_4 num_nbest, int_4* active, int_4 num_act,			int_4& num_hyp, Train_Trace** array);logical_1 backtrace_cc(Train_Link_node* marker, int_4 num_nbest,		       int_4& num_hyp, Train_Trace** array);// functions to print the recognition results to output file//logical_1 print_hyps_cc(int_4 hyps, char_1* file, Train_Trace** array, int_4 frame,			Train_Phone** phones, int_4 ph_size, int_4* ngen,			int_4* ndel, int_4* ntr);// functions to perform beam pruning//logical_1 token_prune_cc(Train_Link_list** token_list, int_4* active, int_4 num_act,			 float_8 beam_score, int_4*& ndel);logical_1 trace_prune_cc(Train_Link_list** trace_list, Train_Link_node** marker,			 int_4* act_phone, int_4 num_act_ph,			 float_8 beam_score, int_4 level, int_4& ndel);logical_1 sort_traces_cc(Train_Link_node** marker, int_4* act_phone,			 int_4 num_act_ph, int_4 nact, int_4 max_act,			 float_8& thresh);logical_1 garbage_prune_cc(Train_Link_list** trace_list, int_4* active,			   int_4 num_act, int_4& ndel);// functions to manage lexical trees//logical_1 update_trees_cc(Train_Link_list* treelist_a);// functions to build lattice//logical_1 build_lattice_cc(Train_Trace** array, int_4 num_hyp, float_4 lmscale,			   float_4 wdpenalty, Train_Lattice*& lattice);logical_1 construct_lattice_cc(Train_Trace* trace, Train_Lattice_node* latnode,			       float_8 score, float_4 lmscale,			       float_4 wdpenalty, int_4& num_nodes,			       int_4& num_arcs, Train_Hash_table*& lathash);logical_1 build_dm_lat_cc(Train_Lattice* lattice_a, Train_Hash_table* words_a);// function to compute the state index//logical_1 get_ind_st_cc(Train_Trace* trace, int_4& st_ind, int_4* mod_map,			int_4** st_map);logical_1 count_state_cc(Train_Trace* trace, float_8** data, float_8*** mean,			 float_8*** covar, int_4** count, int_4 num_feat,			 int_4 num_st, int_4 num_mix, Train_State** states,			 int_4* mod_map, int_4** st_map);logical_1 count_arc_cc(Train_Trace* tr, Train_Trace* pre_tr, int_4*** trans,		       int_4* trans_map, int_4* mod_map, Train_Model** models);logical_1 para_estimate_cc(int_4 num_hyps, Train_Trace** array, float_8** data,			   Train_State** states, Train_Model** models,			   float_8*** mean,			   float_8*** covar, int_4** count,			   int_4 num_feat, int_4 num_st, int_4 num_mix,			   int_4*** trans, int_4* mod_map,			   int_4** st_map, int_4* trans_map,			   int_4 sp_phn_ind);Train_Phone** read_new_phones_cc(int_4 num_mono, int_4 ph_size,				 Train_Model** models,				 int_4*& ph_map, int_4& num_ph, char_1* file,				 int_4*& mod_map, int_4 context_mode,				 int_4& sp_phone_ind);Train_Model** read_new_models_cc(int_4& num_mod, char_1* file,			   Train_State** states, float_4*** trans,			   int_4**& st_map, int_4*& trans_map);logical_1 update_cc(float_4*** transitions, Train_State** states,		    float_8*** mean, float_8*** covar,		    int_4** st_count, int_4*** trans_count, int_4* trans_size,		    int_4 num_feat, int_4 num_st, int_4 num_mix,		    int_4 num_trans, float_8 var_floor);logical_1 combine_acc_cc(float_4*** transitions, Train_State** states,			 int_4* trans_size, int_4 num_st,			 int_4 num_mix, int_4 num_feat,			 int_4 num_trans, float_8 var_floor,			 FILE* fpcc_list, int_4** state_count);logical_1 dump_stats_cc(FILE* fp_out, float_8*** mean, 			float_8***covar, int_4** st_count,			int_4*** trans_count, int_4* trans_size,			int_4 num_st, int_4 num_mix,			int_4 num_feat, int_4 num_trans);  logical_1 print_state_cc(char_1* file, Train_State** states, int_4 num_st,			 int_4 num_feat, logical_1 output_mode);logical_1 print_bin_state_cc(char_1* file, Train_State** states, int_4 num_st,			     int_4 num_feat);logical_1 print_ascii_state_cc(char_1* file, Train_State** states, int_4 num_st,			       int_4 num_feat);logical_1 print_trans_cc(char_1*file, int_4 num_trans, int_4* trans_size,			 float_4*** transitions);logical_1 init_train_cc(int_4 num_states, int_4 num_mix,			int_4 num_features, float_8*** train_mean,			float_8*** train_covar, int_4** count,			int_4 num_trans, int_4 state_num,			int_4*** trans_count, float_4*** transitions);logical_1 get_phlist_cc(FILE* fp, int_4* phn_list, char_1** monophones,			int_4 num_mono, int_4 ph_size,			int_4 context_mode, int_4* phone_map, int_4* phones,			int_4& num_ph, int_4 sph_num, int_4* sph_index);int_4 get_phn_index_cc(char_1* phn_list, char_1** monophones,		       int_4 num_mono, int_4 ph_size,		       int_4 context_mode, int_4* phone_map,		       int_4& mid_phn, int_4 num_sph, int_4* phn_index);// handling special phones that need special treatment wrt context//int_4* read_sph_cc(int_4& num_sph, char_1** monophones, int_4 num_mono,		   char_1* file);logical_1 check_sph_cc(int_4 curr_phn, int_4 num_sph, int_4* sph_index);// end of file//#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -