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

📄 dec_hist_0.cc

📁 这是处理语音信号的程序
💻 CC
字号:
// file: dec_hist_0.cc//// isip include files//#include "decoder.h"#include "decoder_constants.h"// method: next_histwords_cc//// arguments://  void_p* histwords: (input) the pointers to old history words//  void_p curr_node: (input) lattice node or unigram node which includes the//                    immediate previous word//// return: a new history words pointer//// this method gets the next history words based on the previous history words// and the current node//void_p* Decoder::next_histwords_cc(void_p* histwords_a, void_p curr_node_a) {  // initialize the new histwords  //  void_p* newhist_words = (void_p*)NULL;    // no history words (this is true for ngram startnode)  //  if (curr_node_a == (void_p)NULL) {    return newhist_words;  }  // allocate memory for histwords (the length varies with the decoding mode)  //    int_4 hist_len = History::get_hist_len_cc();  newhist_words = new void_p[hist_len];  newhist_words[0] = curr_node_a;    // if lattice rescoring mode or low ngram mode, exit now  //  if (ngram_order_d <= 2) {        // exit gracefully    //    return newhist_words;  }  // we need more history words for lattice_verification /ngram decoding /  // lattice generation mode and ngram order >= 3  //  Word* curword = (Word*)NULL;    if (function_mode_d == DEC_LATTICE_VERIFY_FUNCTION) {        // use part of the old histwords as the N-2 previous words    //    if (histwords_a != (void_p*)NULL) {            curword = ((Lattice_node*)histwords_a[0])->get_word_cc();	      // make sure this is not the dummy lat start node      //      if (curword != (Word*)NULL) {	newhist_words[1] = (void_p)curword;      }      else {	newhist_words[1] = (void_p)NULL;      }	      // if more history words are needed, move the Word pointers      //      for (int_4 i = 1; i < ngram_order_d-2; i++) {	newhist_words[i+1] = histwords_a[i];      }    }    // use the !NULL dummy word to fill in the history    //    else {      for (int_4 i = 0; i < ngram_order_d-2; i++) {	newhist_words[i+1] = (void_p)NULL;      }    }      } // end if LATTICE_VERIFY mode      // ngram decoding and lattice generation mode  //  else if (function_mode_d == DEC_NGRAM_DECODE_FUNCTION ||	   function_mode_d == DEC_LATTICE_GENERATE_FUNCTION) {        // use part of the old histwords as the N-2 previous words    //    if (histwords_a != (void_p*)NULL) {      curword = ((Ngram_node*)histwords_a[0])->get_word_cc();            if (curword != (Word*)NULL) {	newhist_words[1] = (void_p)curword;      }      else {	newhist_words[1] = (void_p)NULL;      }            // if more history words are needed, move the Word pointers      //      for (int_4 i = 1; i < ngram_order_d-2; i++) {	newhist_words[i+1] = histwords_a[i];      }    }    // use the !NULL dummy word to fill in the history    //    else {      for (int_4 i = 0; i < ngram_order_d-2; i++) {	newhist_words[i+1] = (void_p)NULL;      }    }  } // end ngram mode    // exit gracefully  //  return newhist_words;}

⌨️ 快捷键说明

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