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

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

?? paramselect.c

?? about sound recognition.i want to downlod
?? C
字號:
/** * @file   paramselect.c * @author Akinobu LEE * @date   Sun Feb 13 20:46:39 2005 * * <JA> * @brief  パラメ〖タベクトルの房のチェックと拇臘 * * %HMMと掐蝸潑魔パラメ〖タの房をチェックしますˉタイプが辦米しない眷圭· * 潑魔パラメ〖タの辦嬸を猴近することで辦米するよう拇臘できるかどうか * を活みますˉ∈毋¨潑魔翁ファイルが MFCC_E_D_Z (26肌傅) で涂えられた * とき·不讀モデルが MFCC_E_D_N_Z (25肌傅) である眷圭·冷灤猛パワ〖灌を * 汗し苞くことで拇臘できますˉ∷ * * 拇臘アルゴリズムは笆布のとおりですˉ *    -# 掐蝸の稱ベクトル妥燎に灤炳するマ〖クを 0 に介袋步 *    -# %HMMで妥滇されている房に灤炳しないベクトル妥燎に 1 をマ〖クする *    -# 糠たにパラメ〖タ撾拌を澄瘦し·澀妥な妥燎∈マ〖クされていない妥燎∷ *       のみをコピ〖するˉ *  * </JA> * <EN> * @brief  Check and adjust parameter vector types * * This file is to check if %HMM parameter and input parameter are the same. * If they are not the same, it then tries to modify the input to match the * required format in %HMM.  Available parameter modification is only to * delete some part of the parameter (ex. MFCC_E_D_Z (26 dim.) can be * modified to MFCC_E_D_N_Z (25 dim.) by just deleting the absolute power). * Note that no parameter generation or conversion is implemented currently. * * The adjustment algorithm is as follows: *    -# Initialize mark to 0 for each input vector element. *    -# Compare parameter type and mark unnecessary element as EXCLUDE(=1). *    -# Allocate a new parameter area and copy needed (=NOT marked) element. * </EN> * * $Revision: 1.3 $ *  *//* * Copyright (c) 1991-2006 Kawahara Lab., Kyoto University * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology * Copyright (c) 2005-2006 Julius project team, Nagoya Institute of Technology * All rights reserved */#include <sent/stddefs.h>#include <sent/htk_param.h>#include <sent/htk_hmm.h>/* vector mark & delete */static int *vmark;		///< Exclusion marks of input vectorstatic int vlen;		///< Length of abovestatic int vnewlen;		///< Adjusted new lengthstatic short src_type;		///< Newly set source type/**  * Allocate new area for exclusion marks. *  * @param param [in] input parameter */static voidinit_mark(HTK_Param *param){  int i;  vmark = (int *)mymalloc(sizeof(int) * param->veclen);  vlen = param->veclen;  for (i=0;i<vlen;i++) {    vmark[i] = 0;  }}/**  * Free the exclusion marks. *  */static voidfree_mark(){  free(vmark);}/**  * Put exlusion marks for vector for @a len elements from @a loc -th dimension. *  * @param loc [in] beginning dimension to mark * @param len [in] number of dimension to mark from @a loc */static voidmark_exclude_vector(int loc, int len){  int i;#ifdef DEBUG  j_printf("delmark: %d-%d\n",loc, loc+len-1);#endif  for (i=0;i<len;i++) {    if (loc + i >= vlen) {      j_error("delmark buffer exceeded!!\n");    }    vmark[loc+i] = 1;  }#ifdef DEBUG  j_printf("now :");  for (i=0;i<vlen;i++) {    if (vmark[i] == 1) {      j_printf("-");    } else {      j_printf("O");    }  }  j_printf("\n");#endif}/** * @brief  Execute exclusion for a parameter data according to the * exclusion marks. *  * Execute vector element exclusion by copying vector from @a src to @a new * according to the current exclusion marks.  The parameter vector of @a new * will be newly allocated here. *  * @param new [out] new adjusted parameter * @param src [in] source parameter */static voidexec_exclude_vectors(HTK_Param *new, HTK_Param *src){  int i, loc;  unsigned int t;  /* src ---(vmark)--> new */  /* new length */  new->veclen = vnewlen;#ifdef DEBUG  j_printf("new length = %d\n", new->veclen);#endif  /* malloc */  new->samplenum = src->samplenum;  new->parvec = (VECT **)mymalloc(sizeof(VECT *) * new->samplenum);    for(t = 0; t < src->samplenum; t++) {    new->parvec[t] = (VECT *)mymalloc(sizeof(VECT) * new->veclen);    loc = 0;    for (i=0;i<src->veclen;i++) {      if (vmark[i] == 0) {	/* not delete == copy */	new->parvec[t][loc] = src->parvec[t][i];	loc++;      }    }  }}/**  * @brief  Execute deletion for one vector according to the exlusion marks. * * This can be used to frame-synchronous parameter adjustment. *  * @param vec [I/O] target vector * @param len [in]  length of above *  * @return the new length. */intexec_exclude_one_vector(VECT *vec, int len){  int i,loc;    loc = 0;  for (i=0;i<len;i++) {    if (vmark[i] == 0) {	/* not delete == copy */      vec[loc] = vec[i];      loc++;    }  }  return(loc);}/**  * Guess the length of the base coefficient according to the total vector * length and parameter type. *  * @param p [in] parameter data * @param qualtype [in] parameter type *  * @return the guessed size of the base coefficient. */intguess_basenum(HTK_Param *p, short qualtype){  int size;  int compnum;    compnum = 1 + ((qualtype & F_DELTA) ? 1 : 0) + ((qualtype & F_ACCL) ? 1 : 0);    size = p->veclen;  if (p->header.samptype & F_ENERGY_SUP) size += 1;  if ((size % compnum) != 0) {    j_printerr("ERROR: illegal vector length (should not happen)!\n");    return -1;  }  size /= compnum;  if (p->header.samptype & F_ENERGY) size -= 1;  if (p->header.samptype & F_ZEROTH) size -= 1;  return(size);}/* can add: _N *//* can sub: _E_D_A_0 *//**  * Compare source parameter type and required type in HTK %HMM, and set mark. *  * @param src [in] input parameter * @param dst_type_arg [in] required parameter type *  * @return TRUE on success, FALSE on failure. */booleanselect_param_vmark(HTK_Param *src, short dst_type_arg){  short dst_type;  short del_type, add_type;  int basenum, pb[3],pe[3],p0[3]; /* location */  int i, len;  char srcstr[80], dststr[80], buf[80];  src_type = src->header.samptype & ~(F_COMPRESS | F_CHECKSUM);  src_type &= ~(F_BASEMASK);	/* only qualifier code needed */  srcstr[0] = '\0';  param_qualcode2str(srcstr, src_type, FALSE);  dst_type = dst_type_arg & ~(F_COMPRESS | F_CHECKSUM);  dst_type &= ~(F_BASEMASK);	/* only qualifier code needed */  dststr[0] = '\0';  param_qualcode2str(dststr, dst_type, FALSE);#ifdef DEBUG  j_printf("try to select qualifiers: %s -> %s\n", srcstr, dststr);#endif  if (dst_type == F_ERR_INVALID) {    j_printerr("ERROR: unknown parameter kind for selection: %s\n", dststr);    return(FALSE);  }    /* guess base coefficient num */  basenum = guess_basenum(src, src_type);  if (basenum < 0) {		/* error */    return(FALSE);  }#ifdef DEBUG  j_printf("base num = %d\n", basenum);#endif  /* determine which component to use */  del_type = src_type & (~(dst_type));  add_type = (~(src_type)) & dst_type;  init_mark(src);  /* vector layout for exclusion*/  pb[0] = 0;  if ((src_type & F_ENERGY) && (src_type & F_ZEROTH)){    p0[0] = basenum;    pe[0] = basenum + 1;    len = basenum + 2;  } else if ((src_type & F_ENERGY) || (src_type & F_ZEROTH)){    p0[0] = pe[0] = basenum;    len = basenum + 1;  } else {    p0[0] = pe[0] = 0;    len = basenum;  }  for (i=1;i<3;i++) {    pb[i] = pb[i-1] + len;    pe[i] = pe[i-1] + len;    p0[i] = p0[i-1] + len;  }  if (src_type & F_ENERGY_SUP) {    pe[0] = 0;    for (i=1;i<3;i++) {      pb[i]--;      pe[i]--;      p0[i]--;    }  }    /* modification begin */  /* qualifier addition: "_N" */#ifdef DEBUG  buf[0] = '\0';  j_printf("try to add: %s\n", param_qualcode2str(buf, add_type, FALSE));#endif    if (add_type & F_ENERGY_SUP) {    if (src_type & F_ENERGY) {      mark_exclude_vector(pe[0], 1);      src_type = src_type | F_ENERGY_SUP;    } else if (src_type & F_ZEROTH) {      mark_exclude_vector(p0[0], 1);      src_type = src_type | F_ENERGY_SUP;    } else {      j_printerr("WARNING: \"_N\" needs \"_E\" or \"_0\". ignored\n");    }    add_type = add_type & (~(F_ENERGY_SUP)); /* set to 0 */  }  if (add_type != 0) {		/* others left */    buf[0] = '\0';    j_printerr("WARNING: can do only parameter exclusion. qualifiers %s ignored\n", param_qualcode2str(buf, add_type, FALSE));  }    /* qualifier excludeion: "_D","_A","_0","_E" */#ifdef DEBUG  buf[0] = '\0';  j_printf("try to del: %s\n", param_qualcode2str(buf, del_type, FALSE));#endif  if (del_type & F_DELTA) del_type |= F_ACCL;  /* mark delete vector */  if (del_type & F_ACCL) {    mark_exclude_vector(pb[2], len);    src_type &= ~(F_ACCL);    del_type &= ~(F_ACCL);  }  if (del_type & F_DELTA) {    mark_exclude_vector(pb[1], len);    src_type &= ~(F_DELTA);    del_type &= ~(F_DELTA);  }    if (del_type & F_ENERGY) {    mark_exclude_vector(pe[2], 1);    mark_exclude_vector(pe[1], 1);    if (!(src_type & F_ENERGY_SUP)) {      mark_exclude_vector(pe[0], 1);    }    src_type &= ~(F_ENERGY | F_ENERGY_SUP);    del_type &= ~(F_ENERGY | F_ENERGY_SUP);  }  if (del_type & F_ZEROTH) {    mark_exclude_vector(p0[2], 1);    mark_exclude_vector(p0[1], 1);    if (!(src_type & F_ENERGY_SUP)) {      mark_exclude_vector(p0[0], 1);    }    src_type &= ~(F_ZEROTH | F_ENERGY_SUP);    del_type &= ~(F_ZEROTH | F_ENERGY_SUP);  }    if (del_type != 0) {		/* left */    buf[0] = '\0';    j_printerr("WARNING: cannot exclude qualifiers %s. selection ignored\n", param_qualcode2str(buf, del_type, FALSE));  }  vnewlen = 0;  for (i=0;i<vlen;i++) {    if (vmark[i] == 0) vnewlen++;  }  return(TRUE);  }/**  * Extracts needed parameter vector specified in dst_type_arg from src, * and returns newly allocated parameter structure. *  * @param src [in] input parameter * @param dst_type_arg [in] required parameter type *  * @return newly allocated adjusted parameter, NULL on failure. */HTK_Param *new_select_param_kind(HTK_Param *src, short dst_type_arg){  HTK_Param *new;  /* prepare new parameter */  new = new_param();  /* mark to determine operation */  if (select_param_vmark(src, dst_type_arg) == FALSE) return(NULL);  /* execute deletion (copy needed to new param)*/  exec_exclude_vectors(new, src);    /* copy & set header info */  new->header.samplenum = src->header.samplenum;  new->header.wshift = src->header.wshift;  new->header.sampsize = new->veclen * sizeof(VECT);  new->header.samptype = src_type | (src->header.samptype & F_BASEMASK);  #ifdef DEBUG  j_printf("new param made: %s\n", param_code2str(buf, new->header.samptype, FALSE));#endif    free_mark();  return(new);}/**  * @brief  Top function to adjust parameter. * * It compares the types for the given parameter @a param and * %HMM definition @a hmminfo.  If type is not the same, adjustment will be * tried. * * If adjustment is performed, the input @a param will be freed and * the newly allocated adjusted parameter will be returned.  Otherwise,  * the original @a param will be returned. *  * @param hmminfo [in] HTK %HMM definition * @param param [i/o] input parameter, will be freed if adjustment was * performed in this function * @param vflag [in] if TRUE, output verbose messages *  * @return the original @a param if no adjustment needed, newly allocated param * is adjustment was needed and successfully done, NULL on failure (in case * parameter type does not match even by the adjustment). */HTK_Param *new_param_check_and_adjust(HTK_HMM_INFO *hmminfo, HTK_Param *param, boolean vflag){  HTK_Param *selected_param;  char pbuf[80],hbuf[80];    param_code2str(pbuf, (short)(param->header.samptype & ~(F_COMPRESS | F_CHECKSUM)), FALSE);  param_code2str(hbuf, hmminfo->opt.param_type, FALSE);    if (!check_param_basetype(hmminfo, param)) {    /* error if base type not match */    j_printerr("Error: incompatible parameter type\n");    j_printerr("  HMM  trained  by %s(%d)\n", hbuf, hmminfo->opt.vec_size);    j_printerr("input parameter is %s(%d)\n", pbuf, param->veclen);    return NULL;  }  if (!check_param_coherence(hmminfo, param)) {    /* try to select needed parameter vector */    if (vflag) j_printerr("attach %s", pbuf);    selected_param = new_select_param_kind(param, hmminfo->opt.param_type);    if (selected_param == NULL) {      if (vflag) j_printerr("->%s failed\n", hbuf);      j_printerr("Error: incompatible parameter type\n");      j_printerr("  HMM  trained  by %s(%d)\n", hbuf, hmminfo->opt.vec_size);      j_printerr("input parameter is %s(%d)\n", pbuf, param->veclen);      return NULL;    }    param_code2str(pbuf, selected_param->header.samptype, FALSE);    if (vflag) j_printerr("->%s\n", pbuf);    free_param(param);    return(selected_param);  }  return(param);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久嫩草精品久久久久| 国产亚洲综合色| 99亚偷拍自图区亚洲| 国产毛片精品一区| 欧美日韩在线精品一区二区三区激情| 一区二区三区高清不卡| 中文字幕久久午夜不卡| 国产亚洲综合av| 91丨porny丨最新| 欧美日韩一级片网站| 亚洲欧美日韩在线不卡| 国产剧情一区二区| 91精品国产综合久久精品图片 | 蜜臀va亚洲va欧美va天堂| av亚洲产国偷v产偷v自拍| 精品久久久久久综合日本欧美| 亚洲国产精品麻豆| 99久久精品国产毛片| 国产亚洲精品久| 久久国产婷婷国产香蕉| 777精品伊人久久久久大香线蕉| ...中文天堂在线一区| 国产成人av电影在线观看| 精品久久久久一区二区国产| 蜜桃久久久久久| 日韩久久精品一区| 极品销魂美女一区二区三区| 日韩午夜在线播放| 久久爱另类一区二区小说| 日韩视频免费观看高清在线视频| 亚洲国产精品久久久男人的天堂| 欧洲亚洲国产日韩| 亚洲国产一区二区在线播放| 91国偷自产一区二区三区成为亚洲经典| 久久精品在这里| 国产成人精品午夜视频免费| 欧美激情自拍偷拍| 99精品在线观看视频| 亚洲人吸女人奶水| 欧美综合在线视频| 亚洲国产va精品久久久不卡综合| 欧美在线免费观看亚洲| 亚洲一区二区三区在线看| 91久久一区二区| 亚洲一二三区视频在线观看| 欧美日韩在线三区| 奇米777欧美一区二区| 精品国产不卡一区二区三区| 国产乱人伦精品一区二区在线观看 | 亚洲午夜一二三区视频| 欧美放荡的少妇| 激情丁香综合五月| 国产精品久久久久久久久免费相片| heyzo一本久久综合| 一区二区三区高清| 日韩一区二区电影网| 韩国一区二区三区| 国产精品视频一区二区三区不卡| voyeur盗摄精品| 亚洲成a天堂v人片| 精品国产制服丝袜高跟| 不卡视频在线观看| 天堂影院一区二区| 欧美—级在线免费片| 欧美性猛交xxxx乱大交退制版| 蜜乳av一区二区| 国产精品久久毛片a| 777亚洲妇女| aaa国产一区| 日韩影院免费视频| 国产精品美女一区二区在线观看| 精品视频在线视频| www.欧美.com| 日本不卡一区二区三区高清视频| 国产精品国产成人国产三级| 欧美一区二区三区视频免费播放| 成人美女在线观看| 日韩福利视频导航| 亚洲黄色在线视频| 久久免费的精品国产v∧| 欧美日韩一区成人| 暴力调教一区二区三区| 久久精品国产久精国产爱| 亚洲激情图片一区| 欧美激情一区二区| 日韩视频在线你懂得| 日本精品视频一区二区| 国产精品一区二区在线看| 秋霞午夜av一区二区三区| 一区二区三区美女视频| 久久久久久**毛片大全| 91精品在线一区二区| 在线视频一区二区免费| 国产999精品久久| 国产综合一区二区| 久久国产麻豆精品| 亚洲成人动漫精品| 艳妇臀荡乳欲伦亚洲一区| 中文字幕精品一区| 国产欧美日韩不卡免费| 国产午夜精品久久久久久免费视| 日韩精品专区在线影院重磅| 在线看国产日韩| 在线观看91视频| 91久久精品一区二区三区| 春色校园综合激情亚洲| 懂色av一区二区三区免费观看| 美国一区二区三区在线播放| 日韩精品一二三区| 青青草成人在线观看| 天堂久久一区二区三区| 日韩在线一区二区三区| 免费久久精品视频| 久色婷婷小香蕉久久| 免费三级欧美电影| 美女性感视频久久| 国产一区视频导航| 国产麻豆精品久久一二三| 国产传媒日韩欧美成人| 国产白丝精品91爽爽久久| www.亚洲人| 色婷婷久久一区二区三区麻豆| 色88888久久久久久影院按摩| 一本色道久久加勒比精品| 日本精品一区二区三区高清| 欧美色图一区二区三区| 欧美一区二区在线看| 精品国产免费人成在线观看| 久久精品视频网| 国产精品久久二区二区| 亚洲线精品一区二区三区| 免费精品视频最新在线| 国产毛片精品一区| 91色综合久久久久婷婷| 欧美男同性恋视频网站| 日韩亚洲欧美成人一区| 国产亚洲精品精华液| 亚洲免费大片在线观看| 午夜精品久久久久久久久久 | 亚洲激情自拍偷拍| 亚洲成人免费电影| 国产另类ts人妖一区二区| 99久久免费精品高清特色大片| 在线视频欧美精品| 日韩欧美二区三区| 综合激情网...| 日本网站在线观看一区二区三区| 国内精品久久久久影院一蜜桃| www.日韩av| 日韩欧美成人激情| 中文字幕在线观看不卡| 日韩国产欧美在线观看| gogogo免费视频观看亚洲一| 欧美性欧美巨大黑白大战| 久久久久久99久久久精品网站| 一区二区不卡在线视频 午夜欧美不卡在| 香蕉加勒比综合久久| 成人污视频在线观看| 欧美久久久久久久久中文字幕| 久久久久久久久久久久久女国产乱| 亚洲精品国产视频| 国产乱色国产精品免费视频| 欧美日韩激情一区二区| 国产精品久久久久久久久晋中 | 91麻豆精东视频| 欧美变态口味重另类| 亚洲午夜一区二区三区| 成人精品鲁一区一区二区| 欧美一区二区三区小说| 亚洲一区二区欧美激情| 国产成人av电影免费在线观看| 欧美日韩精品一区二区三区| 国产精品国产三级国产有无不卡| 奇米影视7777精品一区二区| 色婷婷国产精品| 欧美韩国日本不卡| 国产一区二区调教| 欧美电影免费观看高清完整版在 | 国产精品欧美久久久久一区二区| 日本亚洲电影天堂| 欧美性欧美巨大黑白大战| 1000部国产精品成人观看| 久久er精品视频| 91精品国产福利| 亚洲成人午夜影院| 欧美亚洲国产一区二区三区va | 午夜日韩在线电影| 色偷偷一区二区三区| 中文字幕永久在线不卡| 国产一区激情在线| 精品免费日韩av| 精品亚洲porn| 日韩精品一区二区三区视频播放| 午夜影院久久久| 欧美男人的天堂一二区| 亚洲成人av在线电影| 在线电影院国产精品| 日本欧美一区二区在线观看| 在线电影欧美成精品| 日韩精品久久久久久|