PocketSphinx 5.1.0
A small speech recognizer
Loading...
Searching...
No Matches
pocketsphinx.h
Go to the documentation of this file.
1/* -*- c-basic-offset:4; indent-tabs-mode: nil -*- */
2/* ====================================================================
3 * Copyright (c) 1999-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 *
19 * THIS SOFTWARE IS PROVIDED BY CARNEGIE MELLON UNIVERSITY ``AS IS'' AND
20 * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
21 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY
23 * NOR ITS EMPLOYEES BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 *
31 * ====================================================================
32 *
33 */
62#ifndef __POCKETSPHINX_H__
63#define __POCKETSPHINX_H__
64
65/* System headers */
66#include <stdio.h>
67
68/* PocketSphinx utility headers */
69#include <pocketsphinx/sphinx_config.h>
72#include <pocketsphinx/err.h>
73
74/* PocketSphinx API headers */
75#include <pocketsphinx/vad.h>
77#include <pocketsphinx/model.h>
78#include <pocketsphinx/search.h>
79#include <pocketsphinx/export.h>
82#include <pocketsphinx/mllr.h>
83
84/* Namum manglium ii domum */
85#ifdef __cplusplus
86extern "C" {
87#endif
88#if 0
89}
90#endif
91
92/* Transparent structures */
97typedef enum ps_type_e {
98 ARG_REQUIRED = (1<<0), /*<< Bit indicating required argument. */
99 ARG_INTEGER = (1<<1), /*<< Integer up to 64 bits. */
100 ARG_FLOATING = (1<<2), /*<< Double-precision floating point. */
101 ARG_STRING = (1<<3), /*<< String. */
102 ARG_BOOLEAN = (1<<4), /*<< Boolean (true/false). */
103 REQARG_INTEGER = (ARG_INTEGER | ARG_REQUIRED),
104 REQARG_FLOATING = (ARG_FLOATING | ARG_REQUIRED),
105 REQARG_STRING = (ARG_STRING | ARG_REQUIRED),
106 REQARG_BOOLEAN = (ARG_BOOLEAN | ARG_REQUIRED)
117typedef struct ps_arg_s {
118 char const *name;
119 int type;
120 char const *deflt;
121 char const *doc;
122} ps_arg_t;
123
124/* Opaque structures */
125
130typedef struct cmd_ln_s ps_config_t;
131
136typedef struct ps_decoder_s ps_decoder_t;
137
142typedef struct ps_astar_s ps_nbest_t;
143
148typedef struct ps_seg_s ps_seg_t;
149
161POCKETSPHINX_EXPORT
163
168POCKETSPHINX_EXPORT
170
175POCKETSPHINX_EXPORT
177
188
216POCKETSPHINX_EXPORT
217ps_config_t *ps_config_parse_json(ps_config_t *config, const char *json);
218
231POCKETSPHINX_EXPORT
233
243POCKETSPHINX_EXPORT
244ps_type_t ps_config_typeof(ps_config_t *config, char const *name);
245
262POCKETSPHINX_EXPORT
263const anytype_t *ps_config_get(ps_config_t *config, const char *name);
264
287POCKETSPHINX_EXPORT
288const anytype_t *ps_config_set(ps_config_t *config, const char *name,
289 const anytype_t *val, ps_type_t t);
290
299POCKETSPHINX_EXPORT
300long ps_config_int(ps_config_t *config, const char *name);
301
312POCKETSPHINX_EXPORT
313int ps_config_bool(ps_config_t *config, const char *name);
314
323POCKETSPHINX_EXPORT
324double ps_config_float(ps_config_t *config, const char *name);
325
336POCKETSPHINX_EXPORT
337const char *ps_config_str(ps_config_t *config, const char *name);
338
347POCKETSPHINX_EXPORT
348const anytype_t *ps_config_set_int(ps_config_t *config, const char *name, long val);
349
358POCKETSPHINX_EXPORT
359const anytype_t *ps_config_set_bool(ps_config_t *config, const char *name, int val);
360
369POCKETSPHINX_EXPORT
370const anytype_t *ps_config_set_float(ps_config_t *config, const char *name, double val);
371
385POCKETSPHINX_EXPORT
386const anytype_t *ps_config_set_str(ps_config_t *config, const char *name, const char *val);
387
410POCKETSPHINX_EXPORT
411int ps_config_soundfile(ps_config_t *config, FILE *fh, const char *file);
412
426POCKETSPHINX_EXPORT
427int ps_config_wavfile(ps_config_t *config, FILE *infh, const char *file);
428
442POCKETSPHINX_EXPORT
443int ps_config_nistfile(ps_config_t *config, FILE *infh, const char *file);
444
464POCKETSPHINX_EXPORT
466
472POCKETSPHINX_EXPORT
474
483POCKETSPHINX_EXPORT
484const char *ps_default_modeldir(void);
485
497POCKETSPHINX_EXPORT
499
523POCKETSPHINX_EXPORT
525
547POCKETSPHINX_EXPORT
549
569POCKETSPHINX_EXPORT
570const char *ps_get_cmn(ps_decoder_t *ps, int update);
571
587POCKETSPHINX_EXPORT
588int ps_set_cmn(ps_decoder_t *ps, const char *cmn);
589
598POCKETSPHINX_EXPORT
599ps_arg_t const *ps_args(void);
600
612POCKETSPHINX_EXPORT
614
624POCKETSPHINX_EXPORT
626
636POCKETSPHINX_EXPORT
638
648POCKETSPHINX_EXPORT
650
662POCKETSPHINX_EXPORT
664
680POCKETSPHINX_EXPORT
681int ps_load_dict(ps_decoder_t *ps, char const *dictfile,
682 char const *fdictfile, char const *format);
683
694POCKETSPHINX_EXPORT
695int ps_save_dict(ps_decoder_t *ps, char const *dictfile, char const *format);
696
717POCKETSPHINX_EXPORT
719 char const *word,
720 char const *phones,
721 int update);
722
735POCKETSPHINX_EXPORT
737 const char *word);
738
754POCKETSPHINX_EXPORT
755long ps_decode_raw(ps_decoder_t *ps, FILE *rawfh,
756 long maxsamps);
757
766POCKETSPHINX_EXPORT
767int ps_decode_senscr(ps_decoder_t *ps, FILE *senfh);
768
779POCKETSPHINX_EXPORT
781
795POCKETSPHINX_EXPORT
797
809POCKETSPHINX_EXPORT
811
828POCKETSPHINX_EXPORT
830 int16 const *data,
831 size_t n_samples,
832 int no_search,
833 int full_utt);
834
855POCKETSPHINX_EXPORT
857 float32 **data,
858 int n_frames,
859 int no_search,
860 int full_utt);
861
876POCKETSPHINX_EXPORT
878
886POCKETSPHINX_EXPORT
888
900POCKETSPHINX_EXPORT
901char const *ps_get_hyp(ps_decoder_t *ps, int32 *out_best_score);
902
917POCKETSPHINX_EXPORT
919
931POCKETSPHINX_EXPORT
933
942POCKETSPHINX_EXPORT
944
953POCKETSPHINX_EXPORT
955
964POCKETSPHINX_EXPORT
965char const *ps_seg_word(ps_seg_t *seg);
966
979POCKETSPHINX_EXPORT
980void ps_seg_frames(ps_seg_t *seg, int *out_sf, int *out_ef);
981
1005POCKETSPHINX_EXPORT
1006int32 ps_seg_prob(ps_seg_t *seg, int32 *out_ascr, int32 *out_lscr, int32 *out_lback);
1007
1012POCKETSPHINX_EXPORT
1014
1024POCKETSPHINX_EXPORT
1026
1035POCKETSPHINX_EXPORT
1037
1047POCKETSPHINX_EXPORT
1048char const *ps_nbest_hyp(ps_nbest_t *nbest, int32 *out_score);
1049
1057POCKETSPHINX_EXPORT
1059
1066POCKETSPHINX_EXPORT
1068
1078POCKETSPHINX_EXPORT
1079void ps_get_utt_time(ps_decoder_t *ps, double *out_nspeech,
1080 double *out_ncpu, double *out_nwall);
1081
1091POCKETSPHINX_EXPORT
1092void ps_get_all_time(ps_decoder_t *ps, double *out_nspeech,
1093 double *out_ncpu, double *out_nwall);
1094
1321#ifdef __cplusplus
1322} /* extern "C" */
1323#endif
1324
1325#endif /* __POCKETSPHINX_H__ */
Multi-level alignment structure.
VAD-based endpointer for PocketSphinx.
Implementation of logging routines.
Word lattices.
Fast integer logarithmic addition operations.
Model-space linear transforms for speaker adaptation.
Public API for language models.
enum ps_type_e ps_type_t
Types of configuration parameters.
ps_type_e
Types of configuration parameters.
Definition pocketsphinx.h:97
Basic type definitions used in Sphinx.
Search modules.
Integer log math computation class.
Definition of a configuration parameter.
configuration object.
POCKETSPHINX_EXPORT const anytype_t * ps_config_set_float(ps_config_t *config, const char *name, double val)
POCKETSPHINX_EXPORT int ps_config_soundfile(ps_config_t *config, FILE *fh, const char *file)
POCKETSPHINX_EXPORT ps_config_t * ps_config_parse_json(ps_config_t *config, const char *json)
POCKETSPHINX_EXPORT int ps_config_wavfile(ps_config_t *config, FILE *infh, const char *file)
POCKETSPHINX_EXPORT int ps_config_free(ps_config_t *config)
POCKETSPHINX_EXPORT ps_config_t * ps_config_init(const ps_arg_t *defn)
POCKETSPHINX_EXPORT ps_config_t * ps_config_retain(ps_config_t *config)
POCKETSPHINX_EXPORT const anytype_t * ps_config_set_bool(ps_config_t *config, const char *name, int val)
POCKETSPHINX_EXPORT ps_decoder_t * ps_init(ps_config_t *config)
POCKETSPHINX_EXPORT const anytype_t * ps_config_set(ps_config_t *config, const char *name, const anytype_t *val, ps_type_t t)
POCKETSPHINX_EXPORT ps_arg_t const * ps_args(void)
int ps_config_validate(ps_config_t *config)
POCKETSPHINX_EXPORT ps_type_t ps_config_typeof(ps_config_t *config, char const *name)
POCKETSPHINX_EXPORT const anytype_t * ps_config_set_int(ps_config_t *config, const char *name, long val)
POCKETSPHINX_EXPORT int ps_config_nistfile(ps_config_t *config, FILE *infh, const char *file)
POCKETSPHINX_EXPORT const anytype_t * ps_config_set_str(ps_config_t *config, const char *name, const char *val)
POCKETSPHINX_EXPORT int ps_config_bool(ps_config_t *config, const char *name)
POCKETSPHINX_EXPORT const char * ps_default_modeldir(void)
POCKETSPHINX_EXPORT const char * ps_config_str(ps_config_t *config, const char *name)
POCKETSPHINX_EXPORT void ps_default_search_args(ps_config_t *config)
POCKETSPHINX_EXPORT double ps_config_float(ps_config_t *config, const char *name)
POCKETSPHINX_EXPORT void ps_expand_model_config(ps_config_t *config)
POCKETSPHINX_EXPORT const anytype_t * ps_config_get(ps_config_t *config, const char *name)
POCKETSPHINX_EXPORT long ps_config_int(ps_config_t *config, const char *name)
POCKETSPHINX_EXPORT const char * ps_config_serialize_json(ps_config_t *config)
Speech recognizer object.
POCKETSPHINX_EXPORT logmath_t * ps_get_logmath(ps_decoder_t *ps)
POCKETSPHINX_EXPORT char const * ps_get_hyp(ps_decoder_t *ps, int32 *out_best_score)
POCKETSPHINX_EXPORT long ps_decode_raw(ps_decoder_t *ps, FILE *rawfh, long maxsamps)
POCKETSPHINX_EXPORT int ps_decode_senscr(ps_decoder_t *ps, FILE *senfh)
POCKETSPHINX_EXPORT int ps_process_raw(ps_decoder_t *ps, int16 const *data, size_t n_samples, int no_search, int full_utt)
POCKETSPHINX_EXPORT int ps_save_dict(ps_decoder_t *ps, char const *dictfile, char const *format)
POCKETSPHINX_EXPORT int ps_add_word(ps_decoder_t *ps, char const *word, char const *phones, int update)
POCKETSPHINX_EXPORT void ps_get_all_time(ps_decoder_t *ps, double *out_nspeech, double *out_ncpu, double *out_nwall)
POCKETSPHINX_EXPORT int ps_reinit(ps_decoder_t *ps, ps_config_t *config)
POCKETSPHINX_EXPORT int ps_load_dict(ps_decoder_t *ps, char const *dictfile, char const *fdictfile, char const *format)
POCKETSPHINX_EXPORT int ps_start_stream(ps_decoder_t *ps)
POCKETSPHINX_EXPORT int ps_process_cep(ps_decoder_t *ps, float32 **data, int n_frames, int no_search, int full_utt)
POCKETSPHINX_EXPORT ps_config_t * ps_get_config(ps_decoder_t *ps)
POCKETSPHINX_EXPORT const char * ps_get_cmn(ps_decoder_t *ps, int update)
POCKETSPHINX_EXPORT void ps_get_utt_time(ps_decoder_t *ps, double *out_nspeech, double *out_ncpu, double *out_nwall)
POCKETSPHINX_EXPORT ps_seg_t * ps_seg_iter(ps_decoder_t *ps)
POCKETSPHINX_EXPORT char * ps_lookup_word(ps_decoder_t *ps, const char *word)
POCKETSPHINX_EXPORT ps_decoder_t * ps_retain(ps_decoder_t *ps)
POCKETSPHINX_EXPORT int ps_end_utt(ps_decoder_t *ps)
POCKETSPHINX_EXPORT ps_nbest_t * ps_nbest(ps_decoder_t *ps)
POCKETSPHINX_EXPORT int ps_get_n_frames(ps_decoder_t *ps)
POCKETSPHINX_EXPORT ps_mllr_t * ps_update_mllr(ps_decoder_t *ps, ps_mllr_t *mllr)
POCKETSPHINX_EXPORT int32 ps_get_prob(ps_decoder_t *ps)
POCKETSPHINX_EXPORT int ps_free(ps_decoder_t *ps)
POCKETSPHINX_EXPORT int ps_reinit_feat(ps_decoder_t *ps, ps_config_t *config)
POCKETSPHINX_EXPORT int ps_get_in_speech(ps_decoder_t *ps)
POCKETSPHINX_EXPORT int ps_start_utt(ps_decoder_t *ps)
POCKETSPHINX_EXPORT int ps_set_cmn(ps_decoder_t *ps, const char *cmn)
POCKETSPHINX_EXPORT ps_lattice_t * ps_get_lattice(ps_decoder_t *ps)
Word graph structure used in bestpath/nbest search.
Linear transform object.
N-best hypothesis iterator object.
POCKETSPHINX_EXPORT ps_seg_t * ps_nbest_seg(ps_nbest_t *nbest)
POCKETSPHINX_EXPORT void ps_nbest_free(ps_nbest_t *nbest)
POCKETSPHINX_EXPORT ps_nbest_t * ps_nbest_next(ps_nbest_t *nbest)
POCKETSPHINX_EXPORT char const * ps_nbest_hyp(ps_nbest_t *nbest, int32 *out_score)
Segmentation iterator object.
POCKETSPHINX_EXPORT void ps_seg_frames(ps_seg_t *seg, int *out_sf, int *out_ef)
POCKETSPHINX_EXPORT ps_seg_t * ps_seg_next(ps_seg_t *seg)
POCKETSPHINX_EXPORT char const * ps_seg_word(ps_seg_t *seg)
POCKETSPHINX_EXPORT void ps_seg_free(ps_seg_t *seg)
POCKETSPHINX_EXPORT int32 ps_seg_prob(ps_seg_t *seg, int32 *out_ascr, int32 *out_lscr, int32 *out_lback)
Literally any type!
Simple voice activity detection.