gmm_wrap.h

Go to the documentation of this file.
00001 /* -*- c-basic-offset: 4; indent-tabs-mode: nil -*- */
00002 /* ====================================================================
00003  * Copyright (c) 1999-2004 Carnegie Mellon University.  All rights
00004  * reserved.
00005  *
00006  * Redistribution and use in source and binary forms, with or without
00007  * modification, are permitted provided that the following conditions
00008  * are met:
00009  *
00010  * 1. Redistributions of source code must retain the above copyright
00011  *    notice, this list of conditions and the following disclaimer. 
00012  *
00013  * 2. Redistributions in binary form must reproduce the above copyright
00014  *    notice, this list of conditions and the following disclaimer in
00015  *    the documentation and/or other materials provided with the
00016  *    distribution.
00017  *
00018  * This work was supported in part by funding from the Defense Advanced 
00019  * Research Projects Agency and the National Science Foundation of the 
00020  * United States of America, and the CMU Sphinx Speech Consortium.
00021  *
00022  * THIS SOFTWARE IS PROVIDED BY CARNEGIE MELLON UNIVERSITY ``AS IS'' AND 
00023  * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 
00024  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00025  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY
00026  * NOR ITS EMPLOYEES BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
00027  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
00028  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 
00029  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 
00030  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
00031  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
00032  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00033  *
00034  * ====================================================================
00035  *
00036  */
00037 
00038 /* gmm_wrap.h
00039  * HISTORY
00040  * $Log$
00041  * Revision 1.1  2006/04/05  20:27:30  dhdfu
00042  * A Great Reorganzation of header files and executables
00043  * 
00044  * Revision 1.3  2006/02/23 05:38:39  arthchan2003
00045  * Merged from the branch SPHINX3_5_2_RCI_IRII_BRANCH: Added multi-stream GMM computation routine.
00046  *
00047  *
00048  * Revision 1.1.4.3  2005/08/02 21:31:35  arthchan2003
00049  * Added interface for 1, doing multi stream gmm computation with/without composite senone. 2, doing gmm computation (ms or ss optimized) with/wihout composite senone.  Haven't tested on the SCHMM on s3.x yet.  I think it will work though.
00050  *
00051  * Revision 1.1.4.2  2005/07/24 01:35:41  arthchan2003
00052  * Add a wrapper for computing senone score without computing composite senone score. Mainly used in mode FSG now
00053  *
00054  * Revision 1.1.4.1  2005/06/27 05:30:25  arthchan2003
00055  * Merge from the tip of the trunk
00056  *
00057  * Revision 1.2  2005/06/22 08:00:09  arthchan2003
00058  * Completed all doxygen documentation on file description for libs3decoder/libutil/libs3audio and programs.
00059  *
00060  * Revision 1.1  2005/06/21 22:48:14  arthchan2003
00061  * A wrapper that provide the function pointer interface of approx_cont_mgau_ci_eval  and approx_cont_mgau_frame_eval.  They are used in srch_gmm_compute_lv1  and srch_gmm_compute_lv2 respectively.  This will also be the home of other gmm computation routine. (Say the s3.0 version of GMM computation)
00062  *
00063  * Revision 1.2  2005/06/13 04:02:59  archan
00064  * Fixed most doxygen-style documentation under libs3decoder.
00065  *
00066  * Revision 1.1  2005/04/22 04:22:37  archan
00067  * Add gmm_wrap, this will share code across op_mode 4 and op_mode 5. Also it also separate active senone selection into a different process.  I hope this is the final step before making the WST search works.  At the current stage, the code of mode-5 looks very much alike mode-4.  This is intended because in Prototype 4, tail sharing will be used to reduce memory.
00068  *
00069  */
00070 
00071 #ifndef _GMM_WRAP_H_
00072 #define _GMM_WRAP_H_
00073 
00077 #include <s3types.h>
00078 
00079 
00080 #ifdef __cplusplus
00081 extern "C" {
00082 #endif
00083 #if 0
00084 /* Fool Emacs. */
00085 }
00086 #endif
00087 
00088 int32 approx_ci_gmm_compute(void *srch,  
00089                             float32 *feat,  
00090                             int32 cache_idx, 
00091                             int32 wav_idx    
00092     );
00093 
00099 int32 approx_cd_gmm_compute_sen_comp(
00100     void *srch, 
00101     float32 **feat, 
00102     int32 wav_idx  
00103     );
00104 
00109 int32 approx_cd_gmm_compute_sen(
00110     void *srch, 
00111     float32 **feat, 
00112     int32 wav_idx  
00113     );
00114 
00121 int32 ms_cd_gmm_compute_sen_comp(
00122     void *srch,   
00123     float32 **feat,  
00124     int32 wav_idx    
00125     );
00126 
00132 int32 ms_cd_gmm_compute_sen(
00133     void *srch,   
00134     float32 **feat,  
00135     int32 wav_idx    
00136     );
00137 
00147 int32 s3_cd_gmm_compute_sen_comp(
00148     void *srch,   
00149     float32 **feat,  
00150     int32 wav_idx    
00152     );
00153 
00164 int32 s3_cd_gmm_compute_sen(
00165     void *srch,   
00166     float32 **feat,  
00167     int32 wav_idx    
00168     );
00169 
00170 #ifdef __cplusplus
00171 }
00172 #endif
00173 
00174 #endif /* _GMM_WRAP_H_ */

Generated on 7 Mar 2010 by  doxygen 1.6.1