亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? spec_05.cc

?? 這是一個從音頻信號里提取特征參量的程序
?? CC
字號:
// file: $isip/class/algo/Spectrum/spec_05.cc// version: $Id: spec_05.cc,v 1.21 2002/07/02 23:20:05 picone Exp $//// isip include files//#include "Spectrum.h"// method: apply//// arguments://  Vector<AlgorithmData>& output: (output) output data//  const Vector< CircularBuffer<AlgorithmData> >& input: (input) input data//// return: a boolean value indicating status//// this method calls the appropriate computation methods//boolean Spectrum::apply(Vector<AlgorithmData>& output_a,			const Vector< CircularBuffer<AlgorithmData> >&			input_a) {  // determine the number of input channels and force the output to be  // that number  //  long len = input_a.length();  output_a.setLength(len);  // start the debugging output  //  displayStart(this);  // accumulate a result status -- if compute method returns false  // this apply method should return false  //    boolean res = true;    // loop over the channels and call the compute method  //  for (long c = 0; c < len; c++) {    // display the channel number    //    displayChannel(c);    if (implementation_d == MAGNITUDE) {      // call AlgorithmData::makeVectorFloat to force the output vector for      // this channel to be a VectorFloat.      // call AlgorithmData::getVectorFloat on the input for this channel      // to check that the input is already a VectorFloat and return      // that vector.      //                res &= compute(output_a(c).makeVectorFloat(),		     input_a(c)(0).getVectorFloat(),		     input_a(c)(0).getCoefType(), c);    }    else if (implementation_d == COMPLEX) {      // call AlgorithmData::makeComplexVectorFloat to force the output      // vector for this channel to be a VectorFloat.      // call AlgorithmData::getVectorFloat on the input for this channel to      // check that the input is already a VectorFloat and return that      // vector.      //                      res &= compute(output_a(c).makeVectorComplexFloat(),		     input_a(c)(0).getVectorFloat(),		     input_a(c)(0).getCoefType(), c);    }    // else: error unknown implementation    //    else {      return Error::handle(name(), L"apply", ERR_UNKIMP,			   __FILE__, __LINE__);    }        // set the coefficient type of output    //    output_a(c).setCoefType(AlgorithmData::SPECTRUM);  }    // finish the debugging output  //  displayFinish(this);  // exit gracefully  //  return res;  }// method: compute//// arguments://  VectorFloat& output: (output) spectrum//  const VectorFloat& input: (input) signal//  AlgorithmData::COEF_TYPE input_coef_type: (input) type of input//  long index: (input) channel number//// return: a boolean value indicating status//// this method computes the magnitude spectrum of the input signal//boolean Spectrum::compute(VectorFloat& output_a,			  const VectorFloat& input_a,			  AlgorithmData::COEF_TYPE input_coef_type_a,			  long index_a) {  // declare local variables  //  boolean status = false;    // brach on algorithm  //  // algorithm: FOURIER  //  if (algorithm_d == FOURIER) {    // coefficient type: SIGNAL    //    if (input_coef_type_a == AlgorithmData::SIGNAL) {      // calculate corresponding fourier transform compute method      //      status = computeFourierMag(output_a, input_a);    }    // else: error unknown coefficient type    //    else {      status = Error::handle(name(), L"compute",			     ERR_UNKTYP, __FILE__, __LINE__);    }        }  // check known but unsupported algorithms  //  else if (algorithm_d == MAXIMUM_ENTROPY) {    // coefficient type: REFLECTION    //    if (input_coef_type_a == AlgorithmData::REFLECTION) {      // calculate corresponding fourier transform compute method      //      status = computeReflectionMag(output_a, input_a, dyn_range_d);    }    // coefficient type: PREDICTION    //    else if (input_coef_type_a == AlgorithmData::PREDICTION) {      // calculate corresponding fourier transform compute method      //      status = computePredictionMag(output_a, input_a);    }    // coefficient type: CORRELATION    //    else if (input_coef_type_a == AlgorithmData::CORRELATION) {      // calculate corresponding fourier transform compute method      //      status = computeCorrelationMag(output_a, input_a, dyn_range_d);    }            // else: error unknown coefficient type    //    else {      status = Error::handle(name(), L"compute",			     ERR_UNKTYP, __FILE__, __LINE__);    }  }  // else: error unknown algorithm  //  else {    status = Error::handle(name(), L"compute",			   ERR_UNKALG, __FILE__, __LINE__);  }  // possibly display the data  //  display(output_a, input_a, name());  // exit gracefully  //  return status;  }// method: compute//// arguments://  VectorComplexFloat& output: (output) spectrum//  const VectorFloat& input: (input) signal//  AlgorithmData::COEF_TYPE input_coef_type: (input) type of input//  long index: (input) channel number//// return: a boolean value indicating status//// this method computes the complex spectrum of the input signal//boolean Spectrum::compute(VectorComplexFloat& output_a,			  const VectorFloat& input_a,			  AlgorithmData::COEF_TYPE input_coef_type_a,			  long index_a) {  // declare local variables  //  boolean status = false;    // brach on algorithm  //  // algorithm: FOURIER  //  if (algorithm_d == FOURIER) {    // coefficient type: SIGNAL    //    if (input_coef_type_a == AlgorithmData::SIGNAL) {      // calculate corresponding fourier transform compute method      //      status = computeFourierComplex(output_a, input_a);    }    // else: error unknown coefficient type    //    else {      status = Error::handle(name(), L"compute",			     ERR_UNKTYP, __FILE__, __LINE__);    }        }  // check known but unsupported algorithms  //  else if (algorithm_d == MAXIMUM_ENTROPY) {    // coefficient type: REFLECTION    //    if (input_coef_type_a == AlgorithmData::REFLECTION) {      // calculate corresponding fourier transform compute method      //      status = computeReflectionComplex(output_a, input_a);    }    // coefficient type: PREDICTION    //    else if (input_coef_type_a == AlgorithmData::PREDICTION) {      // calculate corresponding fourier transform compute method      //      status = computePredictionComplex(output_a, input_a);    }    // coefficient type: CORRELATION    //    else if (input_coef_type_a == AlgorithmData::CORRELATION) {      // calculate corresponding fourier transform compute method      //      status = computeCorrelationComplex(output_a, input_a);    }            // else: error unknown coefficient type    //    else {      status = Error::handle(name(), L"compute",			     ERR_UNKTYP, __FILE__, __LINE__);    }  }  // else: error unknown algorithm  //  else {    status = Error::handle(name(), L"compute",			   ERR_UNKALG, __FILE__, __LINE__);  }  // possibly display the data  //  display(output_a, input_a, name());  // exit gracefully  //  return status;  }// method: computeReflectionMag//// arguments://  VectorFloat& output: (output) spectrum//  const VectorFloat& input: (input) signal//  double range: (input) dynamic range//// return: a boolean value indicating status//// this method computes the magnitude spectrum of the input signal for// REFLECTION implementation type//boolean Spectrum::computeReflectionMag(VectorFloat& output_a,				       const VectorFloat& input_a,				       double range_a) {  // declare local variables  //  Prediction predc;  VectorFloat pred_coeff;  VectorFloat refl_coeff(input_a);  // set the order of the prediction coefficients  //  long order = refl_coeff.length() + 1;  pred_coeff.setLength(order);    // determine the prediction coefficients form the reflection coefficients  //  predc.set(Prediction::REFLECTION, Prediction::STEP_DOWN, order, range_a);  predc.compute(pred_coeff, refl_coeff, AlgorithmData::REFLECTION);  // negate the predictor coefficients  //  pred_coeff.neg();  // compute the magnitude spectrum  //  computeFourierMag(output_a, pred_coeff);    // exit gracefully  //  return true;}// method: computePredictionMag//// arguments://  VectorFloat& output: (output) spectrum//  const VectorFloat& input: (input) signal//// return: a boolean value indicating status//// this method computes the magnitude spectrum of the input signal for// PREDICTION implementation type//boolean Spectrum::computePredictionMag(VectorFloat& output_a,				       const VectorFloat& input_a) {  // declare local variables  //  VectorFloat pred_coeff(input_a);  // negate the predictor coefficients  //  pred_coeff.neg();  // compute the magnitude spectrum  //  computeFourierMag(output_a, pred_coeff);    // exit gracefully  //  return true;}// method: computeCorrelationMag//// arguments://  VectorFloat& output: (output) spectrum//  const VectorFloat& input: (input) signal//  double range: (input) dynamic range//// return: a boolean value indicating status//// this method computes the magnitude spectrum of the input signal for// CORRELATION implementation type//boolean Spectrum::computeCorrelationMag(VectorFloat& output_a,					const VectorFloat& input_a,					double range_a) {  // declare local variables  //  Prediction predc;  VectorFloat pred_coeff;  VectorFloat auto_coeff(input_a);  // set the order of the prediction coefficients  //  long order = auto_coeff.length();  pred_coeff.setLength(order);  // compute the prediction coefficients from the autocorrelation coefficients  //  predc.set(Prediction::AUTOCORRELATION, Prediction::DURBIN, order, range_a);  predc.compute(pred_coeff, auto_coeff, AlgorithmData::CORRELATION);  // negate the predictor coefficients  //  pred_coeff.neg();  // compute the magnitude spectrum  //  computeFourierMag(output_a, pred_coeff);    // exit gracefully  //  return true;}// method: computeFourierMag//// arguments://  VectorFloat& output: (output) spectrum//  const VectorFloat& input: (input) signal//// return: a boolean value indicating status//// this method computes the magnitude spectrum of the input signal for// FOURIER implementation type//boolean Spectrum::computeFourierMag(VectorFloat& output_a,				    const VectorFloat& input_a) {  // compute the complex spectrum  //  VectorComplexFloat tmp;  computeFourierComplex(tmp, input_a);  output_a.setLength(tmp.length());  // compute the magnitude spectrum:  //  magnitude spectrum = sqrt(real^2 + imag^2)  //  for (long i = 0; i < tmp.length(); i++) {    Float sq_spec;    Float real(tmp(i).real());    Float imag(tmp(i).imag());    sq_spec = real.square() + imag.square();    output_a(i) = sq_spec.sqrt();  }    // exit gracefully  //  return true;}// method: computeReflectionComplex//// arguments://  VectorComplexFloat& output: (output) spectrum//  const VectorFloat& input: (input) signal//  double range: (input) dynamic range//// return: a boolean value indicating status//// this method computes the complex spectrum of the input signal for// REFLECTION implementation type//boolean Spectrum::computeReflectionComplex(VectorComplexFloat& output_a,					   const VectorFloat& input_a,					   double range_a) {  // declare local variables  //  Prediction predc;  VectorFloat pred_coeff;  VectorFloat refl_coeff(input_a);  // set the order of the prediction coefficients  //  long order = refl_coeff.length() + 1;  pred_coeff.setLength(order);    // determine the prediction coefficients form the reflection coefficients  //  predc.set(Prediction::REFLECTION, Prediction::STEP_DOWN, order, range_a);  predc.compute(pred_coeff, refl_coeff, AlgorithmData::REFLECTION);  // negate the predictor coefficients  //  pred_coeff.neg();    // compute the magnitude spectrum  //  computeFourierComplex(output_a, pred_coeff);  // exit gracefully  //  return true;}// method: computePredictionComplex//// arguments://  VectorComplexFloat& output: (output) spectrum//  const VectorFloat& input: (input) signal//// return: a boolean value indicating status//// this method computes the complex spectrum of the input signal for// PREDICTION implementation type//boolean Spectrum::computePredictionComplex(VectorComplexFloat& output_a,					   const VectorFloat& input_a) {  // declare local variables  //  VectorFloat pred_coeff(input_a);  // negate the predictor coefficients  //  pred_coeff.neg();    // compute the magnitude spectrum  //  computeFourierComplex(output_a, pred_coeff);    // exit gracefully  //  return true;}// method: computeCorrelationComplex//// arguments://  VectorComplexFloat& output: (output) spectrum//  const VectorFloat& input: (input) signal//  double range: (input) dynamic range//// return: a boolean value indicating status//// this method computes the complex spectrum of the input signal for// CORRELATION implementation type//boolean Spectrum::computeCorrelationComplex(VectorComplexFloat& output_a,					    const VectorFloat& input_a,					    double range_a) {  // declare local variables  //  Prediction predc;  VectorFloat pred_coeff;  VectorFloat auto_coeff(input_a);  // set the order of the prediction coefficients  //  long order = auto_coeff.length();  pred_coeff.setLength(order);  // compute the prediction coefficients from the autocorrelation coefficients  //  predc.set(Prediction::AUTOCORRELATION, Prediction::DURBIN, order, range_a);  predc.compute(pred_coeff, auto_coeff, AlgorithmData::CORRELATION);  // negate the predictor coefficients  //  pred_coeff.neg();    // compute the magnitude spectrum  //  computeFourierComplex(output_a, pred_coeff);    // exit gracefully  //  return true;}// method: computeFourierComplex//// arguments://  VectorComplexFloat& output: (output) spectrum//  const VectorFloat& input: (input) signal//// return: a boolean value indicating status//// this method computes the spectrum of the input signal for FOURIER// algorithm type//boolean Spectrum::computeFourierComplex(VectorComplexFloat& output_a,					const VectorFloat& input_a) {  // call FourierTransform compute method with a user-specified order  //  return ft_d.compute(output_a, input_a);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产凹凸成av人导航| 欧美精品国产精品| 天堂影院一区二区| 日韩av一区二区在线影视| 久久久久久久av麻豆果冻| 在线观看日韩电影| 成人激情av网| 蜜臀国产一区二区三区在线播放| 国产精品久久久久久久午夜片| 777色狠狠一区二区三区| 99精品桃花视频在线观看| 国产一区二区三区在线观看免费视频| 亚洲精品国产a| 国产精品色眯眯| 久久青草国产手机看片福利盒子| 欧美天天综合网| 91福利视频久久久久| 风间由美一区二区三区在线观看 | 久久成人羞羞网站| 一区二区三区资源| 国产精品久久久久毛片软件| 久久婷婷成人综合色| 欧美一区二区久久| 色拍拍在线精品视频8848| 亚洲在线观看免费视频| 成人午夜私人影院| 国产精品国产馆在线真实露脸| 欧美日韩国产首页在线观看| 91理论电影在线观看| 丁香婷婷综合色啪| 国产成人精品免费一区二区| 久久国产精品露脸对白| 日本网站在线观看一区二区三区| 亚洲一区在线电影| 一区二区激情视频| 亚洲欧美另类图片小说| 亚洲日本va午夜在线影院| 国产精品久久久久久久久免费丝袜| 久久免费视频色| 久久免费美女视频| 中文在线资源观看网站视频免费不卡 | 精品在线亚洲视频| 久久成人综合网| 狠狠色丁香久久婷婷综| 国产一区二区调教| 国产精品456| 成人av午夜影院| 97久久超碰国产精品| 一本色道综合亚洲| 在线观看91精品国产麻豆| 欧美一区二区不卡视频| 精品国产伦理网| 久久综合九色综合欧美就去吻| 国产欧美一区二区三区沐欲| 欧美一区二区三区四区在线观看| 中文字幕日韩一区二区| 欧美精品日日鲁夜夜添| 欧美一区二区三区四区久久| 欧美一级欧美三级在线观看 | 欧美日韩亚州综合| 亚洲精品国产无天堂网2021| 中文字幕在线一区二区三区| 亚洲男人天堂一区| 日韩经典中文字幕一区| 久久av中文字幕片| 成人一区在线看| 在线一区二区三区做爰视频网站| 欧美久久一二区| 26uuu亚洲| 亚洲欧美一区二区三区久本道91| 亚洲线精品一区二区三区八戒| 视频一区国产视频| 国产精品一级黄| 色乱码一区二区三区88| 欧美一区二区免费| 国产精品沙发午睡系列990531| 中文一区二区在线观看| 亚洲国产综合色| 欧美日韩精品系列| 色一情一乱一乱一91av| 欧美精品三级在线观看| 日本一区二区三级电影在线观看| 亚洲欧洲一区二区在线播放| 日韩国产精品久久| 成人久久18免费网站麻豆| 欧美精品黑人性xxxx| 欧美国产日韩亚洲一区| 午夜电影久久久| 国产91精品免费| 3atv在线一区二区三区| 亚洲欧美综合另类在线卡通| 日韩高清不卡在线| 波多野结衣亚洲| 欧美一级日韩不卡播放免费| 最新国产成人在线观看| 麻豆精品视频在线观看免费| 日本韩国欧美三级| 男人的天堂久久精品| 国产91精品在线观看| 91精品国产91久久久久久最新毛片| 国产精品久久久久永久免费观看 | 国产在线精品国自产拍免费| 欧美影视一区二区三区| 国产亚洲欧美色| 国产精品久久久久婷婷二区次| 日韩毛片视频在线看| 精品一区二区三区香蕉蜜桃| 五月婷婷另类国产| a在线欧美一区| 26uuu久久综合| 日韩中文字幕亚洲一区二区va在线| jlzzjlzz亚洲女人18| 欧美sm极限捆绑bd| 日韩中文字幕一区二区三区| 欧美午夜不卡视频| 日韩理论片网站| 国产成人免费在线观看| 精品人在线二区三区| 秋霞午夜av一区二区三区| 在线免费观看一区| 一区二区三区中文字幕精品精品| 丁香婷婷综合激情五月色| 91麻豆精品国产91久久久资源速度 | 67194成人在线观看| 一区二区三区中文在线观看| 99久久国产综合精品女不卡 | 国产一区二区三区免费观看| 日韩免费观看2025年上映的电影| 蜜桃视频一区二区| 日韩精品电影在线观看| 91国偷自产一区二区三区成为亚洲经典| 91免费看`日韩一区二区| 国产日本亚洲高清| 国产成人综合在线播放| 国产亚洲自拍一区| 在线成人免费观看| 国产精品18久久久久| 国产乱码精品一区二区三区忘忧草| 国产69精品久久久久毛片| 日韩天堂在线观看| 精品一区二区精品| 久久美女艺术照精彩视频福利播放 | 亚洲乱码中文字幕| 91福利在线看| 视频一区二区欧美| 日韩视频一区二区三区在线播放| 免费人成在线不卡| 久久网站热最新地址| 欧美一区二区三区在线观看| 久久久99精品久久| 欧美体内she精高潮| 日韩国产高清影视| 欧美变态tickling挠脚心| 国产一区二区不卡| 国产精品福利av| 在线观看国产精品网站| 婷婷久久综合九色国产成人| 欧美一区二区高清| 国产精品综合视频| 国产精品二三区| 欧美色综合天天久久综合精品| 日本特黄久久久高潮| 欧美激情一区二区三区全黄| 91蜜桃视频在线| 日韩精品每日更新| 91丨porny丨最新| 91精品国产综合久久精品性色| 在线视频一区二区三| 91视频国产观看| 日本高清视频一区二区| 色综合天天狠狠| 99国产精品久久久久久久久久 | 亚洲免费在线视频一区 二区| 亚洲国产精品一区二区久久| 麻豆精品一区二区三区| 99在线精品免费| 日韩一级黄色片| 中文字幕佐山爱一区二区免费| 婷婷久久综合九色国产成人| 丁香一区二区三区| 在线播放欧美女士性生活| 中文字幕一区三区| 成人一区在线看| 国产欧美日韩精品在线| 日韩精品乱码av一区二区| 欧美日韩国产综合视频在线观看| 国产精品毛片大码女人| 国产精品无码永久免费888| 国产午夜精品美女毛片视频| 亚洲综合一区二区三区| 美女脱光内衣内裤视频久久网站| 精品一区二区影视| 日韩欧美www| 91网站在线播放| 麻豆久久一区二区| 一区二区免费在线| 国产日韩欧美综合一区| 在线播放国产精品二区一二区四区| 国产精品一线二线三线精华| 丁香另类激情小说|