PocketSphinx
0.6
Main Page
Data Structures
Files
File List
Globals
ptm_mgau.h
Go to the documentation of this file.
1
/* -*- c-basic-offset: 4; indent-tabs-mode: nil -*- */
2
/* ====================================================================
3
* Copyright (c) 1999-2010 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
*/
42
#ifndef __PTM_MGAU_H__
43
#define __PTM_MGAU_H__
44
45
/* SphinxBase headesr. */
46
#include <sphinxbase/fe.h>
47
#include <sphinxbase/logmath.h>
48
#include <sphinxbase/mmio.h>
49
50
/* Local headers. */
51
#include "
acmod.h
"
52
#include "
hmm.h
"
53
#include "
bin_mdef.h
"
54
#include "
ms_gauden.h
"
55
56
typedef
struct
ptm_mgau_s
ptm_mgau_t
;
57
58
typedef
struct
ptm_topn_s
{
59
int32
cw
;
60
int32
score
;
61
}
ptm_topn_t
;
62
63
typedef
struct
ptm_fast_eval_s
{
64
ptm_topn_t
***
topn
;
65
bitvec_t *
mgau_active
;
66
}
ptm_fast_eval_t
;
67
68
struct
ptm_mgau_s
{
69
ps_mgau_t
base
;
70
cmd_ln_t *
config
;
71
gauden_t
*
g
;
72
int32
n_sen
;
73
uint8 *
sen2cb
;
74
uint8 ***
mixw
;
75
mmio_file_t *sendump_mmap;
/* Memory map for mixw (or NULL if not mmap) */
76
uint8 *mixw_cb;
/* Mixture weight codebook, if any (assume it contains 16 values) */
77
int16 max_topn;
78
int16 ds_ratio;
79
80
ptm_fast_eval_t
*
hist
;
81
ptm_fast_eval_t
*
f
;
82
int
n_fast_hist
;
84
/* Log-add table for compressed values. */
85
logmath_t *lmath_8b;
86
/* Log-add object for reloading means/variances. */
87
logmath_t *lmath;
88
};
89
90
ps_mgau_t
*ptm_mgau_init(
acmod_t
*acmod,
bin_mdef_t
*mdef);
91
void
ptm_mgau_free(
ps_mgau_t
*s);
92
int
ptm_mgau_frame_eval(
ps_mgau_t
*s,
93
int16 *senone_scores,
94
uint8 *senone_active,
95
int32 n_senone_active,
96
mfcc_t **featbuf,
97
int32 frame,
98
int32 compallsen);
99
int
ptm_mgau_mllr_transform(
ps_mgau_t
*s,
100
ps_mllr_t
*mllr);
101
102
103
#endif
/* __PTM_MGAU_H__ */
src
libpocketsphinx
ptm_mgau.h
Generated on Thu May 9 2013 14:38:32 for PocketSphinx by
1.8.1.2