PocketSphinx 5.1.0
A small speech recognizer
Loading...
Searching...
No Matches
lattice.h
Go to the documentation of this file.
1/* -*- c-basic-offset: 4; indent-tabs-mode: nil -*- */
2/* ====================================================================
3 * Copyright (c) 2008 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
46#ifndef __PS_LATTICE_H__
47#define __PS_LATTICE_H__
48
50#include <pocketsphinx/model.h>
51#include <pocketsphinx/export.h>
52
53#ifdef __cplusplus
54extern "C" {
55#endif
56#if 0
57}
58#endif
59
64typedef struct ps_lattice_s ps_lattice_t;
65
73typedef struct ps_latnode_s ps_latnode_t;
74
79typedef struct ps_latnode_s ps_latnode_iter_t; /* pay no attention to the man behind the curtain */
80
88typedef struct ps_latlink_s ps_latlink_t;
89
94typedef struct latlink_list_s ps_latlink_iter_t;
95
96/* Forward declaration needed to avoid circular includes */
97struct ps_decoder_s;
98
107POCKETSPHINX_EXPORT
108ps_lattice_t *ps_lattice_read(struct ps_decoder_s *ps,
109 char const *file);
110
121POCKETSPHINX_EXPORT
123
130POCKETSPHINX_EXPORT
132
139POCKETSPHINX_EXPORT
140int ps_lattice_write(ps_lattice_t *dag, char const *filename);
141
148POCKETSPHINX_EXPORT
149int ps_lattice_write_htk(ps_lattice_t *dag, char const *filename);
150
160POCKETSPHINX_EXPORT
162
163
174POCKETSPHINX_EXPORT
176
183POCKETSPHINX_EXPORT
185
191POCKETSPHINX_EXPORT
193
198POCKETSPHINX_EXPORT
200
210POCKETSPHINX_EXPORT
211int ps_latnode_times(ps_latnode_t *node, int16 *out_fef, int16 *out_lef);
212
221POCKETSPHINX_EXPORT
223
232POCKETSPHINX_EXPORT
234
242POCKETSPHINX_EXPORT
244
252POCKETSPHINX_EXPORT
254
267POCKETSPHINX_EXPORT
269 ps_latlink_t **out_link);
270
278POCKETSPHINX_EXPORT
280
286POCKETSPHINX_EXPORT
288
293POCKETSPHINX_EXPORT
295
307POCKETSPHINX_EXPORT
308int ps_latlink_times(ps_latlink_t *link, int16 *out_sf);
309
318POCKETSPHINX_EXPORT
320
329POCKETSPHINX_EXPORT
331
340POCKETSPHINX_EXPORT
342
350POCKETSPHINX_EXPORT
352
364POCKETSPHINX_EXPORT
365int32 ps_latlink_prob(ps_lattice_t *dag, ps_latlink_t *link, int32 *out_ascr);
366
373POCKETSPHINX_EXPORT
375 int32 score, int32 ef);
376
393POCKETSPHINX_EXPORT
395
404POCKETSPHINX_EXPORT
406
418POCKETSPHINX_EXPORT
420
429POCKETSPHINX_EXPORT
431
441POCKETSPHINX_EXPORT
443 float32 lwf, float32 ascale);
444
453POCKETSPHINX_EXPORT
455 float32 ascale);
456
469POCKETSPHINX_EXPORT
471
472#ifdef NOT_IMPLEMENTED_YET
479POCKETSPHINX_EXPORT
480int32 ps_lattice_ngram_expand(ps_lattice_t *dag, ngram_model_t *lm);
481#endif
482
490POCKETSPHINX_EXPORT
492
493#ifdef __cplusplus
494}
495#endif
496
497#endif /* __PS_LATTICE_H__ */
Public API for language models.
Basic type definitions used in Sphinx.
Integer log math computation class.
N-Gram based language model.
Iterator over DAG nodes.
POCKETSPHINX_EXPORT ps_latnode_t * ps_latnode_iter_node(ps_latnode_iter_t *itor)
POCKETSPHINX_EXPORT int ps_latnode_times(ps_latnode_t *node, int16 *out_fef, int16 *out_lef)
POCKETSPHINX_EXPORT ps_latnode_iter_t * ps_latnode_iter_next(ps_latnode_iter_t *itor)
POCKETSPHINX_EXPORT void ps_latnode_iter_free(ps_latnode_iter_t *itor)
Node in a word lattice.
POCKETSPHINX_EXPORT int32 ps_latnode_prob(ps_lattice_t *dag, ps_latnode_t *node, ps_latlink_t **out_link)
POCKETSPHINX_EXPORT ps_latlink_iter_t * ps_latnode_exits(ps_latnode_t *node)
POCKETSPHINX_EXPORT char const * ps_latnode_word(ps_lattice_t *dag, ps_latnode_t *node)
POCKETSPHINX_EXPORT ps_latlink_iter_t * ps_latnode_entries(ps_latnode_t *node)
POCKETSPHINX_EXPORT char const * ps_latnode_baseword(ps_lattice_t *dag, ps_latnode_t *node)
Word graph structure used in bestpath/nbest search.
POCKETSPHINX_EXPORT ps_latlink_t * ps_lattice_traverse_edges(ps_lattice_t *dag, ps_latnode_t *start, ps_latnode_t *end)
POCKETSPHINX_EXPORT logmath_t * ps_lattice_get_logmath(ps_lattice_t *dag)
POCKETSPHINX_EXPORT int32 ps_lattice_posterior_prune(ps_lattice_t *dag, int32 beam)
POCKETSPHINX_EXPORT int ps_lattice_write(ps_lattice_t *dag, char const *filename)
POCKETSPHINX_EXPORT int ps_lattice_free(ps_lattice_t *dag)
POCKETSPHINX_EXPORT int ps_lattice_n_frames(ps_lattice_t *dag)
POCKETSPHINX_EXPORT void ps_lattice_link(ps_lattice_t *dag, ps_latnode_t *from, ps_latnode_t *to, int32 score, int32 ef)
POCKETSPHINX_EXPORT ps_latlink_t * ps_lattice_reverse_edges(ps_lattice_t *dag, ps_latnode_t *start, ps_latnode_t *end)
POCKETSPHINX_EXPORT ps_lattice_t * ps_lattice_read(struct ps_decoder_s *ps, char const *file)
POCKETSPHINX_EXPORT int32 ps_lattice_posterior(ps_lattice_t *dag, ngram_model_t *lmset, float32 ascale)
POCKETSPHINX_EXPORT ps_lattice_t * ps_lattice_retain(ps_lattice_t *dag)
POCKETSPHINX_EXPORT ps_latlink_t * ps_lattice_reverse_next(ps_lattice_t *dag, ps_latnode_t *start)
POCKETSPHINX_EXPORT ps_latlink_t * ps_lattice_traverse_next(ps_lattice_t *dag, ps_latnode_t *end)
POCKETSPHINX_EXPORT ps_latnode_iter_t * ps_latnode_iter(ps_lattice_t *dag)
POCKETSPHINX_EXPORT int ps_lattice_write_htk(ps_lattice_t *dag, char const *filename)
POCKETSPHINX_EXPORT ps_latlink_t * ps_lattice_bestpath(ps_lattice_t *dag, ngram_model_t *lmset, float32 lwf, float32 ascale)