gmm_wrap.h
Go to the documentation of this file.
1 /* -*- c-basic-offset: 4; indent-tabs-mode: nil -*- */
2 /* ====================================================================
3  * Copyright (c) 1999-2004 Carnegie Mellon University. All rights
4  * reserved.
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions
8  * are met:
9  *
10  * 1. Redistributions of source code must retain the above copyright
11  * notice, this list of conditions and the following disclaimer.
12  *
13  * 2. Redistributions in binary form must reproduce the above copyright
14  * notice, this list of conditions and the following disclaimer in
15  * the documentation and/or other materials provided with the
16  * distribution.
17  *
18  * This work was supported in part by funding from the Defense Advanced
19  * Research Projects Agency and the National Science Foundation of the
20  * United States of America, and the CMU Sphinx Speech Consortium.
21  *
22  * THIS SOFTWARE IS PROVIDED BY CARNEGIE MELLON UNIVERSITY ``AS IS'' AND
23  * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
24  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
25  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY
26  * NOR ITS EMPLOYEES BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
27  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
28  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33  *
34  * ====================================================================
35  *
36  */
37 
38 /* gmm_wrap.h
39  * HISTORY
40  * $Log$
41  * Revision 1.1 2006/04/05 20:27:30 dhdfu
42  * A Great Reorganzation of header files and executables
43  *
44  * Revision 1.3 2006/02/23 05:38:39 arthchan2003
45  * Merged from the branch SPHINX3_5_2_RCI_IRII_BRANCH: Added multi-stream GMM computation routine.
46  *
47  *
48  * Revision 1.1.4.3 2005/08/02 21:31:35 arthchan2003
49  * 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.
50  *
51  * Revision 1.1.4.2 2005/07/24 01:35:41 arthchan2003
52  * Add a wrapper for computing senone score without computing composite senone score. Mainly used in mode FSG now
53  *
54  * Revision 1.1.4.1 2005/06/27 05:30:25 arthchan2003
55  * Merge from the tip of the trunk
56  *
57  * Revision 1.2 2005/06/22 08:00:09 arthchan2003
58  * Completed all doxygen documentation on file description for libs3decoder/libutil/libs3audio and programs.
59  *
60  * Revision 1.1 2005/06/21 22:48:14 arthchan2003
61  * 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)
62  *
63  * Revision 1.2 2005/06/13 04:02:59 archan
64  * Fixed most doxygen-style documentation under libs3decoder.
65  *
66  * Revision 1.1 2005/04/22 04:22:37 archan
67  * 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.
68  *
69  */
70 
71 #ifndef _GMM_WRAP_H_
72 #define _GMM_WRAP_H_
73 
77 #include <s3types.h>
78 
79 
80 #ifdef __cplusplus
81 extern "C" {
82 #endif
83 #if 0
84 /* Fool Emacs. */
85 }
86 #endif
87 
88 int32 approx_ci_gmm_compute(void *srch,
89  float32 *feat,
90  int32 cache_idx,
91  int32 wav_idx
92  );
93 
100  void *srch,
101  float32 **feat,
102  int32 wav_idx
103  );
104 
110  void *srch,
111  float32 **feat,
112  int32 wav_idx
113  );
114 
122  void *srch,
123  float32 **feat,
124  int32 wav_idx
125  );
126 
133  void *srch,
134  float32 **feat,
135  int32 wav_idx
136  );
137 
148  void *srch,
149  float32 **feat,
150  int32 wav_idx
152  );
153 
165  void *srch,
166  float32 **feat,
167  int32 wav_idx
168  );
169 
170 #ifdef __cplusplus
171 }
172 #endif
173 
174 #endif /* _GMM_WRAP_H_ */