PocketSphinx
0.6
Main Page
Data Structures
Files
File List
Globals
s2_semi_mgau.h
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
* Interface for "semi-continuous vector quantization", a.k.a. Sphinx2
39
* fast GMM computation.
40
*/
41
42
#ifndef __S2_SEMI_MGAU_H__
43
#define __S2_SEMI_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
vqFeature_s
vqFeature_t
;
57
58
typedef
struct
s2_semi_mgau_s
s2_semi_mgau_t
;
59
struct
s2_semi_mgau_s
{
60
ps_mgau_t
base
;
61
cmd_ln_t *config;
/* configuration parameters */
62
63
gauden_t
*g;
/* Set of Gaussians (pointers below point in here and will go away soon) */
64
mfcc_t ***means;
/* mean vectors foreach feature, density */
65
mfcc_t ***vars;
/* inverse var vectors foreach feature, density */
66
mfcc_t **dets;
/* det values foreach cb, feature */
67
68
uint8 ***mixw;
/* mixture weight distributions */
69
mmio_file_t *sendump_mmap;
/* memory map for mixw (or NULL if not mmap) */
70
71
uint8 *mixw_cb;
/* mixture weight codebook, if any (assume it contains 16 values) */
72
int32 *veclen;
/* Length of feature streams */
73
int16 n_feat;
/* Number of feature streams */
74
int16 n_density;
/* Number of mixtures per codebook */
75
int32 n_sen;
/* Number of senones */
76
uint8 *topn_beam;
/* Beam for determining per-frame top-N densities */
77
int16 max_topn;
78
int16 ds_ratio;
79
80
vqFeature_t
***
topn_hist
;
81
uint8 **
topn_hist_n
;
82
vqFeature_t
**
f
;
83
int
n_topn_hist
;
85
/* Log-add table for compressed values. */
86
logmath_t *lmath_8b;
87
/* Log-add object for reloading means/variances. */
88
logmath_t *lmath;
89
};
90
91
ps_mgau_t
*s2_semi_mgau_init(
acmod_t
*acmod);
92
void
s2_semi_mgau_free(
ps_mgau_t
*s);
93
int
s2_semi_mgau_frame_eval(
ps_mgau_t
*s,
94
int16 *senone_scores,
95
uint8 *senone_active,
96
int32 n_senone_active,
97
mfcc_t **featbuf,
98
int32 frame,
99
int32 compallsen);
100
int
s2_semi_mgau_mllr_transform(
ps_mgau_t
*s,
101
ps_mllr_t
*mllr);
102
103
104
#endif
/* __S2_SEMI_MGAU_H__ */
src
libpocketsphinx
s2_semi_mgau.h
Generated on Sun Jul 7 2013 12:26:01 for PocketSphinx by
1.8.4