ps_alignment.h File Reference

Multi-level alignment structure. More...

`#include <sphinxbase/prim_type.h>`
`#include "dict2pid.h"`
`#include "hmm.h"`

Go to the source code of this file.

## Data Structures

struct | ps_alignment_entry_s
struct | ps_alignment_vector_s
struct | ps_alignment_s
struct | ps_alignment_iter_s

## Macros

#define | PS_ALIGNMENT_NONE ((uint16)0xffff)

## Typedefs

typedef struct ps_alignment_entry_s | ps_alignment_entry_t
typedef struct ps_alignment_vector_s | ps_alignment_vector_t
typedef struct ps_alignment_s | ps_alignment_t
typedef struct ps_alignment_iter_s | ps_alignment_iter_t

## Functions

ps_alignment_t * | ps_alignment_init (dict2pid_t *d2p)
| Create a new, empty alignment.
int | ps_alignment_free (ps_alignment_t *al)
| Release an alignment.
int | ps_alignment_add_word (ps_alignment_t *al, int32 wid, int duration)
| Append a word.
int | ps_alignment_populate (ps_alignment_t *al)
| Populate lower layers using available word information.
int | ps_alignment_populate_ci (ps_alignment_t *al)
| Populate lower layers using context-independent phones.
int | ps_alignment_propagate (ps_alignment_t *al)
| Propagate timing information up from state sequence.
int | ps_alignment_n_words (ps_alignment_t *al)
| Number of words.
int | ps_alignment_n_phones (ps_alignment_t *al)
| Number of phones.
int | ps_alignment_n_states (ps_alignment_t *al)
| Number of states.
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_phones (ps_alignment_t *al)
| Iterate over the alignment starting at the first phone.
ps_alignment_iter_t * | ps_alignment_states (ps_alignment_t *al)
| Iterate over the alignment starting at the first state.
ps_alignment_entry_t * | ps_alignment_iter_get (ps_alignment_iter_t *itor)
| Get the alignment entry pointed to by an iterator.
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.
ps_alignment_iter_t * | ps_alignment_iter_prev (ps_alignment_iter_t *itor)
| Move an alignment iterator back.
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_iter_free (ps_alignment_iter_t *itor)
| Release an iterator before completing all iterations.

## Detailed Description

Multi-level alignment structure.

Definition in file ps_alignment.h.