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

📄 itri_model_0.cc

📁 这是处理语音信号的程序
💻 CC
字号:
// file: itri_model_0.cc//// isip include files//#include "init_triphones.h"#include "init_triphones_constants.h"#include <string.h>// method: get_cimodel_cc//// arguments://  char_1* phy_model : (input) name of the input physical model//  Hash_table* ci_table : (input) hash_table of CI model indices//  int_4 num_ci : (input) number of context independent models//  char_1* ci_model : (output) name of the corresp. ci model//// return: an int_4 index of the physical model//int_4 get_cimodel_cc(char_1* phy_model, Train_Hash_table* ci_table, int_4 num_ci,		     char_1* ci_model) {  // local variables  //  int_4 model_index = (int_4)0;  logical_1 right_context = ISIP_FALSE;  logical_1 left_context = ISIP_FALSE;  Train_Hash_cell* hcell;    // make a local copy of the physical model's name  //  char_1* temp_buf;  char_1* tmp_str = new char_1[strlen((char*)phy_model) + 1];  strcpy((char*)tmp_str, (char*)phy_model);  // buffer to hold phone sequence  //  int_4* phn = new int_4[3];  // determine if the physical model has left context  //  if (strchr((char*)tmp_str, '-') != (char*)NULL) {    *strchr((char*)tmp_str, '-') = '\0';    hcell = ci_table->hash_lookup_cc(tmp_str);    phn[0] = (int_4)hcell->get_item_cc();    left_context = ISIP_TRUE;  }    else {    phn[0] = 0;  }    // reset the temp string  //  strcpy((char*)tmp_str, (char*)phy_model);  // determine if physical model has right context specified  //  if (strchr((char*)tmp_str, '+') != (char*)NULL) {    temp_buf = (char_1*)(strchr((char*)tmp_str, '+') + 1);    temp_buf[strlen((char*)temp_buf)] = '\0';    hcell = ci_table->hash_lookup_cc(temp_buf);    phn[2] = (int_4)hcell->get_item_cc();    right_context = ISIP_TRUE;  }    else {    phn[2] = 0;  }  // reset the temp string  //  strcpy((char*)tmp_str, (char*)phy_model);  // handle biphones by setting the central phone correctly  //  if (left_context == ISIP_TRUE && right_context == ISIP_FALSE) {    temp_buf = (char_1*)(strchr((char*)tmp_str, '-') + 1);    temp_buf[strlen((char*)temp_buf)] = '\0';    strcpy((char*)ci_model, (char*)temp_buf);    hcell = ci_table->hash_lookup_cc(temp_buf);    phn[1] = (int_4)hcell->get_item_cc();  }  else if (left_context == ISIP_FALSE && right_context == ISIP_TRUE) {    temp_buf = tmp_str;    *strchr((char*)temp_buf, '+') = '\0';    strcpy((char*)ci_model, (char*)temp_buf);    hcell = ci_table->hash_lookup_cc(temp_buf);    phn[1] = (int_4)hcell->get_item_cc();  }  else if (left_context == ISIP_TRUE && right_context == ISIP_TRUE) {    temp_buf = (char_1*)(strchr((char*)tmp_str, '-') + 1);    *strchr((char*)temp_buf, '+') = '\0';    strcpy((char*)ci_model, (char*)temp_buf);    hcell = ci_table->hash_lookup_cc(temp_buf);    phn[1] = (int_4)hcell->get_item_cc();  }      else {    strcpy((char*)ci_model, (char*)tmp_str);    hcell = ci_table->hash_lookup_cc(phy_model);    phn[1] = (int_4)hcell->get_item_cc();  }    // get the phone index  //  for (int_4 i = 0; i < 3; i++) {    model_index += phn[i] * (int_4)pow(num_ci, i);      }    // clean up memory  //  delete [] phn;  delete [] tmp_str;    // exit gracefully  //  return model_index;}

⌨️ 快捷键说明

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