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

📄 comm_decode_0.cc

📁 这是处理语音信号的程序
💻 CC
字号:
// file: comm_decode_0.cc//// this utility does trace projection decoding//// isip include files//#include "trace_projector.h"#include <time.h>// Communicator API//#include "communicator.h"extern int clean_frontend();// static variables//Trace_projector tp;char_1* hypotheses = NULL;char_1* alignment = NULL;// method: load_models//// arguments://  char* params: (input) parameter file//// return: bool indicating status//// this method loads the recognition models//int load_models(char* params_a) {  // open parameter file  //  FILE* fp = (FILE*)NULL;  fp = fopen(params_a, "r");    // read parameters  //  tp.read_params_cc(fp);    // initialize frontend  //  init_frontend((char*)tp.get_frontend_params());  // configure the decoder according to these parameter and load  // models  //  tp.config_decoder_cc(ISIP_FALSE, ISIP_TRUE);  // exit gracefully  //  return ISIP_TRUE;}  // method: uttproc_mfcdata//// arguments://  double* data: (input) feature input buffer//  int* num_samples: (input) number of feature data//  int block: (input) pending blocks (currently unused)//// return: bool indicating status//// this method decodes an utterance specified by the input mfc data.//int uttproc_mfcdata(double *data, int num_samples) {  // perform viterbi search  //  if (data != NULL && num_samples != 0) {    tp.decoder_d->decode_cc(data, num_samples);  }  else {    fprintf(stderr, "Communicator: No data for decoder to process!");    return ISIP_FALSE;  }	  // exit gracefully  //  return ISIP_TRUE;}// method: uttproc_begin//// arguments: none//// return: bool indicating status//// this method resets and re-allocates if necessary the decoder// contents that need to be cleaned up before decoding a new utterance.// this is called at the beginning of each utterance.//int uttproc_begin() {  // reset the decoder  //  tp.decoder_d->reset_cc();  // exit gracefully  //  return ISIP_TRUE;}// method: uttproc_end//// arguments: none//// return: bool indicating status//// this method marks that no more data is forthcoming in the current// utterance. It processes the pending data and obtain the final// recogition result.//int uttproc_end() {  // process the pending frames  //  uttproc_rawdata(NULL, 0, 0);  // perform viterbi search  //  tp.get_hypo_cc((char_1 *&)hypotheses, (char_1 *&)alignment);  // clean up memory used for this utterance  //  tp.decoder_d->clean_cc();  // cleanup the frontend before processing a new utterance  //  clean_frontend();    return ISIP_TRUE;}// method: uttproc_abort//// arguments: none//// return: bool indicating status//// this method abort the current utterance immediately without final// recognition result.//int uttproc_abort() {  // clean up memory used for this utterance  //  fprintf(stdout, "Abort procedure, and clean up memory used for current utternace\n");  fflush(stdout);  tp.decoder_d->clean_cc();    // cleanup the frontend before processing a new utterance  //  clean_frontend();  return ISIP_TRUE;}// method: uttproc_result//// arguments: none//// return: bool indicating status//// this method obtains the final hypothesis for the current utterance//int uttproc_result(char** hypo) {  if (hypo != NULL) {    delete *hypo;  }  *hypo = new char[strlen((char*)hypotheses) + 1];  sprintf(*hypo, "%s", hypotheses);  return ISIP_TRUE;}// method: uttproc_alignment//// arguments: none//// return: bool indicating status//// this method obtains the final hypothesis for the current utterance//int uttproc_alignment(char** align) {  if (align != NULL) {    delete *align;  }  *align = new char[strlen((char*)alignment) + 1];  sprintf(*align, "%s", alignment);  return ISIP_TRUE;}

⌨️ 快捷键说明

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