/** * @file htk_defs.h * * * @brief Symbol definitions for HTK HMM and HTK parameter * * This file defines symbols for HMM parameter definition needed * for both HMM definition file and HMM parameter file. * * @sa htk_hmm.h * @sa htk_param.h * * * @brief HTKの特徴パラメータの形式に関する定義 * * このファイルには, HTK形式のHMM定義ファイル,あるいはHTK形式の * パラメータファイルを読み込む際に必要な,パラメータ型に関連する * 定義が納められています. * * @sa htk_hmm.h * @sa htk_param.h * * * @author Akinobu LEE * @date Thu Feb 10 19:36:47 2005 * * $Revision: 1.5 $ * */ /* * Copyright (c) 1991-2012 Kawahara Lab., Kyoto University * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology * Copyright (c) 2005-2012 Julius project team, Nagoya Institute of Technology * All rights reserved */ #ifndef __SENT_HTK_DEFS_H__ #define __SENT_HTK_DEFS_H__ /// Definition of input parameter types derived from HTK enum parameter_type { F_WAVEFORM, ///< Waveform format F_LPC, ///< LPC --- linear prediction coef. F_LPREFC, ///< linear prediction refrection coef. F_LPCEPSTRA, ///< LPC cepstrum F_LPDELCEP, F_IREFC, F_MFCC, ///< mel-frequency cepstral coef. F_FBANK, ///< log-scale filterbank parameter F_MELSPEC, ///< mel-scale filterbank parameter F_USER, F_DISCRETE, ///< discrete F_ERR_INVALID ///< ERROR }; /* Additional parameter qualifiers */ #define F_ENERGY 0x0040 ///< @c _E log energy coef. #define F_ENERGY_SUP 0x0080 ///< @c _N (with _E) suppress absolute energy #define F_DELTA 0x0100 ///< @c _D delta (first-order regression) coef. #define F_ACCL 0x0200 ///< @c _A (with _D) acceleration (second-order) coef. #define F_COMPRESS 0x0400 ///< @c _C compressed #define F_CEPNORM 0x0800 ///< @c _Z cepstral mean normalization #define F_CHECKSUM 0x1000 ///< @c _K CRC checksum added #define F_ZEROTH 0x2000 ///< @c _0 (with MFCC) 0'th cepstral parameter #define F_BASEMASK 0x003f ///< Mask to extract qualifiers /// Covariance matrix types: only C_INV_DIAG is supported in Julius enum { C_DIAG_C, ///< (not supported) Diagonal covariance C_INV_DIAG, ///< Inversed diagonal covaritance C_FULL, ///< (not supported) Full covariance C_LLT, ///< (not supported) C_XFORM}; ///< (not supported) /// Duration model types: No duration model is supported in Julius, so only D_NULL is acceptable enum { D_NULL, ///< No duration model D_POISSON, ///< (not supported) D_GAMMA, ///< (not supported) D_GEN}; ///< (not supported) /** * @brief Structure for decoding/encoding parameter type code * * @sa libsent/src/anlz/paramtypes.c * @sa libsent/src/hmminfo/rdhmmdef_options.c */ typedef struct { char *name; ///< Name string used in HTK hmmdefs short type; ///< Type code (one of definitions above) char *desc; ///< Brief description for user */ boolean supported; ///< TRUE if this is supported in Julius } OptionStr; /// Header string to detect binary HMM file #define BINHMM_HEADER "JBINHMM\n" /// Header string for binary HMM file V2 (parameter embedded) #define BINHMM_HEADER_V2 "JBINHMMV2" /// A header qualifier string for V2: acoustic analysis parameter embedded #define BINHMM_HEADER_V2_EMBEDPARA 'P' /// A header qualifier string for V2: variance inversed #define BINHMM_HEADER_V2_VARINV 'V' /// A header qualifier string for V2: has mixture pdf macro def #define BINHMM_HEADER_V2_MPDFMACRO 'M' /// Maximum number of input stream #define MAXSTREAMNUM 50 #ifdef ENABLE_MSD #define LZERO (-1.0E10) ///< log(0) value of void dimension for MSD-HMM */ #endif #endif /* __SENT_HTK_DEFS_H__ */