00001
00011 #if 0
00012 #define HTK_HEAD_SIZE 12
00013 #define TIMIT_RATE 16000
00014 #define NANO 10000000
00015 #endif
00016 #define NO_BREAK 0
00017 #define POS_BREAK 1
00018 #define FORCE_BREAK 2
00020
00021
00022
00023
00024
00025
00026
00027
00029 typedef struct segUttListItem {
00030 short numLabs;
00031 long startT;
00032 long endT;
00033 char **lab;
00034 } SEG_UTT_LIST_ITEM;
00035
00037 typedef struct segUttList {
00038 short numUtts;
00039 SEG_UTT_LIST_ITEM *uttLI;
00040 } SEG_UTT_LIST;
00041
00043 typedef struct segAnnData {
00044 short start;
00045 short end;
00046 char *label;
00047 } SEG_ANN_DATA;
00048
00049 int segCheckMasterList(SEG_UTT_LIST *uL, int detail);
00050 int segTime2FrameNum(SEG_UTT_LIST *uL, int winSize, int numVecs);
00051 int segFreeBreakPoints(int uttVecs, int **breakPt);
00052 int segFreeMasterList(int totLabs, SEG_UTT_LIST *masterList);
00053
00054 int segReadSpData(double ***spData, FILE *curSpFile, int numVecs, int vecSize);
00055 int segFreeSpData(int numVecs, double ***spData);
00056 int segCheckSpData(int sT, int eT, int vecSize, double **spData);
00057 int segJoinLabels(int *startT, int *endT, char ***labList, FILE *curLabFile, int nLabs);
00058 int segGetBreakPoints(int **breakPt, int startT, int endT, FILE *curLabFile,
00059 int emb, int winSize, int nLabs, int verbose);
00060 int segCountLabels(FILE *labFile, int numVecs, int winSize);
00061 int segWriteMLFData(SEG_ANN_DATA*, int, int, FILE*, char*);
00062