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

📄 bw_pdf_0.cc

📁 这是处理语音信号的程序
💻 CC
字号:
// file: bw_pdf_0.cc//// isip include files//#include "bw_train.h"#include "bw_train_constants.h"// method: acc_pdf_cc//// arguments://  float_8*** means : (output) the accumulated means//  float_8*** covars : (output) the accumulated covariance//  float_8** mix_weights : (output) the accumulated weights//  float_8* states_occ : (output) the accumulated state occupancy//  float_8** vectors : (input) the speech data//  int_4 num_feat : (input) the number of features//  int_4 num_vect : (input) the number of frames//  int_4 num_mod : (input) the number of models in current list//  int_4* model_list : (input) the list of model index//  int_4** st_map : (input) the mapping to the global state index//  State** states : (input) the states sequence//  Train_Model** models : (input) the model sequence//  float_8 utt_prob : (input) the utterance probability//  float_8** for_probt : (input) the forward probability of current frame//  float_8** for_probt1 : (input) the forward prob. of previous frame//  float_8*** back_prob : (input) the backward probability//  int_4 frame : (input) the index of current frame//  int_2* upper : (input) upper bound//  int_2* lower : (input) lower bound//  float_4 min_mpd : (input) minimum model score//  float_4 min_occp : (input) minimum occpancy probability//  // return a logical flag to indicate success//// this method updates the state accumulators for the current// utterance//logical_1 acc_pdf_cc(float_8*** means_a, float_8*** covars_a,		     float_8** mix_weights_a, float_8* states_occ_a,		     float_8** vectors_a, int_4 num_feat_a, int_4 num_vect_a,		     int_4 num_mod_a, int_4* model_list_a, int_4** st_map_a,		     Train_State** states_a, Train_Model** models_a, float_8 utt_prob_a,		     float_8** for_probt_a, float_8** for_probt1_a,		     float_8*** back_prob_a, int_4 frame_a,		     int_2* upper_a, int_2* lower_a, float_4 min_mpd_a,		     float_4 min_occp_a) {  // local variables  //  int_4 loc_st = (int_4)0;  int_4 loc_mix = (int_4)0;  float_8 occ_prob = BW_LOG_ZERO;  float_8 tmp_acc = (float_8)0.0;  float_8 tmp_mprob = (float_8)0.0;    int_4 st_ind = (int_4)0;  float_4** trans = (float_4**)NULL;  Train_Model* model = (Train_Model*)NULL;  Train_State** st_list = (Train_State**)NULL;  Train_State* state = (Train_State*)NULL;  // loop over all the models  //  for (int_2 q = lower_a[frame_a]; q <= upper_a[frame_a]; q++) {    // get the model    //    model = models_a[model_list_a[q-1]];        // get the transition    //    trans = model->get_transitions_cc();        // get the number of states     //    loc_st = model->get_num_states_cc();    st_list = model->get_states_cc();        // loop over the states    //    for (int_4 j = 2; j < loc_st; j++) {      // bound check      //      tmp_mprob = for_probt_a[q][j] + back_prob_a[frame_a][q][j] -	utt_prob_a;      if (tmp_mprob > -min_mpd_a) {		// get the current state and global index	//	state = st_list[j-1];	st_ind = st_map_a[model_list_a[q-1]][j-1];		// get the number of mixtures	//	loc_mix = state->get_num_mixtures_cc();		// loop over the mixtures	//	for (int_4 m = 1; m <= loc_mix; m++) {	  	  // reset and compute the occupancy	  //	  occ_prob = BW_LOG_ZERO;	  comp_occ_cc(occ_prob, q, loc_st, frame_a, state, j, m, utt_prob_a,		      trans, for_probt_a, for_probt1_a, back_prob_a,		      vectors_a[frame_a-1]);	  occ_prob = exp(occ_prob);	  if (occ_prob > min_occp_a) {	    	    // loop over the current vector	    //	    for (int_4 feat = 0; feat < num_feat_a; feat++) {	      	      // accumulate the mean	      //	      tmp_acc = occ_prob * vectors_a[frame_a-1][feat];	      means_a[st_ind][m-1][feat] += tmp_acc;	      	      // accumulate the covariance	      //	      covars_a[st_ind][m-1][feat] += tmp_acc * vectors_a[frame_a-1][feat];	    }	    	    // accumulate the weights	    //	    mix_weights_a[st_ind][m-1] += occ_prob;	    	    // accumulate the state occupancy	    //	    states_occ_a[st_ind] += occ_prob;	  } 	}      } // end of evaluating a valid state    }  } // end of looping over all the valid models    // exit gracefully  //  return(ISIP_TRUE);}

⌨️ 快捷键说明

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