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

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

?? hlabel.c

?? 隱馬爾科夫模型工具箱
?? C
?? 第 1 頁 / 共 3 頁
字號:
}/* FindMLFStr: find the next quoted string in s */static Boolean FindMLFStr(char *s, char **st, char **en){   char *p,*q;      if (s==NULL || *s == '\0') return FALSE;   p = strchr(s,'"');   if (p==NULL || *(p+1)=='\0') return FALSE;   q = strchr(p+1,'"');   if (q==NULL) return FALSE;   *st = p; *en = q;   return TRUE;}/* FindMLFType: find a -> or => symbol in s if any */static MLFDefType FindMLFType(char *s, char **en){   char *p;      p=strchr(s+1,'>');   if (p!=NULL) {      *en = p;      if (*(p-1) == '-') return MLF_SIMPLE;      if (*(p-1) == '=') return MLF_FULL;   }   return MLF_IMMEDIATE;}/* NoMLFHeader: return true if s doesnt contain #!MLF!# */static Boolean NoMLFHeader(char *s){   int len;   char *e;      len = strlen(s);   while (isspace(*s) && len>7) {      --len; ++s;   }   e = s+len-1;   while (isspace(*e) && len>7) {      --len; --e;   }   if (len != 7) return TRUE;   *(e+1) = '\0';   return (strcmp(s,"#!MLF!#") != 0);}static Boolean incSpaces;/* IsDotLine: return true if line contains only a single dot */static Boolean IsDotLine(char *s){   int len;   char *e;   Boolean cut;   len = strlen(s);cut=FALSE;   if (s[len-1]=='\n') {      len--; s[len]=0;      if ((len>0) && (s[len-1]=='\r')) {         len--; s[len]=0;      }   }   if (compatMode) {      while (isspace(*s) && len>0) {         cut=TRUE;         --len; ++s;      }      e = s+len-1;      if (*e=='\n' && len>0) --len,--e;      while (isspace(*e) && len>0) {         cut=TRUE;         --len; --e;      }   }   if ((*s == '.') && (len == 1)) {      if (cut) incSpaces=TRUE;      return(TRUE);   }   if (compatMode && cut && len==strlen_LEVELSEP &&        strncmp(s,LEVELSEP,strlen_LEVELSEP)==0)      incSpaces=TRUE;   return(FALSE);}/* ClassifyMLFPattern: classify given pattern string */MLFPatType ClassifyMLFPattern(char *s){   char *t;      if (strchr(s,'?') != NULL) return PAT_GENERAL;   if (strchr(s,'*') == NULL) return PAT_FIXED;   if (strlen(s)<=2) return PAT_GENERAL;   if (s[0]!='*' || s[1]!=PATHCHAR) return PAT_GENERAL;   t = s+2;   if (strchr(t,'*') == NULL ) return PAT_ANYPATH;   return PAT_GENERAL;}/* MLFHash: hash the given string */static unsigned MLFHash(char *s){   unsigned hashval;   for (hashval=0; *s != '\0'; s++)      hashval = *s + 31*hashval;   return hashval;}/* EXPORT->LoadMasterFile: Load the Master Label File stored in fname                            and append the entries to the MLF table */void LoadMasterFile(char *fname){   char buf[1024];   char *men;        /* end of mode indicator */   char *pst,*pen;   /* start/end of pattern (inc quotes) */   char *dst,*den;   /* start/end of subdirectory (inc quotes) */   Boolean inEntry = FALSE;   /* ignore ".." within an entry */   MLFEntry *e;   FILE *f;      if (numMLFs == MAXMLFS)      HError(6520,"LoadMasterFile: MLF file limit reached [%d]",MAXMLFS);   if ((f = fopen(fname,"rb")) == NULL)      HError(6510,"LoadMasterFile: cannot open MLF %s",fname);   if (fgets(buf,1024,f) == NULL)      HError(6513,"LoadMasterFile: MLF file is empty");   if (NoMLFHeader(buf))      HError(6551,"LoadMasterFile: MLF file header is missing");    incSpaces=FALSE;   while (fgets(buf,1024,f) != NULL){      if (!inEntry && FindMLFStr(buf,&pst,&pen)) {         e = (MLFEntry *)New(&mlfHeap,sizeof(MLFEntry));         e->type = FindMLFType(pen+1,&men);         if (e->type == MLF_IMMEDIATE) {            e->def.immed.fidx = numMLFs;            e->def.immed.offset = ftell(f);            if (e->def.immed.offset < 0)               HError(6521,"LoadMasterFile: cant ftell on MLF file");            inEntry = TRUE;         } else {            if (!FindMLFStr(men+1,&dst,&den))               HError(6551,"LoadMasterFile: Missing subdir in MLF\n(%s)",buf);            *den = '\0';            e->def.subdir = NewString(&mlfHeap,den-dst-1);            strcpy(e->def.subdir,dst+1);         }         *pen = '\0';         /* overwrite trailing pattern quote */         ++pst;               /* skipover leading pattern quote */         e->patType = ClassifyMLFPattern(pst);         if (e->patType == PAT_ANYPATH)             pst += 2;         /* skipover leading "* /" */         e->pattern = NewString(&mlfHeap,pen-pst);         strcpy(e->pattern,pst);         e->patHash = (e->patType==PAT_GENERAL)?0:MLFHash(e->pattern);         StoreMLFEntry(e);      } else         if (inEntry && IsDotLine(buf)) inEntry = FALSE;   }   if (compatMode && incSpaces)      HError(-6551,"LoadMasterFile: . or %s on line with spaces in %s",             LEVELSEP,fname);   mlfile[numMLFs++] = f;}/* EXPORT->NumMLFFiles: return number of loaded MLF files */int NumMLFFiles(void){   return numMLFs;}/* EXPORT->NumMLFEntries: return number of entries in the MLFTab */int NumMLFEntries(void){   return mlfUsed;}/* EXPORT->GetMLFFile: return fidx'th MLF file pointer */FILE *GetMLFFile(int fidx){   if (fidx<0 || fidx>=numMLFs)      HError(6520,"GetMLFFile: fidx out of range[%d]",fidx);   return mlfile[fidx];}/*EXPORT->IsMLFFile: return true if fn is an MLF */Boolean IsMLFFile(char *fn){   FILE *f;   char buf[1024];      if ((f = fopen(fn,"rb")) == NULL) return FALSE;   if (fgets(buf,1024,f) == NULL) {      fclose(f); return FALSE;   }   if (NoMLFHeader(buf)) {      fclose(f); return FALSE;   }   fclose(f); return TRUE;}/* EXPORT->GetMLFEntry: Return the first entry in the MLF table */MLFEntry *GetMLFTable(void){   return mlfHead;}/* SplitPath: last name in path is removed and prefixed to name, then              this new name is suffixed to subdir and stored in tryspec */            static void SplitPath(char *path, char *name, char *subdir, char *tryspec){   char buf1[1024],buf2[1024],*p;   char pch[2] = " ";      pch[0] = PATHCHAR;   PathOf(path,buf1); NameOf(path,buf2);   if (strlen(name)>0 ) strcat(buf2,pch);    /* new name */   strcat(buf2,name); strcpy(name,buf2);   p = buf1+strlen(buf1)-1;                  /* new path */   if (*p == PATHCHAR) *p = '\0';   strcpy(path,buf1);      strcpy(buf1,subdir);                      /* tryspec */   p = buf1+strlen(buf1)-1;   if (*p != PATHCHAR) strcat(buf1,pch);   strcat(buf1,name);   strcpy(tryspec,buf1);}/* OpenLabFile: opens a file corresponding to given fname, the file                returned may be a real file or simply the MLF seek'ed                to the start of an immediate file definition, isMLF                tells you which it is.  Returns NULL if nothing found  */static FILE * OpenLabFile(char *fname, Boolean *isMLF){   FILE *f;   MLFEntry *e;   char path[1024],name[256],tryspec[1024];   Boolean isMatch;   unsigned fixedHash;     /* hash value for PAT_FIXED */   unsigned anypathHash;   /* hash value for PAT_ANYPATH */    char *fnStart;          /* start of actual file name */   static MLFEntry *q=NULL;/* entry after last one accessed - checked first */      *isMLF = FALSE;    fixedHash = anypathHash = MLFHash(fname);   fnStart = strrchr(fname,PATHCHAR);   if (fnStart != NULL) {      ++fnStart;      anypathHash = MLFHash(fnStart);   } else       fnStart = fname;   if (trace&T_MLF)      printf("HLabel: Searching for label file %s\n",fname);   if (trace&T_MHASH)       printf("HLabel:  anypath hash = %d;  fixed hash = %d\n",anypathHash,fixedHash);   for (e=(q==NULL?mlfHead:q); e != NULL; e = (e==NULL?mlfHead:e->next)) {      switch (e->patType){      case PAT_GENERAL:         if (trace&T_MAT)             printf("HLabel:  general match against %s\n",e->pattern);         isMatch = DoMatch(fname,e->pattern);         break;      case PAT_ANYPATH:         if (trace&T_MAT)             printf("HLabel:  anypath match against %s[%d]\n",e->pattern,e->patHash);         if (e->patHash == anypathHash)            isMatch = strcmp(e->pattern,fnStart) == 0;         else            isMatch = FALSE;         break;      case PAT_FIXED:         if (trace&T_MAT)             printf("HLabel:  fixed match against %s[%d]\n",e->pattern,e->patHash);         if (e->patHash == fixedHash)            isMatch = strcmp(e->pattern,fname) == 0;         else            isMatch = FALSE;         break;      }      if ( isMatch ) {         if (e->type == MLF_IMMEDIATE) {            f = mlfile[e->def.immed.fidx];            if (fseek(f,e->def.immed.offset,SEEK_SET) != 0)               HError(6521,"OpenLabFile: cant seek to label def in MLF");            *isMLF=TRUE;            if (trace&T_MLF)               printf("HLabel: Loading Immediate Def [Pattern %s]\n",                      e->pattern);            q=e->next;            return f;         } else {            name[0] = '\0'; strcpy(path,fname);            SplitPath(path,name,e->def.subdir,tryspec);            if (trace&T_SUBD)               printf("HLabel: trying %s\n",tryspec);            f = fopen(tryspec,"rb");            while (f==NULL && e->type == MLF_FULL && strlen(path)>0) {               SplitPath(path,name,e->def.subdir,tryspec);               if (trace&T_SUBD)                  printf("HLabel: trying %s\n",tryspec);               f = fopen(tryspec,"rb");            }            if (f != NULL) {               if (trace&T_MLF)                  printf("HLabel: Loading Label File %s [Pattern %s]\n",                         tryspec,e->pattern);               return f;            }         }      }      if (q!=NULL) e=NULL;      q = NULL;   }   /* No MLF Match so try direct open */     if (trace&T_SUBD)      printf("HLabel: trying actual file %s\n",fname);   f = fopen(fname,"rb");   if (f !=NULL && trace&T_MLF)      printf("HLabel: Loading Actual Label File %s\n", fname);   return f;}/* ------------------ Label File Opening/Closing -------------------- *//* EXPORT->LOpen: Load transcription in fname and return it */Transcription *LOpen(MemHeap *x, char * fname, FileFormat fmt){   FILE *f;   Source source;   char buf[MAXSTRLEN];   Transcription *t;   Boolean isMLF;   if (fmt == UNDEFF){      if (GetConfStr(cParm,numParm,"SOURCELABEL",buf))         fmt = Str2Format(buf);      else         fmt = HTK;   }   if ((f=OpenLabFile(fname, &isMLF)) == NULL)      HError(6510,"LOpen: Unable to open label file %s",fname);   AttachSource(f,&source);   strcpy(source.name,fname);   t = CreateTranscription(x);   switch (fmt) {   case TIMIT:    LoadTIMITLabels(x,t,&source); break;   case HTK:      LoadHTKLabels(x,t,&source); break;   case SCRIBE:   LoadSCRIBELabels(x,t,&source); break;   case ESPS:     LoadESPSLabels(x,t,&source); break;   default:      HError(6572,"LOpen: Illegal label file format [%d]",fmt);   }   if (!isMLF) fclose(f);   if (transLev > 0) FilterLevel(t,transLev-1);   return t;}   /* EXPORT->SaveToMasterfile: make all subsequent LSaves go to fname */ReturnStatus SaveToMasterfile(char *fname){   int i;   LabId nid;   OutMLFEntry *omlf;   char buf[MAXSTRLEN];   if (fname==NULL || *fname=='\0') {      outMLF=NULL;       return (FAIL);   }   sprintf(buf,"#!MLF-%s!#",fname);   if ((nid=GetLabId(buf,FALSE))!=NULL) {      for (omlf=outMLFSet, i=0; i<numOutMLF; i++, omlf++)         if (omlf->name==nid) break;      if (i<numOutMLF) {         if ((outMLF = omlf->file)==NULL){            HRError(6511,"SaveToMasterfile: MLF file %s already closed",fname);            return(FAIL);         }         return(SUCCESS);      }   }   if (numOutMLF==MAXMLFS-1){      HRError(6511,"SaveToMasterfile: Unable to create MLF file %s",fname);      return(FAIL);   }   if ((outMLF=fopen(fname,"w")) == NULL){      HRError(6511,"SaveToMasterfile: Unable to create MLF file %s",fname);      return(FAIL);   }   fprintf(outMLF,"#!MLF!#\n");   nid = GetLabId(buf,TRUE);   outMLFSet[numOutMLF].file = outMLF;   outMLFSet[numOutMLF].name = nid;   numOutMLF++;   return(SUCCESS);}/* EXPORT->CloseMLFSaveFile: Close the MLF output file */void CloseMLFSaveFile(void){   int i;   OutMLFEntry *omlf;   if (outMLF != NULL) {      fclose(outMLF);      for (omlf=outMLFSet,i=0; i<numOutMLF; i++,omlf++)         if (omlf->file==outMLF) {            omlf->file = NULL;            break;         }      outMLF = NULL;   }}/* SaveESPSLabels: Save transcription in f using ESPSwaves format */static void SaveESPSLabels( FILE *f, Transcription *t){   LabList *ll;   LLink p;      if ( t->numLists > 1 )      HError(6572,"SaveESPSLabels: can't save multiple level transcription.");   fprintf(f,"#\n");    /* Write waves label header */   ll = t->head;   for (p=ll->head->succ; p->succ != NULL; p=p->succ)      fprintf(f,"%f 121 %s\n", (p->end+0.5)*1E-7, p->labid->name);}/* SaveHTKLabels: Save transcription in f using HTK format */static void SaveHTKLabels( FILE *f, Transcription *t) {   int i,j;   LabList *ll;   LLink p,hd;   LabId id;   Boolean hasScores[100];   ll = t->head;   for (i=1; i<=t->numLists; i++,ll=ll->next){      hd = ll->head;      /* See which columns have scores */      for (j=0; j<=ll->maxAuxLab; j++)         hasScores[j] = FALSE;      for (p = hd->succ; p->succ != NULL; p = p->succ){         if (p->score != 0.0)            hasScores[0] = TRUE;         for (j=1; j<=ll->maxAuxLab; j++)            if (p->auxScore[j] != 0.0)               hasScores[j] = TRUE;      }      for (p = hd->succ; p->succ != NULL; p = p->succ) {         if (p->start>=0.0) {            fprintf(f,"%.0f ",p->start);            if (p->end>=0.0)                fprintf(f,"%.0f ",p->end);         }         WriteString(f,p->labid->name,labelQuote);         if (hasScores[0])            fprintf(f," %f",p->score);         for (j=1; j<=ll->maxAuxLab; j++) {            id = p->auxLab[j];            if (id !=NULL){               fputc(' ',f);               WriteString(f,id->name,labelQuote);               if (hasScores[j])                  fprintf(f," %f",p->auxScore[j]);            }         }         fprintf(f,"\n");      }      if (i<t->numLists)         fprintf(f,"%s\n",LEVELSEP);   }}/* EXPORT->LSave: Save transcription in fname */ReturnStatus LSave(char *fname, Transcription *t, FileFormat fmt){   FILE *f;   char buf[MAXSTRLEN];   if (fmt == UNDEFF){      if (GetConfStr(cParm,numParm,"TARGETLABEL",buf))         fmt = Str2Format(buf);      else         fmt = HTK;   }   if (outMLF != NULL) {      if (fmt != HTK){         HRError(6572,"LSave: cant save to MLF in %s format",Format2Str(fmt));         return(FAIL);      }      f = outMLF;                      /* save to MLF file */      fprintf(f,"\"%s\"\n",fname);   } else                              /* else open new one */      if ((f=fopen(fname,"wb")) == NULL){         HRError(6511,"LSave: Unable to create label file %s",fname);         return(FAIL);      }   if (trace&T_SAV)      printf("HLabel: Saving transcription to %s in format %s\n",             fname,Format2Str(fmt));   switch (fmt) {   case HTK:    SaveHTKLabels( f, t);   break;   case ESPS:   SaveESPSLabels(f, t);   break;   default: HRError(6572,"LSave: Illegal label file format.");       fclose(f);      return(FAIL);      break;   }   if (outMLF != NULL && fmt==HTK){      fprintf(f,".\n");  fflush(f);   }else      fclose(f);   return(SUCCESS);}/* ------------------------ End of HLabel.c ------------------------- */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人影视亚洲图片在线| 欧美国产日本韩| av福利精品导航| 国产精品综合一区二区三区| 日韩激情一区二区| 一区二区免费看| 亚洲精品日产精品乱码不卡| 亚洲色图视频网| 亚洲精品久久久蜜桃| 亚洲精品视频一区二区| 亚洲国产色一区| 日韩国产在线观看| 麻豆一区二区三| 黄色成人免费在线| 国产不卡在线视频| 不卡的av网站| 欧美日韩一级片网站| 欧美老年两性高潮| 日韩精品最新网址| 欧美激情一区不卡| 亚洲乱码国产乱码精品精小说| 亚洲小少妇裸体bbw| 日韩精品久久理论片| 国产在线视频一区二区三区| 成人高清免费在线播放| 色吧成人激情小说| 日韩丝袜情趣美女图片| 中文字幕精品在线不卡| 亚洲一区二区精品视频| 蜜桃一区二区三区在线观看| 国产麻豆精品久久一二三| av网站免费线看精品| 7777精品伊人久久久大香线蕉最新版| 欧美白人最猛性xxxxx69交| 国产精品―色哟哟| 亚洲国产精品一区二区久久恐怖片 | 国产自产高清不卡| av男人天堂一区| 日韩欧美一区中文| 一区二区三区在线视频免费观看 | 韩国三级电影一区二区| 色综合天天综合色综合av| 欧美一级理论性理论a| 国产精品另类一区| 琪琪一区二区三区| 91老师国产黑色丝袜在线| 欧美电视剧免费全集观看| 伊人色综合久久天天人手人婷| 精品写真视频在线观看| 欧美午夜精品一区二区蜜桃| 国产午夜精品久久久久久免费视| 亚洲午夜精品在线| 欧美性三三影院| 国产色一区二区| 麻豆成人在线观看| 欧美日韩国产高清一区| 国产精品久久三| 精品在线视频一区| 777欧美精品| 午夜一区二区三区在线观看| 不卡在线观看av| 精品日韩av一区二区| 日韩精品一级中文字幕精品视频免费观看 | 亚洲一区二区三区在线播放| 成人在线视频一区| 久久久综合激的五月天| 日韩专区中文字幕一区二区| 日本伦理一区二区| 亚洲男同性恋视频| 99久久综合国产精品| 国产欧美一区二区三区在线看蜜臀 | 欧美韩国日本一区| 国内精品写真在线观看| 欧美mv和日韩mv的网站| 日本欧美久久久久免费播放网| 欧美性猛片aaaaaaa做受| 伊人一区二区三区| 91久久精品一区二区三| 一卡二卡欧美日韩| 欧美日免费三级在线| 一区二区三区波多野结衣在线观看| 99视频国产精品| 中文字幕永久在线不卡| 91在线视频官网| 一区二区三区不卡视频在线观看| 欧美视频自拍偷拍| 久久精品国产77777蜜臀| 91精品国产综合久久精品| 日韩av电影免费观看高清完整版在线观看| 欧美日韩情趣电影| 日本aⅴ精品一区二区三区 | 日本高清不卡一区| 亚洲综合精品自拍| 欧美丰满一区二区免费视频| 五月天婷婷综合| 日韩精品资源二区在线| 国产成人8x视频一区二区| 国产精品久久久久婷婷二区次| 91丨九色丨黑人外教| 亚洲成人免费影院| xf在线a精品一区二区视频网站| 国产成人综合在线观看| 中文字幕在线观看一区| 欧美日韩一区二区电影| 毛片av一区二区| 中文字幕免费一区| 色av成人天堂桃色av| 日韩激情在线观看| 国产精品国产自产拍高清av| 欧亚一区二区三区| 国产一区不卡精品| 亚洲少妇最新在线视频| 欧美一区二区三区系列电影| 国产一区二区看久久| 亚洲一区精品在线| 国产午夜精品一区二区三区四区 | 欧美人与z0zoxxxx视频| 激情五月婷婷综合| 亚洲美女在线国产| 精品处破学生在线二十三| 日本久久电影网| 国内外成人在线视频| 亚洲一区av在线| 欧美高清在线精品一区| 67194成人在线观看| 成人黄页毛片网站| 极品少妇一区二区| 亚洲成人精品一区二区| 国产精品二区一区二区aⅴ污介绍| 7777精品伊人久久久大香线蕉的 | 日本不卡一二三区黄网| 亚洲欧美成人一区二区三区| 久久久美女毛片| 日韩一级大片在线观看| 91搞黄在线观看| 不卡在线视频中文字幕| 国产一区二区三区免费观看| 亚洲国产精品视频| 成人免费一区二区三区在线观看| 日韩一区二区免费在线电影| 91精品福利在线| 国产乱人伦精品一区二区在线观看 | 99精品视频在线免费观看| 国产在线看一区| 九九九久久久精品| 日韩高清不卡一区二区| 亚洲妇熟xx妇色黄| 亚洲精品中文字幕在线观看| 成人欧美一区二区三区视频网页| 欧美韩国日本一区| 欧美国产日韩a欧美在线观看 | 日本亚洲免费观看| 日韩二区在线观看| 天天影视涩香欲综合网| 午夜欧美视频在线观看| 亚洲国产欧美日韩另类综合| 又紧又大又爽精品一区二区| 一区二区三区免费网站| 一区二区三区中文字幕精品精品| 亚洲欧洲精品一区二区精品久久久| 国产免费观看久久| 成人欧美一区二区三区1314| 亚洲综合成人在线| 五月天精品一区二区三区| 美国欧美日韩国产在线播放| 久久 天天综合| 国产精品99久久久久久有的能看| 国产一区二区免费在线| 成人午夜激情在线| 日本道免费精品一区二区三区| 在线视频欧美精品| 91麻豆精品国产91久久久久| 欧美v国产在线一区二区三区| 久久午夜免费电影| 亚洲欧洲日韩女同| 亚洲综合视频在线| 老司机精品视频一区二区三区| 国产精品77777| 色婷婷av一区二区三区之一色屋| 欧美三区免费完整视频在线观看| 欧美一级精品大片| 国产欧美日韩卡一| 亚洲mv在线观看| 久久不见久久见中文字幕免费| 国产丶欧美丶日本不卡视频| 99国产欧美另类久久久精品| 在线看一区二区| www国产亚洲精品久久麻豆| 全国精品久久少妇| 国产精品一区二区久久精品爱涩 | 8v天堂国产在线一区二区| 精品国产免费一区二区三区香蕉| 中文字幕中文字幕中文字幕亚洲无线| 夜夜精品浪潮av一区二区三区| 美女视频黄 久久| 91在线观看地址| 日韩精品一区二区三区四区 | 蜜桃久久av一区| 99久久久无码国产精品| 日韩三级视频中文字幕|