Asterisk - The Open Source Telephony Project GIT-master-3dae2cf
|
Generic Speech Recognition API. More...
Go to the source code of this file.
Data Structures | |
struct | ast_speech |
struct | ast_speech_engine |
struct | ast_speech_result |
Enumerations | |
enum | ast_speech_flags { AST_SPEECH_QUIET = (1 << 0) , AST_SPEECH_SPOKE = (1 << 1) , AST_SPEECH_HAVE_RESULTS = (1 << 2) } |
enum | ast_speech_results_type { AST_SPEECH_RESULTS_TYPE_NORMAL = 0 , AST_SPEECH_RESULTS_TYPE_NBEST } |
enum | ast_speech_states { AST_SPEECH_STATE_NOT_READY = 0 , AST_SPEECH_STATE_READY , AST_SPEECH_STATE_WAIT , AST_SPEECH_STATE_DONE } |
Functions | |
int | ast_speech_change (struct ast_speech *speech, const char *name, const char *value) |
Change an engine specific attribute. More... | |
int | ast_speech_change_results_type (struct ast_speech *speech, enum ast_speech_results_type results_type) |
Change the type of results we want. More... | |
int | ast_speech_change_state (struct ast_speech *speech, int state) |
Change state of a speech structure. More... | |
int | ast_speech_destroy (struct ast_speech *speech) |
Destroy a speech structure. More... | |
int | ast_speech_dtmf (struct ast_speech *speech, const char *dtmf) |
Signal to the engine that DTMF was received. More... | |
struct ast_speech_engine * | ast_speech_find_engine (const char *engine_name) |
Retrieve a speech recognition engine. More... | |
int | ast_speech_get_setting (struct ast_speech *speech, const char *name, char *buf, size_t len) |
Get an engine specific attribute. More... | |
int | ast_speech_grammar_activate (struct ast_speech *speech, const char *grammar_name) |
Activate a grammar on a speech structure. More... | |
int | ast_speech_grammar_deactivate (struct ast_speech *speech, const char *grammar_name) |
Deactivate a grammar on a speech structure. More... | |
int | ast_speech_grammar_load (struct ast_speech *speech, const char *grammar_name, const char *grammar) |
Load a grammar on a speech structure (not globally) More... | |
int | ast_speech_grammar_unload (struct ast_speech *speech, const char *grammar_name) |
Unload a grammar. More... | |
struct ast_speech * | ast_speech_new (const char *engine_name, const struct ast_format_cap *formats) |
Create a new speech structure. More... | |
int | ast_speech_register (struct ast_speech_engine *engine) |
Register a speech recognition engine. More... | |
int | ast_speech_results_free (struct ast_speech_result *result) |
Free a set of results. More... | |
struct ast_speech_result * | ast_speech_results_get (struct ast_speech *speech) |
Get speech recognition results. More... | |
const char * | ast_speech_results_type_to_string (enum ast_speech_results_type type) |
Convert a speech results type to a string. More... | |
void | ast_speech_start (struct ast_speech *speech) |
Indicate to the speech engine that audio is now going to start being written. More... | |
int | ast_speech_unregister (const char *engine_name) |
Unregister a speech recognition engine. More... | |
struct ast_speech_engine * | ast_speech_unregister2 (const char *engine_name) |
Unregister a speech recognition engine. More... | |
void | ast_speech_unregister_engines (int(*should_unregister)(const struct ast_speech_engine *engine, void *data), void *data, void(*on_unregistered)(void *obj)) |
Unregister all speech recognition engines told to by callback. More... | |
int | ast_speech_write (struct ast_speech *speech, void *data, int len) |
Write audio to the speech engine. More... | |
Generic Speech Recognition API.
Definition in file speech.h.
enum ast_speech_flags |
Enumerator | |
---|---|
AST_SPEECH_RESULTS_TYPE_NORMAL | |
AST_SPEECH_RESULTS_TYPE_NBEST |
enum ast_speech_states |
int ast_speech_change | ( | struct ast_speech * | speech, |
const char * | name, | ||
const char * | value | ||
) |
Change an engine specific attribute.
Definition at line 169 of file res_speech.c.
References ast_speech_engine::change, ast_speech::engine, name, and value.
Referenced by AST_TEST_DEFINE(), handle_speechset(), and speech_engine_write().
int ast_speech_change_results_type | ( | struct ast_speech * | speech, |
enum ast_speech_results_type | results_type | ||
) |
Change the type of results we want.
Definition at line 308 of file res_speech.c.
References ast_speech_engine::change_results_type, ast_speech::engine, and ast_speech::results_type.
Referenced by AST_TEST_DEFINE(), and speech_results_type_write().
int ast_speech_change_state | ( | struct ast_speech * | speech, |
int | state | ||
) |
Change state of a speech structure.
Definition at line 278 of file res_speech.c.
References ast_set_flag, AST_SPEECH_SPOKE, AST_SPEECH_STATE_WAIT, ast_speech::state, and state.
Referenced by ast_aeap_speech_on_error(), ast_speech_new(), handle_request_set(), handle_speechrecognize(), speech_aeap_engine_start(), and speech_background().
int ast_speech_destroy | ( | struct ast_speech * | speech | ) |
Destroy a speech structure.
Definition at line 251 of file res_speech.c.
References ao2_ref, ast_free, ast_mutex_destroy, ast_speech_results_free(), ast_speech_engine::destroy, ast_speech::engine, ast_speech::format, ast_speech::lock, ast_speech::processing_sound, and ast_speech::results.
Referenced by AST_TEST_DEFINE(), destroy_callback(), handle_speechdestroy(), launch_asyncagi(), run_agi(), and speech_create().
int ast_speech_dtmf | ( | struct ast_speech * | speech, |
const char * | dtmf | ||
) |
Signal to the engine that DTMF was received.
Definition at line 154 of file res_speech.c.
References AST_SPEECH_STATE_READY, ast_speech_engine::dtmf, ast_speech::engine, NULL, and ast_speech::state.
Referenced by AST_TEST_DEFINE(), and speech_background().
struct ast_speech_engine * ast_speech_find_engine | ( | const char * | engine_name | ) |
Retrieve a speech recognition engine.
Retrieve a speech recognition engine.
Definition at line 46 of file res_speech.c.
References AST_RWLIST_RDLOCK, AST_RWLIST_TRAVERSE, AST_RWLIST_UNLOCK, ast_strlen_zero(), default_engine, ast_speech_engine::name, and NULL.
Referenced by ast_speech_new(), ast_speech_register(), and load_engine().
int ast_speech_get_setting | ( | struct ast_speech * | speech, |
const char * | name, | ||
char * | buf, | ||
size_t | len | ||
) |
Get an engine specific attribute.
Definition at line 175 of file res_speech.c.
References buf, ast_speech::engine, ast_speech_engine::get_setting, len(), and name.
Referenced by AST_TEST_DEFINE(), and speech_engine_read().
int ast_speech_grammar_activate | ( | struct ast_speech * | speech, |
const char * | grammar_name | ||
) |
Activate a grammar on a speech structure.
Activate a grammar on a speech structure.
Definition at line 66 of file res_speech.c.
References ast_speech_engine::activate, and ast_speech::engine.
Referenced by handle_speechactivategrammar(), and speech_activate().
int ast_speech_grammar_deactivate | ( | struct ast_speech * | speech, |
const char * | grammar_name | ||
) |
Deactivate a grammar on a speech structure.
Deactivate a grammar on a speech structure.
Definition at line 72 of file res_speech.c.
References ast_speech_engine::deactivate, and ast_speech::engine.
Referenced by handle_speechdeactivategrammar(), and speech_deactivate().
int ast_speech_grammar_load | ( | struct ast_speech * | speech, |
const char * | grammar_name, | ||
const char * | grammar | ||
) |
Load a grammar on a speech structure (not globally)
Load a grammar on a speech structure (not globally)
Definition at line 78 of file res_speech.c.
References ast_speech::engine, and ast_speech_engine::load.
Referenced by handle_speechloadgrammar(), and speech_load().
int ast_speech_grammar_unload | ( | struct ast_speech * | speech, |
const char * | grammar_name | ||
) |
Unload a grammar.
Unload a grammar.
Definition at line 84 of file res_speech.c.
References ast_speech::engine, and ast_speech_engine::unload.
Referenced by handle_speechunloadgrammar(), and speech_unload().
struct ast_speech * ast_speech_new | ( | const char * | engine_name, |
const struct ast_format_cap * | cap | ||
) |
Create a new speech structure.
Create a new speech structure.
Definition at line 181 of file res_speech.c.
References ao2_bump, ao2_cleanup, ao2_ref, ast_calloc, ast_format_cap_alloc, AST_FORMAT_CAP_FLAG_DEFAULT, ast_format_cap_get_compatible(), ast_format_cap_get_format(), ast_format_cap_iscompatible_format(), AST_FORMAT_CMP_NOT_EQUAL, ast_format_slin, ast_free, ast_mutex_destroy, ast_mutex_init, ast_speech_change_state(), ast_speech_find_engine(), AST_SPEECH_STATE_NOT_READY, ast_translator_best_choice(), ast_speech_engine::create, ast_speech::engine, ast_speech::format, ast_speech_engine::formats, ast_speech::lock, NULL, RAII_VAR, and ast_speech::results.
Referenced by AST_TEST_DEFINE(), handle_speechcreate(), and speech_create().
int ast_speech_register | ( | struct ast_speech_engine * | engine | ) |
Register a speech recognition engine.
Definition at line 316 of file res_speech.c.
References ast_log, AST_RWLIST_INSERT_HEAD, AST_RWLIST_UNLOCK, AST_RWLIST_WRLOCK, ast_speech_find_engine(), ast_verb, ast_speech_engine::create, default_engine, ast_speech_engine::destroy, LOG_WARNING, ast_speech_engine::name, and ast_speech_engine::write.
Referenced by speech_engine_alloc_and_register().
int ast_speech_results_free | ( | struct ast_speech_result * | result | ) |
Free a set of results.
Free a set of results.
Definition at line 96 of file res_speech.c.
References ast_free, AST_LIST_NEXT, ast_speech_result::grammar, NULL, result, and ast_speech_result::text.
Referenced by ast_speech_destroy(), ast_speech_start(), and AST_TEST_DEFINE().
struct ast_speech_result * ast_speech_results_get | ( | struct ast_speech * | speech | ) |
Get speech recognition results.
Get speech recognition results.
Definition at line 90 of file res_speech.c.
References ast_speech::engine, ast_speech_engine::get, and NULL.
Referenced by AST_TEST_DEFINE(), handle_speechrecognize(), and speech_background().
const char * ast_speech_results_type_to_string | ( | enum ast_speech_results_type | type | ) |
Convert a speech results type to a string.
Definition at line 294 of file res_speech.c.
References ast_assert, AST_SPEECH_RESULTS_TYPE_NBEST, AST_SPEECH_RESULTS_TYPE_NORMAL, and type.
Referenced by speech_aeap_engine_change_results_type().
void ast_speech_start | ( | struct ast_speech * | speech | ) |
Indicate to the speech engine that audio is now going to start being written.
Indicate to the speech engine that audio is now going to start being written.
Definition at line 122 of file res_speech.c.
References ast_clear_flag, AST_SPEECH_HAVE_RESULTS, AST_SPEECH_QUIET, ast_speech_results_free(), AST_SPEECH_SPOKE, ast_speech::engine, NULL, ast_speech::results, and ast_speech_engine::start.
Referenced by AST_TEST_DEFINE(), handle_speechrecognize(), speech_background(), and speech_start().
int ast_speech_unregister | ( | const char * | engine_name | ) |
Unregister a speech recognition engine.
Definition at line 347 of file res_speech.c.
References ast_speech_unregister2(), and NULL.
struct ast_speech_engine * ast_speech_unregister2 | ( | const char * | engine_name | ) |
Unregister a speech recognition engine.
Definition at line 352 of file res_speech.c.
References AST_RWLIST_FIRST, AST_RWLIST_REMOVE_CURRENT, AST_RWLIST_TRAVERSE_SAFE_BEGIN, AST_RWLIST_TRAVERSE_SAFE_END, AST_RWLIST_UNLOCK, AST_RWLIST_WRLOCK, ast_strlen_zero(), ast_verb, default_engine, ast_speech_engine::name, and NULL.
Referenced by ast_speech_unregister(), load_engine(), unload_engine(), and unload_module().
void ast_speech_unregister_engines | ( | int(*)(const struct ast_speech_engine *engine, void *data) | should_unregister, |
void * | data, | ||
void(*)(void *obj) | on_unregistered | ||
) |
Unregister all speech recognition engines told to by callback.
Definition at line 380 of file res_speech.c.
References AST_RWLIST_FIRST, AST_RWLIST_REMOVE_CURRENT, AST_RWLIST_TRAVERSE_SAFE_BEGIN, AST_RWLIST_TRAVERSE_SAFE_END, AST_RWLIST_UNLOCK, AST_RWLIST_WRLOCK, ast_verb, default_engine, ast_speech_engine::name, NULL, and should_unregister().
Referenced by speech_observer_loaded().
int ast_speech_write | ( | struct ast_speech * | speech, |
void * | data, | ||
int | len | ||
) |
Write audio to the speech engine.
Write audio to the speech engine.
Definition at line 144 of file res_speech.c.
References AST_SPEECH_STATE_READY, ast_speech::engine, len(), ast_speech::state, and ast_speech_engine::write.
Referenced by handle_speechrecognize(), and speech_background().