state_align_search.h
Go to the documentation of this file.
/* -*- c-basic-offset: 4; indent-tabs-mode: nil -*- */
/* ====================================================================
* Copyright (c) 2010 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.
*
* ====================================================================
*
*/
#ifndef __STATE_ALIGN_SEARCH_H__
#define __STATE_ALIGN_SEARCH_H__
/* SphinxBase headers. */
#include <sphinxbase/prim_type.h>
/* Local headers. */
#include "pocketsphinx_internal.h"
#include "ps_alignment.h"
#include "hmm.h"
struct state_align_hist_s {
uint16 id;
int32 score;
};
typedef struct state_align_hist_s state_align_hist_t;
struct state_align_search_s {
ps_search_t base;
hmm_context_t *hmmctx;
ps_alignment_t *al;
hmm_t *hmms;
int n_phones;
int frame;
int32 best_score;
int n_emit_state;
state_align_hist_t *tokens;
int n_fr_alloc;
};
typedef struct state_align_search_s state_align_search_t;
ps_search_t *state_align_search_init(const char *name,
cmd_ln_t *config,
acmod_t *acmod,
ps_alignment_t *al);
#endif /* __STATE_ALIGN_SEARCH_H__ */
hmm.h
Implementation of HMM base structure.
pocketsphinx_internal.h
Internal implementation of PocketSphinx decoder.
ps_alignment.h
Multi-level alignment structure.
acmod_s
Acoustic model structure.
Definition acmod.h:148
hmm_context_t
Shared information between a set of HMMs.
hmm_t
An individual HMM among the HMM search space.
ps_alignment_s
Definition ps_alignment.h:80
ps_search_s
Base structure for search module.
Definition pocketsphinx_internal.h:98
state_align_hist_s
History structure.
Definition state_align_search.h:57
state_align_search_s
Phone loop search structure.
Definition state_align_search.h:66
state_align_search_s::best_score
int32 best_score
Best score in current frame.
Definition state_align_search.h:74
state_align_search_s::tokens
state_align_hist_t * tokens
Tokens (backpointers) for state alignment.
Definition state_align_search.h:77
state_align_search_s::al
ps_alignment_t * al
Alignment structure being operated on.
Definition state_align_search.h:69
state_align_search_s::hmmctx
hmm_context_t * hmmctx
HMM context structure.
Definition state_align_search.h:68
state_align_search_s::hmms
hmm_t * hmms
Vector of HMMs corresponding to phone level.
Definition state_align_search.h:70
state_align_search_s::n_emit_state
int n_emit_state
Number of emitting states (tokens per frame)
Definition state_align_search.h:76
state_align_search_s::n_fr_alloc
int n_fr_alloc
Number of frames of tokens allocated.
Definition state_align_search.h:78
state_align_search_s::frame
int frame
Current frame being processed.
Definition state_align_search.h:73
state_align_search_s::n_phones
int n_phones
Number of HMMs (phones).
Definition state_align_search.h:71
state_align_search_s::base
ps_search_t base
Base search structure.
Definition state_align_search.h:67