00001 /* -*- c-basic-offset: 4; indent-tabs-mode: nil -*- */ 00002 /* ==================================================================== 00003 * Copyright (c) 1995-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 * interp.h -- CD-senone and CI-senone score interpolation 00039 * 00040 * ********************************************** 00041 * CMU ARPA Speech Project 00042 * 00043 * Copyright (c) 1996 Carnegie Mellon University. 00044 * ALL RIGHTS RESERVED. 00045 * ********************************************** 00046 * 00047 * HISTORY 00048 * $Log$ 00049 * Revision 1.1 2006/04/05 20:27:30 dhdfu 00050 * A Great Reorganzation of header files and executables 00051 * 00052 * Revision 1.6 2006/02/22 16:48:30 arthchan2003 00053 * Merged from SPHINX3_5_2_RCI_IRII_BRANCH: 1, Fixed issues in , 2, Fixed issues of dox-doc 00054 * 00055 * Revision 1.5.4.1 2005/07/05 05:47:59 arthchan2003 00056 * Fixed dox-doc. struct level of documentation are included. 00057 * 00058 * Revision 1.5 2005/06/21 18:39:04 arthchan2003 00059 * Log. 1, Fixed doxygen documentation, 2, Added $Log$ 00060 * Revision 1.1 2006/04/05 20:27:30 dhdfu 00061 * A Great Reorganzation of header files and executables 00062 * 00063 * Log. 1, Fixed doxygen documentation, 2, Added Revision 1.6 2006/02/22 16:48:30 arthchan2003 00064 * Log. 1, Fixed doxygen documentation, 2, Added Merged from SPHINX3_5_2_RCI_IRII_BRANCH: 1, Fixed issues in , 2, Fixed issues of dox-doc 00065 * Log. 1, Fixed doxygen documentation, 2, Added 00066 * 00067 * Revision 1.4 2005/06/13 04:02:55 archan 00068 * Fixed most doxygen-style documentation under libs3decoder. 00069 * 00070 * Revision 1.3 2005/03/30 01:22:47 archan 00071 * Fixed mistakes in last updates. Add 00072 * 00073 * 00074 * 05-Jun-96 M K Ravishankar (rkm@cs.cmu.edu) at Carnegie Mellon University 00075 * Created. 00076 */ 00077 00078 00079 #ifndef _LIBFBS_INTERP_H_ 00080 #define _LIBFBS_INTERP_H_ 00081 00082 00083 #include <s3types.h> 00084 #include <logmath.h> 00085 00091 #ifdef __cplusplus 00092 extern "C" { 00093 #endif 00094 #if 0 00095 } /* Fool Emacs into not indenting things. */ 00096 #endif 00097 00102 typedef struct { 00103 logmath_t *logmath; 00104 int32 n_sen; 00111 struct interp_wt_s { 00112 int32 cd; 00113 int32 ci; 00114 } *wt; 00115 } interp_t; 00116 00117 00124 interp_t *interp_init (const char *interpfile, /* In: interpolation weights file */ 00125 logmath_t *logmath 00126 ); 00127 00132 int32 interp_cd_ci (interp_t *ip, 00133 int32 *senscr, 00134 int32 cd, 00135 int32 ci 00136 ); 00137 00142 int32 interp_all (interp_t *ip, 00143 int32 *senscr, 00145 s3senid_t *cimap, 00146 int32 n_ci_sen 00147 ); 00148 00149 #if 0 00150 { /* Stop indent from complaining */ 00151 #endif 00152 #ifdef __cplusplus 00153 } 00154 #endif 00155 00156 #endif