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

📄 bw_bound_0.cc

📁 这是处理语音信号的程序
💻 CC
字号:
// file: bw_bound_0.cc//// isip include files//#include "bw_train.h"#include "bw_train_constants.h"// method: get_bound_cc//// arguments://  int_2* upper : (output) the upper model bound for each frame//  int_2* lower : (output) the lower model bound for each frame//  int_4 num_vect : (input) the total number of frames//  Model** models : (input) the model objects//  int_4 num_mod : (input) the number of models in current transcription//  int_4* model_list : (input) the index list of current models//// return: a logical_1 indicating success//// this method loops over all the time frames in the current mfcc file and// compute the valid upper and lower model bounds for each of them//logical_1 get_bound_cc(int_2* upper_a, int_2* lower_a, int_4 num_vect_a,		       Train_Model** models_a, int_4 num_mod_a,		       int_4* model_list_a) {  // local variables  //  int_2 upp_ind, low_ind, total_len;  int_2 tmp = (int_4)0;  int_2* min_lens = (int_2*)NULL;  Train_Model* mod = (Train_Model*)NULL;  // get the shortest lengths for each input model  //  min_lens = new int_2[num_mod_a];  for (int_4 i = 0; i < num_mod_a; i++) {    mod = models_a[model_list_a[i]];    get_minlen_cc(tmp, mod);    min_lens[i] = tmp;  }    // calculate the upper bound  //  total_len = (int_2)0;  upp_ind = (int_2)0;  for (int_4 t = 1; t <= num_vect_a; t++) {    while(total_len < t) {      total_len += min_lens[upp_ind++];      if (upp_ind == num_mod_a) {	break;      }    }    if (upp_ind == num_mod_a) {      break;    }    upper_a[t] = upp_ind;  }  // calculate the lower bound  //  total_len = (int_2)min_lens[num_mod_a-1];  low_ind = num_mod_a;  for (int_4 t = num_vect_a; t >= 1; t--) {    while(total_len < (num_vect_a - t + 1)) {      low_ind--;      total_len += min_lens[low_ind-1];      if (low_ind == 1) {	break;      }    }    if (low_ind == 1) {      break;    }    if (((num_vect_a - t + 1) == total_len) && (min_lens[low_ind-2] == 0)) {      low_ind--;    }    lower_a[t] = low_ind;  }    // clean up  //  delete [] min_lens;  mod = (Train_Model*)NULL;    // exit gracefully  //  return ISIP_TRUE;}

⌨️ 快捷键说明

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