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

📄 tr_st_eval_1.cc

📁 这是处理语音信号的程序
💻 CC
字号:
// file: tr_st_eval_1.cc//// isip include files//#include "train_state.h"#include "train_state_constants.h" // method: eval_mix_cc//// arguments://  int_4 mix_ind : (input) the mixture component index//  float_8* data : (input) a data feature vector//  int_4 frame : (input) the current frame index//// return: the score based on the input feature vector and mixture index//// this function evaluates the input feature vector against the Train_State// distribution and computes a log-distance metric (i.e. a log score// of the data given the model)//float_8 Train_State::eval_score_cc(int_4 mix_ind_a, float_8* data_a) {			       // temporary variables  //  float_8 tmp_score = (float_8)0;  float_8 tmp = (float_8)0;  float_8* trans_data = new float_8[num_features_d];    // initialize score  //  score_d = TRAIN_STATE_SCORE;    // reset tmp score  //  tmp_score = (float_8)scale_d[mix_ind_a-1];    // compute the likelihood of data given mixture  //  for (int_4 j = 0; j < num_features_d; j++) {        // compute the translated data and take the product to evaluate    // likelihood score    //    trans_data[j] = data_a[j] - (float_8)mean_d[mix_ind_a-1][j];    tmp_score += trans_data[j] * trans_data[j] *      (float_8)covar_d[mix_ind_a-1][j];  }    // add the mixture weight, use recursive sum to protect against  // underflow  //  tmp_score = (float_8)weights_d[mix_ind_a-1] - (float_8)0.5 * tmp_score;      if (score_d < tmp_score) {    tmp = score_d;    score_d = tmp_score;    tmp_score = tmp;  }  tmp = tmp_score - score_d;  if (tmp >= TRAIN_STATE_LOG_SCORE) {    score_d += (float_8)log(1.0 + exp((float_8)tmp));  }    // free memory  //  delete [] trans_data;  // return the log likelihood score  //  return score_d;}

⌨️ 快捷键说明

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