00001
00010 #ifndef SEGDECODER_H_INCLUDED
00011 #define SEGDECODER_H_INCLUDED
00012 #include "segDecoder.h"
00013 #endif
00014 #if 0
00015 #include "SEGRec.h"
00016 #include "segSyntax.h"
00017 #include "segDecoder.h"
00018 #include "segV3Compat.h"
00019 #include "segConfig.h"
00020 #include "segOpMat.h"
00021 #include "segGrammar.h"
00022 #endif
00023
00024 #if 0
00025 #include "SEGTimit.h"
00026 #include "SEGMocha.h"
00027 #endif
00028
00029 int MakeStrictLRTopology(SEG_MODEL_SET *modelSet);
00030 int MLCheckModelSet(SEG_MODEL_SET *modelSet);
00031 int MLReadModelSet(char *modelList, SEG_MODEL_SET *modelSet, int *longestDur);
00032 int MLWriteModelSet(SEG_MODEL_SET *modelSet, char *dirName);
00033 double ViterbiDecoder(double **spData, int sT, int eT, SEG_SYNTAX synt, SEG_MODEL_SET hmm,
00034 int maxDur, SEG_DP_ITEM ***dpMat, double *segProb, int *breakPt);
00035 int FreeDPMat(SEG_DP_ITEM **dpMat, int numStates);
00036 int *RecoverStateSeq(SEG_SYNTAX syn, SEG_DP_ITEM **dpHist, int numVecs, int *numLabs);
00037
00038 SEG_STATE **RecoverStateIds(SEG_SYNTAX syn, int *stateSeq, int numVecs);
00039 SEG_ANN_DATA *RecoverRecogSeq(SEG_SYNTAX syn, SEG_DP_ITEM **dpMat, int numVecs, int numLabs);
00040 int FreeStateSeq(int *stateSeq);
00041 int WriteMLFData(SEG_ANN_DATA recOp, int nLabs, int winSize, FILE *mlfFile, char *labFileName);
00042 int GetDurationLimits(SEG_MODEL_SET models, SEG_SYNTAX synt, int eStates, int *minUttDur, int *maxUttDur);
00043 void segSetDecoderParams(SEG_DEC_PARAM dec_param);
00044 void segGetDecoderParams(SEG_DEC_PARAM *dec_param);
00045
00046
00047
00048 int MLIncrementLinearHMMAccumulators(SEG_STATE **stateId, int *stateSeq,
00049 SEG_SYNTAX syn, double **spData, int sT, int eT, int maxDur);
00050 int MLInitialiseHMMAccumulators(SEG_MODEL_SET *hmmSet);
00051 int MLReestSegModels(SEG_MODEL_SET *hmmSet, double minVar, double slopeRate,
00052 double varRate, double durRegParam);
00053
00054
00055 int GetSegVitConfig(char *cFile, char *hmmListFile, char *trnFile, int *maxIt,
00056 double *stopDiff, char *logFile, char *mlfFile, int *embedTrain, int *maxDur,
00057 double *minVar, char *hmmOpDir, int *runType, double *slopeRate,
00058 double *varRate, int *verbose, char *aMatFile, char *iMatFile,
00059 char *classFile, int *opMats, char *grammarFile, int *LMScale, char **dumpPtr);
00060
00061
00062 int ReadGrammar(char*, SEG_MODEL_SET, double**, double***, double**);
00063
00064
00065 int MakeTrainingSyntax(SEG_UTT_LIST_ITEM, SEG_MODEL_SET, SEG_SYNTAX*, int*);
00066 int MakeRecognitionSyntax(SEG_MODEL_SET, SEG_SYNTAX*, int, double*, double*, double**, double);
00067 int CheckSyn(SEG_MODEL_SET, SEG_SYNTAX*);
00068 int FreeSyntaxMemory(SEG_SYNTAX*, int);
00069