Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

vocabulary.h

Go to the documentation of this file.
00001 
00035 /*
00036  * Copyright (c) 1991-2006 Kawahara Lab., Kyoto University
00037  * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
00038  * Copyright (c) 2005-2006 Julius project team, Nagoya Institute of Technology, Nagoya Institute of Technology
00039  * All rights reserved
00040  */
00041 
00042 #ifndef __SENT_VOCA_H__
00043 #define __SENT_VOCA_H__
00044 
00045 #include <sent/stddefs.h>
00046 #include <sent/htk_hmm.h>
00047 
00049 #define BEGIN_WORD_DEFAULT "<s>"
00050 
00051 #define END_WORD_DEFAULT "</s>"
00052 
00054 #define MAXWSTEP 4000
00055 
00057 typedef struct {
00058   WORD_ID       maxnum;         
00059   WORD_ID       num;            
00060   WORD_ID       errnum;         
00061   unsigned char *wlen;          
00062   
00063   char          **wname;        
00064   char          **woutput;      
00065   HMM_Logical   ***wseq;        
00066   WORD_ID       *wton;          
00067 #ifdef CLASS_NGRAM
00068   LOGPROB       *cprob;         
00069   WORD_ID       cwnum;          
00070 #endif
00071   WORD_ID       head_silwid;    
00072   WORD_ID       tail_silwid;    
00073   short         maxwn;          
00074   short         maxwlen;        
00075   boolean       *is_transparent; 
00076   APATNODE      *errph_root; 
00077 } WORD_INFO;
00078 
00079 
00080 WORD_INFO *word_info_new();
00081 void word_info_free(WORD_INFO *winfo);
00082 void winfo_init(WORD_INFO *winfo);
00083 void winfo_expand(WORD_INFO *winfo);
00084 boolean init_voca(WORD_INFO *winfo, char *filename, HTK_HMM_INFO *hmminfo, boolean, boolean);
00085 boolean voca_load_htkdict(FILE *, WORD_INFO *, HTK_HMM_INFO *, boolean);
00086 boolean voca_load_htkdict_fd(int, WORD_INFO *, HTK_HMM_INFO *, boolean);
00087 boolean voca_load_htkdict_sd(int, WORD_INFO *, HTK_HMM_INFO *, boolean);
00088 boolean voca_append_htkdict(char *entry, WORD_INFO *winfo, HTK_HMM_INFO *hmminfo, boolean ignore_tri_conv);
00089 void voca_append(WORD_INFO *dstinfo, WORD_INFO *srcinfo, int coffset, int woffset);
00090 
00091 boolean voca_load_htkdict_line(char *buf, int vnum, WORD_INFO *winfo, HTK_HMM_INFO *hmminfo, boolean do_conv, boolean *ok_flag);
00092 boolean voca_mono2tri(WORD_INFO *winfo, HTK_HMM_INFO *hmminfo);
00093 WORD_ID voca_lookup_wid(char *, WORD_INFO *);
00094 WORD_ID *new_str2wordseq(WORD_INFO *, char *, int *);
00095 char *cycle_triphone(char *p);
00096 char *cycle_triphone_flush();
00097 void print_voca_info(WORD_INFO *);
00098 void put_voca(WORD_INFO *winfo, WORD_ID wid);
00099 void put_voca_err(WORD_INFO *winfo, WORD_ID wid);
00100 
00101 /* HMMList check */
00102 void make_base_phone(HTK_HMM_INFO *hmminfo, WORD_INFO *winfo);
00103 void print_phone_info(HTK_HMM_INFO *hmminfo);
00104 void print_all_basephone_detail(HMM_basephone *base);
00105 void print_all_basephone_name(HMM_basephone *base);
00106 void test_interword_triphone(HTK_HMM_INFO *hmminfo, WORD_INFO *winfo);
00107 
00108 #endif /* __SENT_VOCA_H__ */

Generated on Tue Mar 28 16:01:39 2006 for Julius by  doxygen 1.4.2