42 #ifndef __PS_ALIGNMENT_H__
43 #define __PS_ALIGNMENT_H__
48 #include <sphinxbase/prim_type.h>
54 #define PS_ALIGNMENT_NONE ((uint16)0xffff)
76 uint16 n_ent, n_alloc;
109 int32 wid,
int duration);
int ps_alignment_n_states(ps_alignment_t *al)
Number of states.
Building triphones for a dictionary.
int ps_alignment_populate_ci(ps_alignment_t *al)
Populate lower layers using context-independent phones.
ps_alignment_t * ps_alignment_init(dict2pid_t *d2p)
Create a new, empty alignment.
ps_alignment_iter_t * ps_alignment_iter_goto(ps_alignment_iter_t *itor, int pos)
Move alignment iterator to given index.
ps_alignment_iter_t * ps_alignment_iter_next(ps_alignment_iter_t *itor)
Move an alignment iterator forward.
Implementation of HMM base structure.
int ps_alignment_free(ps_alignment_t *al)
Release an alignment.
int ps_alignment_propagate(ps_alignment_t *al)
Propagate timing information up from state sequence.
ps_alignment_iter_t * ps_alignment_words(ps_alignment_t *al)
Iterate over the alignment starting at the first word.
ps_alignment_iter_t * ps_alignment_iter_prev(ps_alignment_iter_t *itor)
Move an alignment iterator back.
ps_alignment_iter_t * ps_alignment_states(ps_alignment_t *al)
Iterate over the alignment starting at the first state.
ps_alignment_iter_t * ps_alignment_iter_up(ps_alignment_iter_t *itor)
Get a new iterator starting at the parent of the current node.
ps_alignment_iter_t * ps_alignment_iter_down(ps_alignment_iter_t *itor)
Get a new iterator starting at the first child of the current node.
int ps_alignment_n_phones(ps_alignment_t *al)
Number of phones.
int ps_alignment_iter_free(ps_alignment_iter_t *itor)
Release an iterator before completing all iterations.
int ps_alignment_populate(ps_alignment_t *al)
Populate lower layers using available word information.
ps_alignment_iter_t * ps_alignment_phones(ps_alignment_t *al)
Iterate over the alignment starting at the first phone.
Building composite triphone (as well as word internal triphones) with the dictionary.
int ps_alignment_add_word(ps_alignment_t *al, int32 wid, int duration)
Append a word.
ps_alignment_entry_t * ps_alignment_iter_get(ps_alignment_iter_t *itor)
Get the alignment entry pointed to by an iterator.
int ps_alignment_n_words(ps_alignment_t *al)
Number of words.