kbcore.h

来自「CMU大名鼎鼎的SPHINX-3大词汇量连续语音识别系统」· C头文件 代码 · 共 173 行

H
173
字号
/* ==================================================================== * Copyright (c) 1999-2004 Carnegie Mellon University.  All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer.  * * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in *    the documentation and/or other materials provided with the *    distribution. * * This work was supported in part by funding from the Defense Advanced  * Research Projects Agency and the National Science Foundation of the  * United States of America, and the CMU Sphinx Speech Consortium. * * THIS SOFTWARE IS PROVIDED BY CARNEGIE MELLON UNIVERSITY ``AS IS'' AND  * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY * NOR ITS EMPLOYEES BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * ==================================================================== * *//* * kbcore.h -- Structures for maintain the main models. *  * ********************************************** * CMU ARPA Speech Project * * Copyright (c) 1999 Carnegie Mellon University. * ALL RIGHTS RESERVED. * ********************************************** *  * HISTORY *  * 11-Feb-2000	M K Ravishankar (rkm@cs.cmu.edu) at Carnegie Mellon University * 		Removed svqpp stuff.  It doesn't work too well anyway. *  * 06-Dec-1999	M K Ravishankar (rkm@cs.cmu.edu) at Carnegie Mellon University * 		Added kb_t.svqpp_t and related handling. *  * 30-Apr-1999	M K Ravishankar (rkm@cs.cmu.edu) at Carnegie Mellon University * 		Created. */#ifndef _S3_KBCORE_H_#define _S3_KBCORE_H_#include <s3types.h>#include "feat.h"#include "cont_mgau.h"#include "mdef.h"#include "dict.h"#include "dict2pid.h"#include "fillpen.h"#include "lm.h"#include "wid.h"#include "tmat.h"#include "subvq.h"#include "gs.h"#ifdef __cplusplusextern "C" {#endif  /** \file kbcore.h   * \brief kb core structures, the structure that stores parameters for s3.X search   */typedef struct {  feat_t *fcb; /** feature end structure */  mdef_t *mdef; /** Model definition  */  dict_t *dict; /** Dictionary structure */  dict2pid_t *dict2pid; /** Conversion of dictionary to Phoneme ID */  lm_t *lm; /** LM */  lmset_t *lmset; /** LM Set, if it is used, LM is not used */  fillpen_t *fillpen; /** Filler penalty */  s3lmwid_t *dict2lmwid; /** Dictionary ID to LM ID mapping */  mgau_model_t *mgau; /** Model */  subvq_t *svq; /** SVQ */  gs_t *gs; /** Gaussian Selector */  tmat_t *tmat; /** Transition Matrix. */  int32 n_lm; /** number of language model */  int32 n_alloclm; /* Number of allocated language model */  int32 maxNewHeurScore; /* Temporary variables for phoneme lookahead. This stores the heuristic score */  int32 lastfrm; /* Temporary variables, should be removed */} kbcore_t;  /** * Initialize one or more of all the major models:  pronunciation dictionary, acoustic models, * language models.  Several arguments are optional (e.g., pointers may be NULL); however, they * may not all be independently so.  The logbase argument is required (i.e. must be valid). * A number of consistency verifications are carried out.  It's recommended that a reasonable * default be provided for any real or integer argument, even if it's unused. * Return value: (obvious) pointer to structure encapsulating the individual data bases. * NOTE: If any model fails to initialize, the call fails with a FATAL ERROR. */kbcore_t *kbcore_init (float64 logbase,		/** Must be specified */		       char *feattype,          /** feature type*/		       char *cmn,               /** Type of CMN */		       char *varnorm,           /** Type of variance normalization */		       char *agc,               /** Type of AGC */		       char *mdeffile,          /** Model definition file */		       char *dictfile,          /** Dictionary file */		       char *fdictfile,         /** filler dictionary file */		       char *compsep,		/** Must be valid if dictfile specified */		       char *lmfile,            /** LM file */		       char *lmctlfile,         /** LM control file, mutually exclusive with lmfile */		       char *lmdumpdir,         /** Dump LM  */		       char *fillpenfile,       /** Filler penality file,*/		       char *senmgau,           /** NOT USED */		       float64 silprob,		/** Silence probablity Must be valid if lmfile/fillpenfile is						   specified */		       float64 fillprob,	/** Filler penalty Must be valid if lmfile/fillpenfile is						   specified */		       float64 langwt,		/** Language model weight, Must be valid if lmfile/fillpenfile is						   specified. */		       float64 inspen,		/** Insertion penalty. Must be valid if lmfile/fillpenfile is						   specified. */		       float64 uw,		/** Unigram weight Must be valid if lmfile/fillpenfile is						   specified. */		       char *meanfile,		/** Means Acoustic model... */		       char *varfile,		/** Variance file, must be specified if meanfile specified */		       float64 varfloor,	/** Variance floowr, must be valid if varfile specified */		       char *mixwfile,		/** Mixture weight file, must be specified if meanfile specified */		       float64 mixwfloor,	/** Mixture weight floor, must be valid if mixwfile specified */		       char *subvqfile,		/** Subvector quantized acoustic model						   (quantized mean/var values), optional */		       char *gsfile,		/** Gaussian Selection Mapping*/		       char *tmatfile,          /** Transition matrix */		       float64 tmatfloor);	/** Transition probability floors, must be valid if tmatfile specified */  /** free the kbcore */  void kbcore_free (kbcore_t *kbcore);  /** Access macros; not meant for arbitrary use */#define kbcore_fcb(k)		((k)->fcb)#define kbcore_mdef(k)		((k)->mdef)#define kbcore_dict(k)		((k)->dict)#define kbcore_dict2pid(k)	((k)->dict2pid)#define kbcore_lm(k)		((k)->lm)#define kbcore_fillpen(k)	((k)->fillpen)#define kbcore_dict2lmwid(k,w)	((k)->dict2lmwid[w])#define kbcore_mgau(k)		((k)->mgau)#define kbcore_svq(k)		((k)->svq)#define kbcore_gs(k)		((k)->gs)#define kbcore_tmat(k)		((k)->tmat)#define kbcore_lmset(k)		((k)->lmset)#define kbcore_nlm(k)		((k)->n_lm)#ifdef __cplusplus}#endif#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?