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

📄 dec_decode_1.cc

📁 这是处理语音信号的程序
💻 CC
字号:
// file: dec_decode_1.cc//// system include files//#include <unistd.h>// isip include files//#include "decoder.h"#include "decoder_constants.h" // method: decode_cc//// arguments://  double* data: (input) feature input file//  int num_sample: (input) number of input frame features//// return: logical_1 indicating status//// this method decodes an utterance specified by the input stream data// Note: Communicator API//logical_1 Decoder::decode_cc(double* data_a, int num_samples_a) {  // copy the data to buffer  //  if (buf_d == NULL) {    buf_d = (float_8 *) malloc(num_samples_a * sizeof(float_8));    current_d = 0;    size_d = 0;  }  else {    buf_d = (float_8 *) realloc(buf_d,				(size_d + num_samples_a) * sizeof(float_8));  }  float_8 *buf = &buf_d[size_d];  for (int i = 0; i < num_samples_a; i++) {    buf[i] = data_a[i];  }  size_d += num_samples_a;    num_steps_d = (int_4)0;    // loop over all frames of input feature data  //  while (read_features_cc() == ISIP_TRUE) {        // increment the current time frame    //    frame_d++;        // reset counts    //    for (int_4 i = 0; i < num_levels_d; i++) {      num_traces_gen_d[i] = (int_4)0;      num_traces_del_d[i] = (int_4)0;    }              // if this is the demo mode    //    if (demo_mode_d == ISIP_TRUE) {            // read number of steps to advance frames      //      read_key_cc();            // if this is the abort number, quit loop and go to find      // sentence end hyps      //      if (num_steps_d < (int_4)0) {	break;      }    }        // loop over all active word and phone-level traces in the    // current time frame and grow the next phone    //    enter_models_cc();    // maximum active model instance pruning on all instances of    // models propagated from previous frame    //    prune_inst_cc();        // loop over all active state-level traces    // evaluate the state and update the score for each trace    // then find all possible transitions and advance traces    //    project_states_cc();    // find the beam pruning score for state-level pruning    //    set_beam_cc(DEC_STATE_LEVEL);        // prune away any traces that do not satisfy the new state beam    //    beam_prune_cc();        // find the phone level beam pruning threshold    //    set_beam_cc(DEC_MODEL_LEVEL);    // create word-level traces for the word-end phone-level traces    // make sure that the inactive traces are no longer kept    //     exit_word_cc();    // find the word level beam pruning threshold    //    set_beam_cc(DEC_WORD_LEVEL);    // sort the word score list to get the cutoff score    //    word_cutoff_cc();        // store counts    //    for (int_4 i = 0; i < num_levels_d; i++) {      total_gen_d[i] += num_traces_gen_d[i];      total_del_d[i] += num_traces_del_d[i];      num_traces_total_d[i] += (num_traces_gen_d[i] - num_traces_del_d[i]);    }    // output the frame status    //    if (frame_d % DEC_FRAMES_OUTNUM == (int_4)0) {      fprintf(stdout, "Processed %ld frames...\n", frame_d);      fflush(stdout);    }  } // end while loop over all frames      // exit gracefully  //  return ISIP_TRUE;}

⌨️ 快捷键说明

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