⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fast_algo_struct.h

📁 CMU大名鼎鼎的SPHINX-3大词汇量连续语音识别系统
💻 H
字号:
/* ==================================================================== * 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. * * ==================================================================== * *//* * beam.h -- Various forms of pruning beam *  * ********************************************** * CMU ARPA Speech Project * * Copyright (c) 1999 Carnegie Mellon University. * ALL RIGHTS RESERVED. * ********************************************** *  * HISTORY *  * 19-May-1999	M K Ravishankar (rkm@cs.cmu.edu) at Carnegie Mellon University * 		Started. */#ifndef _S3_BEAM_H_#define _S3_BEAM_H_#include <s3types.h>/** \file fast_algo_struct.h * \Brief wrappers of parameters for fast search.  */#ifdef __cplusplusextern "C" {#endif  /** * Structure containing various beamwidth parameters.  All logs3 values; -infinite is widest, * 0 is narrowest. */typedef struct {    int32 hmm;		/** For selecting active HMMs, relative to best */    int32 ptrans;	/** For determining which HMMs transition to their successors */    int32 word;		/** For selecting words exited, relative to best HMM score */    int32 ptranskip;     /** Intervals at which wbeam is used for phone transitions */    int32 wordend;      /** For selecting the number of word ends  */     } beam_t;  /** * Structure containing various histogram pruning parameters.  All in * integers. */typedef struct {  int32 maxwpf;         /**Max words per frame*/  int32 maxhistpf;      /** Max histories per frame*/  int32 maxhmmpf;        /**Max active HMMs per frame*/} histprune_t;typedef struct{  int32 ds_ratio;              /** Ratio of down-sampling the frame computation */  int32 cond_ds;            /** Whether we want to use conditional DS, 				 cond_ds=0, don't use,				 cond_ds=1, store previous 1 frame			    */  int32 dist_ds;              /** Whether we want to use distance-based DS,				    dist_ds=0, don't use,				    dist_ds=1, store previous 1 frame			      */    int32 skip_count;         /** Counting how many frames are skipped */} downsampling_t;typedef struct{  int32 ci_pbeam;             /** The beam which prune out unnesseary parent CI phones in 				 CI-based GMM selection*/  int32 dyn_ci_pbeam;         /** The dynamic CI-beam computed by using both CI-pbeam and 				 the counts*/  int32 *ci_occu;            /** Recorded number of CD senones for a				 particular base CI senone. */  int32 *idx;                /** temporary indices used in absolute				discounting of CI-based GMM selection */  int32 max_cd;              /** Maximum CD senones computed. 			      */} gmm_select_t;typedef struct{  int32 subvqbeam;	/** For selecting active mixture components based on subvq scores */  int32 rec_bstcid;    /** Best codeword ID for Gaussian Selection Map. */} gau_select_t;typedef struct{  downsampling_t* downs;       /** All structure for down-sampling */  gmm_select_t* gmms;          /** All structure for GMM-level of selection */  gau_select_t* gaus;          /** All structure for Gaussian-level of selection */  int32 gs4gs;                /** Whether the GS map is used for Gaussian Selection or not 				 mainly for internal debugging of Conditional Down-Sampling */  int32 svq4svq;              /** Whether SVQ scores would be used as the Gaussian Scores */  int32 rec_bst_senscr;       /** recent best scores. */  float32 *last_feat;         /** Last feature frame */} fast_gmm_t;  /** * Create and initialize a beam_t structure, with the given * parameters, converting them from prob space to logs3 space.  Return * value: a pointer to created structure if successful, NULL otherwise. * * Note the last parameter is used in controling when the word beam is * applied.   */beam_t *beam_init (		   float64 hmm, 		   float64 ptr, 		   float64 wd, 		   float64 wdend, 		   int32 ptranskip);  /** * Create and initialize a histprune_t structure, with the given parameters.  */histprune_t *histprune_init (int32 maxhmm,			     int32 maxhist, 			     int32 maxword);  /** * Create and initialize a fast_gmm_t structure, withe the given parameters */fast_gmm_t *fast_gmm_init (int32 down_sampling_ratio, 			   int32 mode_cond_ds,			   int32 mode_dist_ds,			   int32 isGS4GS,			   int32 isSVQ4SVQ,			   float32 subvqbeam,			   float32 cibeam,  /* Input: CI phone beam */			   int32 max_cd,    /* Input: Max CD senone to be computed */			   int32 n_ci_sen); /* Input: no. of ci senone, use to initialize  the ci_occ array*/#ifdef __cplusplus}#endif#endif

⌨️ 快捷键说明

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