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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? hshell.c

?? 隱馬爾科夫模型工具箱
?? C
?? 第 1 頁(yè) / 共 4 頁(yè)
字號(hào):
/* ----------------------------------------------------------- *//*                                                             *//*                          ___                                *//*                       |_| | |_/   SPEECH                    *//*                       | | | | \   RECOGNITION               *//*                       =========   SOFTWARE                  */ /*                                                             *//*                                                             *//* ----------------------------------------------------------- *//* developed at:                                               *//*                                                             *//*      Speech Vision and Robotics group                       *//*      Cambridge University Engineering Department            *//*      http://svr-www.eng.cam.ac.uk/                          *//*                                                             *//*      Entropic Cambridge Research Laboratory                 *//*      (now part of Microsoft)                                *//*                                                             *//* ----------------------------------------------------------- *//*         Copyright: Microsoft Corporation                    *//*          1995-2000 Redmond, Washington USA                  *//*                    http://www.microsoft.com                 *//*                                                             *//*          2001-2002 Cambridge University                     *//*                    Engineering Department                   *//*                                                             *//*   Use of this software is governed by a License Agreement   *//*    ** See the file License for the Conditions of Use  **    *//*    **     This banner notice must not be removed      **    *//*                                                             *//* ----------------------------------------------------------- *//*         File: HShell.c:   Interface to the Shell            *//* ----------------------------------------------------------- */char *hshell_version = "!HVER!HShell:   3.2 [CUED 09/12/02]";char *hshell_vc_id = "$Id: HShell.c,v 1.12 2002/12/19 16:37:11 ge204 Exp $";#include "HShell.h"#ifdef WIN32#include <windows.h>#include <mmsystem.h>#include <fcntl.h>#endif#ifdef UNIX#include <sys/ioctl.h>#endif/* ------------------------ Trace Flags --------------------- */static int trace = 0;#define T_IOP   0002       /* i/o input via FOpen */#define T_EXF   0004       /* extended file name processing *//* --------------------- Global Variables ------------------- */static Boolean infoPrinted = FALSE;      /* set when -A -B or -V is used */static Boolean abortOnError = FALSE;     /* causes HError to abort */static Boolean printVersionInfo = FALSE; /* request version info */static Boolean showConfig = FALSE;       /* show configuration params */static Boolean noNumEscapes = FALSE;     /* Prevent writing in \012 format */static Boolean natReadOrder = FALSE;     /* Preserve natural mach read order*/static Boolean natWriteOrder = FALSE;    /* Preserve natural mach write order*/static Boolean extendedFileNames = TRUE; /* allow extended file names *//* Global variable indicating VAX-order architecture for storing numbers */Boolean vaxOrder = FALSE;#define MAXEFS 5                        /* max num ext files to remember */typedef struct {                        /* extended file name */   char logfile[1024];                  /* logical name */   char actfile[1024];                  /* actual file name */   long stindex;                        /* start sample to extract */   long enindex;                        /* end sample to extract */}ExtFile;static ExtFile extFiles[MAXEFS];        /* circ buf of ext file names */static int extFileNext = 0;             /* next slot to save into */static int extFileUsed = 0;             /* total ext files in buffer *//* ------------- Extended File Name Handling ---------------- *//* RegisterExtFileName: record details of fn exts if any in circ buffer */static char * RegisterExtFileName(char *s){   char *eq,*rb,*lb,*co;   char buf[1024];   ExtFile *p;   strcpy(buf,s);   eq = strchr(buf,'=');   lb = strchr(buf,'[');   if (eq == NULL && lb == NULL)       return s;   if (trace&T_EXF)      printf("Ext File Name: %s\n",buf);   p = extFiles+extFileNext;   ++extFileNext;    if (extFileNext==MAXEFS)       extFileNext=0;   if (extFileUsed < MAXEFS)       ++extFileUsed;   p->stindex = p->enindex = -1;   if (lb!=NULL) {      if ((co = strchr(buf,',')) == NULL)         HError(5024,"RegisterExtFileName: comma missing in index spec");      if ((rb = strchr(buf,']')) == NULL)         HError(5024,"RegisterExtFileName: ] missing in index spec");      *rb = '\0'; p->enindex = atol(co+1);      *co = '\0'; p->stindex = atol(lb+1);      *lb = '\0';   }   if (eq!=NULL) {      strcpy(p->actfile,eq+1); *eq = '\0';      strcpy(p->logfile,buf);   } else {      strcpy(p->logfile,buf);      strcpy(p->actfile,buf);   }   if (trace&T_EXF) {      printf("%s=%s", p->logfile, p->actfile);      if(p->stindex >=0)          printf("[%ld,%ld]", p->stindex, p->enindex);      printf("\n");   }   return p->logfile;}/* GetFileNameExt: return true if given file has extensions and return   the extend info.  The problem with this routine is that the logical   name can be repeated in the buffer.  This is normally handled by    comparing the pointer rather than the string itself.  However, if   the application copies the logical file name, this would break.   Hence, if the pointer is not there, the name is searched for   going back in time.  If the name is found and it occurs more   than once, a warning is printed.*/Boolean GetFileNameExt(char *logfn, char *actfn, long *st, long *en){   int i, noccs;   ExtFile *p;   Boolean found = FALSE;   Boolean ambiguous = FALSE;   /* First count number of times logfn occurs in buffer */   noccs = 0;   for (i=0,p=extFiles; i<extFileUsed; i++,p++){      if (strcmp(logfn,p->logfile) == 0 )          ++noccs;   }   if (noccs==0)       return FALSE;   /* Try to find the logfn, by pointer first */   for (i=0,p=extFiles; i<extFileUsed && !found; i++){      if (logfn == p->logfile)          found = TRUE;       else          p++;   }   if (!found) {   /* look for actual name */      if (noccs>1)          ambiguous = TRUE;      p = extFiles + extFileNext;      for (i=0; i<extFileUsed && !found; i++){         if (p==extFiles)             p += MAXEFS;         else            p--;         if (strcmp(logfn,p->logfile) == 0 )             found = TRUE;      }   }   if (!found)       return FALSE;   /* Copy back info and warn if ambiguous */   strcpy(actfn,p->actfile);   *st = p->stindex; *en = p->enindex;   if (trace&T_EXF)      printf("%sFile Ext found: %s=%s[%ld,%ld]\n",             (ambiguous) ? "Ambiguous " : "",             logfn, actfn, *st, *en);   if (ambiguous)      HError(-1,"GetFileNameExt: ambiguous extended file name %s=%s[%ld,%ld]",             logfn, actfn, *st, *en);   return TRUE;}/* --------------------- Version Display -------------------- */typedef struct _VersionEntry{   char *ver;   char *sccs;   struct _VersionEntry *next;}VersionEntry;static VersionEntry *vInfoHd = NULL;  /* head of version info list */static VersionEntry *vInfoTl = NULL;  /* tail of version info list *//* EXPORT->Register:module name with HTK version info ver and sccs info */void Register(char *ver, char *sccs){   VersionEntry *v;   v = (VersionEntry *)malloc(sizeof(VersionEntry));   v->ver  = (char *)malloc(strlen(ver)+1);   strcpy(v->ver,ver);   v->sccs = (char *)malloc(strlen(sccs)+1);   strcpy(v->sccs,sccs);   v->next = NULL;   if (vInfoTl==NULL) vInfoHd = v; else vInfoTl->next = v;    vInfoTl = v;}/* PrVInfo: print version info */static void PrVInfo(char *s,char *sccs){   char buf[MAXSTRLEN];   char *name,*ver,*who,*date,*p;      strcpy(buf,s);   if ((p=strrchr(buf,']')) == NULL)      HError(5070,"PrVInfo: no ']' in %s",s);   *p = '\0';   if ((p=strrchr(buf,'[')) == NULL)      HError(5070,"PrVInfo: no '[' in %s",s);   who = p+1; *p = '\0';   if (strlen(who) <8)      HError(5070,"PrVInfo: who/date field too short in %s",s);   if ((p=strrchr(who,' ')) == NULL)      HError(5070,"PrVInfo: no space in who/date field in %s",s);   date = p+1; *p = '\0';   if ((p=strrchr(buf,'!')) == NULL)      HError(5070,"PrVInfo: no '!' in %s",s);   name = p+1;   if ((p=strchr(name,':')) == NULL)      HError(5070,"PrVInfo: no ':' in %s",s);   ver = p+1; *p = '\0';   while (*ver == ' ') ++ver;   if ((p=strchr(ver,' ')) != NULL) *p = '\0';   printf("%-10s %-10s %-6s %-9s : %s\n",name, ver, who, date, sccs);}/* EXPORT->InfoPrinted: true if info printed by Shell */Boolean InfoPrinted(void){   VersionEntry *v;   if (printVersionInfo) {      printf("\nHTK Version Information\n");      PrVInfo("!HVER!Module:  Version [Who Date]","CVS Info");      for (v = vInfoHd; v != NULL; v=v->next)         PrVInfo(v->ver,v->sccs);       printf("\n");   }   return infoPrinted;}/* ------------- Configuration Parameter File Handling --------------- *//*    A configuration file consists of a sequence of parameter declarations   of the form      [USER:]PARAM_NAME = VALUE         If included, USER indicates that the parameter is only visible to   the module or tool of the same name.  VALUE is an integer, float or   string.  A string is any sequence of nonblank characters, or any   sequence inside double quotes.Otherwise, the parameter is global.   Unless it appears inside a string, a hash (#) indicates that the   rest of the line is a comment.*/typedef struct _ConfigEntry{   ConfParam param;   struct _ConfigEntry *next;}ConfigEntry;static int numConfigParms = 0;static ConfigEntry *confList = NULL;static char *cfkmap[] = {    "StrCKind","IntCKind","FltCKind","BoolCKind","AnyCKind"};/* ReadConfName: read module or paramname field and cvt to ucase */static Boolean ReadConfName(Source *src, char *s){   int i,c;   while (isspace(c=GetCh(src)));   if (c == EOF) return FALSE;   for (i=0; i<MAXSTRLEN ; i++){      if (c == EOF || isspace(c) || !isalnum(c)){         if (c==':' || c=='=') UnGetCh(c,src);         s[i] = '\0';         return TRUE;      }      s[i] = toupper(c); c = GetCh(src);   }        return FALSE;}/* FindConfEntry: return entry with given name and user */static ConfigEntry *FindConfEntry(char *user, char *name){   ConfigEntry *e;   char *s;      for (e=confList; e!= NULL; e=e->next)      if (strcmp(e->param.name,name)==0){         s = e->param.user;         if (s==NULL?user==NULL:(user!=NULL && strcmp(s,user)==0) )            return e;      }   return NULL;}/* NumHead: returns TRUE if the first two chars of a string             are ('+'|'-') digit | digit */static Boolean NumHead(char *s){   if (*s!='\0')      if (isdigit(*s))         return TRUE;   if (((*s=='-') || (*s=='+')) && (isdigit(*(s+1))))      return TRUE;   return FALSE;}/* ParseInclude: skip comments or return #include argument */static char *ParseComment(Source *src,char *name){   const char comch = '#';   int c;   char buf[MAXSTRLEN];   c = GetCh(src);   while (c!=EOF && (isspace(c) || c==comch)) {      if (c==comch) {         src->wasNewline=FALSE;         SkipWhiteSpace(src);         if(src->wasNewline){            c = GetCh(src);            continue;         }         if (ReadString(src,buf) && (strcmp(buf,"include")==0)) {            if (ReadString(src,name)) {               SkipLine(src);               return name;            }         }         SkipLine(src);      }      c = GetCh(src);   }   UnGetCh(c,src);   return NULL;}/* ReadConfigFile: read the given configuration file */static ReturnStatus ReadConfigFile(char *fname){   double x;   Source src;   ConfigEntry *e;   Boolean gotParam,hasUser;   char c,*s,buf[32],sbuf[MAXSTRLEN];   char user[MAXSTRLEN],name[MAXSTRLEN],value[MAXSTRLEN];   static int recurse = 0;   if (recurse++ > 15){       HRError(5050,"ReadConfigFile: max #include depth reached (%s)",fname);      recurse--;      return(FAIL);   }      if(InitSource(fname,&src,NoFilter)<SUCCESS){      HRError(5010,"ReadConfigFile: Can't open file %s", fname);      return(FAIL);   }      /* skip comments and parse #include */   while (ParseComment(&src,name)!=NULL) {      PathOf(name,sbuf);      if (*sbuf=='\0') PathOf(fname,sbuf);      strcat(sbuf,name);      if(ReadConfigFile(sbuf)<SUCCESS){         recurse--;         return(FAIL);      }   }   hasUser=FALSE;   gotParam = ReadConfName(&src,name);   while (gotParam) {      while (isspace(c=GetCh(&src)));        if (c==':') {  /* user field given */         hasUser = TRUE; strcpy(user,name);         if (!ReadConfName(&src,name)){            HRError(5050,"ReadConfigFile: param name expected %s",                    SrcPosition(src,buf));            recurse--;            return(FAIL);         }         while (isspace(c=GetCh(&src)));        }      if (c != '='){         HRError(5050,"ReadConfigFile: = expected %s",                 SrcPosition(src,buf));         recurse--;         return(FAIL);      }      if (!ReadString(&src,value)){         HRError(5050,"ReadConfig: parameter value expected %s",                 SrcPosition(src,buf));         recurse--;         return(FAIL);      }      e = FindConfEntry(hasUser?user:NULL,name);      if (e==NULL){ /* new param */         e = (ConfigEntry *) malloc(sizeof(ConfigEntry));         e->next = confList; confList = e;         e->param.seen = FALSE;         ++numConfigParms;      }      if (hasUser){         e->param.user = (char *) malloc(strlen(user)+1);         strcpy(e->param.user,user);      }else         e->param.user = NULL;         e->param.name = (char *) malloc(strlen(name)+1);      strcpy(e->param.name,name);      if (strcmp(value,"T")==0 || strcmp(value,"TRUE")==0) {         e->param.kind = BoolCKind; e->param.val.b = TRUE;      } else          if (strcmp(value,"F")==0 || strcmp(value,"FALSE")==0) {            e->param.kind = BoolCKind; e->param.val.b = FALSE;         } else             if (NumHead(value)){               x = strtod(value,&s);               if (s==NULL || *s == '\0'){                  if (strchr(value,'.') == NULL){                     e->param.kind = IntCKind;                      e->param.val.i = strtol(value,NULL,0);                  }else{                     e->param.kind = FltCKind;                      e->param.val.f = x;                  }               }            } else {               e->param.kind = StrCKind;                e->param.val.s = (char *) malloc(strlen(value)+1);               strcpy(e->param.val.s,value);            }      /* skip comments and parse #include */      while (ParseComment(&src,name)!=NULL) {         PathOf(name,sbuf);         if (*sbuf=='\0') PathOf(fname,sbuf);         strcat(sbuf,name);         if(ReadConfigFile(sbuf)<SUCCESS){            recurse--;            return(FAIL);         }      }      hasUser=FALSE;      gotParam = ReadConfName(&src,name);   }   recurse--;   return(SUCCESS);}/* EXPORT PrintConfig: print the current config params */void PrintConfig(void){   ConfigEntry *e;      printf("\n");   if (numConfigParms==0)      printf("No HTK Configuration Parameters Set\n");   else {      printf("HTK Configuration Parameters[%d]\n",numConfigParms);      printf("  %-14s  %-14s  %16s\n","Module/Tool","Parameter","Value");      for (e=confList; e!= NULL; e=e->next){         printf("%c %-14s  %-14s  ",(e->param.seen?' ':'#'),                e->param.user==NULL?"":e->param.user,e->param.name);         switch(e->param.kind){         case StrCKind:  printf("%16s",e->param.val.s); break;         case BoolCKind: printf("%16s",e->param.val.b?"TRUE":"FALSE"); break;         case IntCKind:  printf("%16d",e->param.val.i); break;         case FltCKind:  printf("%16f",e->param.val.f); break;         }         printf("\n");      }   }   printf("\n");}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美sm美女调教| 欧美美女直播网站| 黄色日韩网站视频| 洋洋成人永久网站入口| 国产亚洲一区二区三区四区| 国产欧美一区二区精品婷婷 | 亚洲动漫第一页| 日本亚洲三级在线| 一区二区三区日韩精品| 国产精品毛片大码女人| 国产丝袜在线精品| 国产日产欧美一区| 国产精品久久久久四虎| 国产精品嫩草影院com| 精品99一区二区| 91精品国产福利| 91精品福利在线一区二区三区 | 精品国产乱码久久久久久夜甘婷婷| 91片在线免费观看| 91色乱码一区二区三区| www.亚洲人| 在线观看免费亚洲| 8x8x8国产精品| 欧美精品一区二区三区蜜桃视频 | 日韩精品电影在线| 日韩精品亚洲一区| 蜜桃视频一区二区三区| 日韩精品乱码av一区二区| 蜜臀久久久99精品久久久久久| 男人的j进女人的j一区| 成人av免费在线| 欧美日韩视频在线第一区| 26uuu精品一区二区在线观看| 国产亚洲精久久久久久| 亚洲精品乱码久久久久| 九一九一国产精品| 黄色日韩网站视频| 国产一区二区女| 99视频精品免费视频| 91在线无精精品入口| 欧美在线你懂的| 国产女同互慰高潮91漫画| 亚洲视频免费在线| 国内一区二区视频| 成人av电影在线| 日韩视频一区在线观看| 日韩美女久久久| 国产成人精品免费在线| 欧美一级在线视频| 一区二区三区四区av| 国产999精品久久久久久| 欧美午夜精品电影| 中文字幕欧美激情一区| 日韩电影在线看| 欧美美女黄视频| 欧美国产欧美亚州国产日韩mv天天看完整 | 成人美女在线视频| 精品国产乱子伦一区| 石原莉奈在线亚洲二区| 日本韩国一区二区三区视频| 国产欧美一区二区在线观看| 国产另类ts人妖一区二区| 在线播放91灌醉迷j高跟美女| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 欧美三级欧美一级| 一区二区三区中文字幕电影| 91欧美一区二区| 亚洲免费在线视频一区 二区| 成人在线综合网| 国产精品国产三级国产普通话三级| 激情文学综合丁香| 国产日韩欧美综合在线| 丁香啪啪综合成人亚洲小说| 国产欧美一区二区精品婷婷| 91丨porny丨首页| 日韩和欧美的一区| 久久网站最新地址| 色综合欧美在线视频区| 亚洲综合激情另类小说区| 欧美日韩国产高清一区二区三区 | 国产精品一二三区| 亚洲男人的天堂在线aⅴ视频 | 国产欧美精品日韩区二区麻豆天美| 粉嫩av一区二区三区| 一区二区三区免费观看| 欧美成人精品二区三区99精品| 成人手机在线视频| 天涯成人国产亚洲精品一区av| 久久夜色精品国产噜噜av| 欧美日韩一级片在线观看| 蜜臀va亚洲va欧美va天堂| 国产欧美日韩一区二区三区在线观看| av午夜精品一区二区三区| 亚洲国产成人av网| 国产亚洲欧美色| 欧美日韩成人高清| 不卡av在线免费观看| 蜜臀av亚洲一区中文字幕| 亚洲天天做日日做天天谢日日欢| 91麻豆精品国产91久久久更新时间| 懂色av中文字幕一区二区三区| 亚洲成人午夜影院| 黑人巨大精品欧美一区| 一区二区三区 在线观看视频| wwwwxxxxx欧美| 日韩一区二区三区在线| 欧美色区777第一页| 色88888久久久久久影院按摩| 国产suv精品一区二区三区| 捆绑调教一区二区三区| 日韩激情视频在线观看| 亚洲激情图片小说视频| 综合久久国产九一剧情麻豆| 国产视频亚洲色图| 日日噜噜夜夜狠狠视频欧美人 | 亚洲第一电影网| 亚洲精品视频一区| 亚洲美女免费视频| 亚洲一区二区三区小说| 亚洲国产美国国产综合一区二区 | 婷婷开心激情综合| 奇米影视一区二区三区小说| 日韩成人一区二区| 美女视频黄久久| 国产成人精品一区二区三区四区 | 色综合天天天天做夜夜夜夜做| 97se亚洲国产综合在线| 欧美亚洲愉拍一区二区| 欧美一区二区黄| 国产拍欧美日韩视频二区| 国产欧美精品区一区二区三区| 国产精品私人影院| 亚洲午夜在线电影| 久久狠狠亚洲综合| eeuss鲁片一区二区三区在线看| 在线视频一区二区三| 91超碰这里只有精品国产| 日韩精品中文字幕在线一区| 久久久久久久久久久黄色| 亚洲欧美激情插| 久久激情综合网| 一本大道久久精品懂色aⅴ| 欧美理论在线播放| 亚洲人成在线观看一区二区| 亚洲大片免费看| 福利电影一区二区| 欧美高清激情brazzers| 中文字幕日韩av资源站| 青青草一区二区三区| av电影一区二区| 26uuu国产在线精品一区二区| 自拍视频在线观看一区二区| 麻豆视频一区二区| 精品视频免费看| 国产精品欧美一级免费| 激情久久久久久久久久久久久久久久| 色婷婷综合久久久久中文一区二区 | 一区二区三区在线免费视频| 狠狠狠色丁香婷婷综合激情| 欧美中文字幕一区二区三区| 中文字幕免费不卡| 久久99国产精品麻豆| 精品视频999| 一区二区三区精品在线观看| 成人黄色软件下载| 国产精品久久久久久户外露出| 国产不卡视频在线播放| 亚洲大片免费看| 欧洲亚洲精品在线| 一二三四区精品视频| 91国偷自产一区二区开放时间| 久久九九久精品国产免费直播| 久久97超碰国产精品超碰| 欧美一级xxx| 国产盗摄一区二区| 中文字幕一区视频| 色综合婷婷久久| 天天爽夜夜爽夜夜爽精品视频| 欧美日韩国产精品自在自线| 亚洲国产精品影院| 日韩亚洲欧美在线| 国产精品主播直播| 国产精品视频在线看| 91蜜桃网址入口| 日本视频在线一区| 国产三级精品三级| 91福利精品视频| 视频一区中文字幕国产| 久久午夜免费电影| 欧美午夜精品久久久久久超碰| 日本午夜精品视频在线观看| 国产喷白浆一区二区三区| 欧美日本国产一区| 国产91清纯白嫩初高中在线观看 | 欧美伊人久久久久久久久影院| 亚洲成人免费影院| 久久影院午夜论| 欧美日韩精品综合在线| 福利一区二区在线观看| 日本亚洲最大的色成网站www|