/usr/include/sphinx3/gmm_wrap.h is in libs3decoder-dev 0.8-0ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 | /* -*- c-basic-offset: 4; indent-tabs-mode: nil -*- */
/* ====================================================================
* 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.
*
* ====================================================================
*
*/
/* gmm_wrap.h
* HISTORY
* $Log$
* Revision 1.1 2006/04/05 20:27:30 dhdfu
* A Great Reorganzation of header files and executables
*
* Revision 1.3 2006/02/23 05:38:39 arthchan2003
* Merged from the branch SPHINX3_5_2_RCI_IRII_BRANCH: Added multi-stream GMM computation routine.
*
*
* Revision 1.1.4.3 2005/08/02 21:31:35 arthchan2003
* 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.
*
* Revision 1.1.4.2 2005/07/24 01:35:41 arthchan2003
* Add a wrapper for computing senone score without computing composite senone score. Mainly used in mode FSG now
*
* Revision 1.1.4.1 2005/06/27 05:30:25 arthchan2003
* Merge from the tip of the trunk
*
* Revision 1.2 2005/06/22 08:00:09 arthchan2003
* Completed all doxygen documentation on file description for libs3decoder/libutil/libs3audio and programs.
*
* Revision 1.1 2005/06/21 22:48:14 arthchan2003
* 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)
*
* Revision 1.2 2005/06/13 04:02:59 archan
* Fixed most doxygen-style documentation under libs3decoder.
*
* Revision 1.1 2005/04/22 04:22:37 archan
* 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.
*
*/
#ifndef _GMM_WRAP_H_
#define _GMM_WRAP_H_
/** \file gmm_wrap.h
* \brief Function pointer wrapper of GMM computation.
*/
#include <s3types.h>
#ifdef __cplusplus
extern "C" {
#endif
#if 0
/* Fool Emacs. */
}
#endif
int32 approx_ci_gmm_compute(void *srch, /**< a pointer to a srch_t */
float32 *feat, /**< feature vector */
int32 cache_idx, /**< cache index */
int32 wav_idx /**< frame index */
);
/**
This wrapper calls the approximate GMM computation routine which
compute the senone score. Then the composite senone will also be
computed.
*/
int32 approx_cd_gmm_compute_sen_comp(
void *srch, /**< a pointer to a srch_t */
float32 **feat, /**< feature vector */
int32 wav_idx /**< frame index */
);
/**
This wrapper that calls the approximate GMM computation routine which
compute only normal senone.
*/
int32 approx_cd_gmm_compute_sen(
void *srch, /**< a pointer to a srch_t */
float32 **feat, /**< feature vector #stream x #coeff*/
int32 wav_idx /**< frame index */
);
/**
This wrapper calls the multi-stream exact GMM computation routine
which compute the senone score. Then the composite senone will also be
computed.
*/
int32 ms_cd_gmm_compute_sen_comp(
void *srch, /**< a pointer to a srch_t */
float32 **feat, /**< feature vector #stream x #coeff*/
int32 wav_idx /**< frame index */
);
/**
This wrapper that calls the approximate GMM computation routine which
compute only normal senone.
*/
int32 ms_cd_gmm_compute_sen(
void *srch, /**< a pointer to a srch_t */
float32 **feat, /**< feature vector #stream x #coeff*/
int32 wav_idx /**< frame index */
);
/**
Depends on which data structure has been initialized, s3_cd_gmm_compute_sen_comp
calls
ms_cd_gmm_compute_sen_comp (if ms_mgau is initialized) or
approx_cd_gmm_coupute_sen_compu (if _mgau is initialized)
Then composite triphone will also be computed.
*/
int32 s3_cd_gmm_compute_sen_comp(
void *srch, /**< a pointer to a srch_t */
float32 **feat, /**< feature vector #stream x #coeff*/
int32 wav_idx /**< frame index */
);
/**
Depends on which data structure has been initialized, s3_cd_gmm_compute_sen
calls
ms_cd_gmm_compute_sen (if ms_mgau is initialized) or
approx_cd_gmm_coupute_sen (if _mgau is initialized)
Only normal senone will be computed.
*/
int32 s3_cd_gmm_compute_sen(
void *srch, /**< a pointer to a srch_t */
float32 **feat, /**< feature vector #stream x #coeff*/
int32 wav_idx /**< frame index */
);
#ifdef __cplusplus
}
#endif
#endif /* _GMM_WRAP_H_ */
|