00001
00002
00004
00029 #pragma once
00030
00031
00032
00033 #include "libutil.h"
00034 #include "HLabConst.h"
00035
00036 #ifdef WIN32
00037 #if defined _USRDLL
00038 #define DllExport _declspec(dllexport)
00039 #else
00040 #define DllExport _declspec(dllimport)
00041 #endif
00042 #else
00043 #define DllExport
00044 #endif
00045
00046
00047 class DllExport CHLabConfig
00048 {
00049 private:
00050 static arg_t m_defn[];
00051
00052 protected:
00053
00054 const char* m_pszPhoneFile;
00055 const char* m_pszDictFile;
00056 const char* m_pszLSNFile;
00057 const char* m_pszControlFile;
00058 const char* m_pszFeatDir;
00059 const char* m_pszFeatExt;
00060 const char* m_pszBufferDir;
00061 const char* m_pszModelDir;
00062 int m_iFeatLen;
00063 int m_iNumStatesPerHMM;
00064
00065 public:
00066
00075 CHLabConfig();
00076 virtual ~CHLabConfig();
00077
00078 public:
00079
00080 inline const char* GetPhoneFile()
00081 {
00082 return m_pszPhoneFile;
00083 }
00084
00085 inline const char* GetDictFile()
00086 {
00087 return m_pszDictFile;
00088 }
00089
00090 inline const char* GetControlFile()
00091 {
00092 return m_pszControlFile;
00093 }
00094
00095 inline const char* GetTranscriptionFile()
00096 {
00097 return m_pszLSNFile;
00098 }
00099
00100 inline const char* GetFeatDir()
00101 {
00102 return m_pszFeatDir;
00103 }
00104
00105 inline const char* GetFeatExt()
00106 {
00107 return m_pszFeatExt;
00108 }
00109
00110 inline const char* GetModelDir()
00111 {
00112 return m_pszModelDir;
00113 }
00114
00115 inline int GetFeatLen()
00116 {
00117 return m_iFeatLen;
00118 }
00119
00120
00121
00122 inline int GetNumStatesPerHMM()
00123 {
00124 return m_iNumStatesPerHMM;
00125 }
00126
00127
00128
00129
00130
00131
00132 int m_iParam;
00133
00134
00135 float64 m_dAlpha;
00136
00137 float64 m_dSampRate;
00138
00139 int32 m_iBlockSize;
00140
00141
00142 int32 m_iVAD;
00143
00144
00145 int32 m_iMTPN;
00146
00147
00148 int32 m_iMVN;
00149
00150
00151 int32 m_iMPN;
00152
00153 int32 m_iMVPN;
00154
00155 int32 m_iMPVN;
00156
00157
00158 int32 m_iDisplay;
00159
00160 float64 m_dLamda;
00161 float64 m_dPLamda;
00162
00163 int32 m_iPreUtt;
00164
00165 int32 m_iMVNVAD;
00166
00168
00169
00170
00171 int32 m_bSpec;
00172 int32 m_bSpec2cep;
00173
00174
00175
00176
00177 float64 m_dc0th;
00178
00179 float64 m_dSilWeighting;
00180
00181
00182 const char* m_pszInWaveFileName;
00183
00184 const char* m_pszInEndian;
00185
00186 const char* m_pszInFormat;
00187
00188
00189
00190
00191
00192
00193
00194 int32 m_iNumFilts;
00195
00196
00197 const char* m_pszHistFile;
00198
00199 const char* m_pszInWaveFile;
00200
00201
00202 const char* m_pszOutFeatFile;
00203
00204 const char* m_pszOutEndian;
00205
00206
00207 const char* m_pszMachEndian;
00208
00209
00210 const char* m_pszOutFormat;
00211
00212
00213 const char* m_pszLogFileName;
00214
00215 static const char* DEFAULT_BLOCKSIZE;
00216
00217
00218 const char* m_pszAnalFilterBank;
00219 const char* m_pszSynFilterBank;
00220
00221 int32 m_iTotalSpeechLen;
00222 int32 m_iNumBlocks;
00223 int32 m_iSpeechLen;
00224
00225 int32 m_iFFTSize;
00226
00227
00228
00229 float64 m_dWindowLen;
00230 float64 m_dFramePeriod;
00231
00232
00233
00234 int32 Init(void);
00235 int32 ParseCommandLine(int argc, char** argv);
00236 };
00237
00238