00001
00054
00055
00056
00057
00058
00059
00060
00061 #ifndef __SENT_HTK_PARAM_H__
00062 #define __SENT_HTK_PARAM_H__
00063
00064 #include <sent/stddefs.h>
00065 #include <sent/htk_defs.h>
00066
00068 typedef struct {
00069 unsigned int samplenum;
00070 unsigned int wshift;
00071 unsigned short sampsize;
00072 short samptype;
00073 } HTK_Param_Header;
00074
00076 typedef struct {
00077 HTK_Param_Header header;
00078 unsigned int samplenum;
00079 short veclen;
00080 VECT **parvec;
00081 short veclen_alloc;
00082 unsigned int samplenum_alloc;
00083 BMALLOC_BASE *mroot;
00084 } HTK_Param;
00085
00090 #define HTK_PARAM_INCREMENT_STEP_FRAME 200
00091
00092 boolean rdparam(char *, HTK_Param *);
00093 HTK_Param *new_param();
00094 void free_param(HTK_Param *);
00095 short param_qualstr2code(char *);
00096 short param_str2code(char *);
00097 char *param_qualcode2str(char *, short, boolean);
00098 char *param_code2str(char *, short, boolean);
00099 int guess_basenum(HTK_Param *p, short qualtype);
00100 boolean param_strip_zero(HTK_Param *param);
00101
00102 void param_init_content(HTK_Param *p);
00103 boolean param_alloc(HTK_Param *p, unsigned int samplenum, short veclen);
00104 void param_free_content(HTK_Param *p);
00105
00106
00107
00108 void put_param_head(FILE *fp, HTK_Param_Header *h);
00109 void put_vec(FILE *fp, VECT **p, int num, short veclen);
00110 void put_param(FILE *fp, HTK_Param *pinfo);
00111 void put_param_info(FILE *fp, HTK_Param *pinfo);
00112
00113 #endif