00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef MRCP_RECOG_HEADER_H
00020 #define MRCP_RECOG_HEADER_H
00021
00022
00023
00024
00025
00026
00027 #include "mrcp_types.h"
00028 #include "mrcp_header_accessor.h"
00029
00030 APT_BEGIN_EXTERN_C
00031
00032
00033 typedef enum {
00034 RECOGNIZER_HEADER_CONFIDENCE_THRESHOLD,
00035 RECOGNIZER_HEADER_SENSITIVITY_LEVEL,
00036 RECOGNIZER_HEADER_SPEED_VS_ACCURACY,
00037 RECOGNIZER_HEADER_N_BEST_LIST_LENGTH,
00038 RECOGNIZER_HEADER_NO_INPUT_TIMEOUT,
00039 RECOGNIZER_HEADER_RECOGNITION_TIMEOUT,
00040 RECOGNIZER_HEADER_WAVEFORM_URI,
00041 RECOGNIZER_HEADER_COMPLETION_CAUSE,
00042 RECOGNIZER_HEADER_RECOGNIZER_CONTEXT_BLOCK,
00043 RECOGNIZER_HEADER_START_INPUT_TIMERS,
00044 RECOGNIZER_HEADER_SPEECH_COMPLETE_TIMEOUT,
00045 RECOGNIZER_HEADER_SPEECH_INCOMPLETE_TIMEOUT,
00046 RECOGNIZER_HEADER_DTMF_INTERDIGIT_TIMEOUT,
00047 RECOGNIZER_HEADER_DTMF_TERM_TIMEOUT,
00048 RECOGNIZER_HEADER_DTMF_TERM_CHAR,
00049 RECOGNIZER_HEADER_FAILED_URI,
00050 RECOGNIZER_HEADER_FAILED_URI_CAUSE,
00051 RECOGNIZER_HEADER_SAVE_WAVEFORM,
00052 RECOGNIZER_HEADER_NEW_AUDIO_CHANNEL,
00053 RECOGNIZER_HEADER_SPEECH_LANGUAGE,
00054
00055
00056 RECOGNIZER_HEADER_INPUT_TYPE,
00057 RECOGNIZER_HEADER_INPUT_WAVEFORM_URI,
00058 RECOGNIZER_HEADER_COMPLETION_REASON,
00059 RECOGNIZER_HEADER_MEDIA_TYPE,
00060 RECOGNIZER_HEADER_VER_BUFFER_UTTERANCE,
00061 RECOGNIZER_HEADER_RECOGNITION_MODE,
00062 RECOGNIZER_HEADER_CANCEL_IF_QUEUE,
00063 RECOGNIZER_HEADER_HOTWORD_MAX_DURATION,
00064 RECOGNIZER_HEADER_HOTWORD_MIN_DURATION,
00065 RECOGNIZER_HEADER_INTERPRET_TEXT,
00066 RECOGNIZER_HEADER_DTMF_BUFFER_TIME,
00067 RECOGNIZER_HEADER_CLEAR_DTMF_BUFFER,
00068 RECOGNIZER_HEADER_EARLY_NO_MATCH,
00069
00070 RECOGNIZER_HEADER_COUNT
00071 } mrcp_recognizer_header_id;
00072
00073
00074
00075 typedef enum {
00076 RECOGNIZER_COMPLETION_CAUSE_SUCCESS = 0,
00077 RECOGNIZER_COMPLETION_CAUSE_NO_MATCH = 1,
00078 RECOGNIZER_COMPLETION_CAUSE_NO_INPUT_TIMEOUT = 2,
00079 RECOGNIZER_COMPLETION_CAUSE_RECOGNITION_TIMEOUT = 3,
00080 RECOGNIZER_COMPLETION_CAUSE_GRAM_LOAD_FAILURE = 4,
00081 RECOGNIZER_COMPLETION_CAUSE_GRAM_COMP_FAILURE = 5,
00082 RECOGNIZER_COMPLETION_CAUSE_ERROR = 6,
00083 RECOGNIZER_COMPLETION_CAUSE_SPEECH_TOO_EARLY = 7,
00084 RECOGNIZER_COMPLETION_CAUSE_TOO_MUCH_SPEECH_TIMEOUT = 8,
00085 RECOGNIZER_COMPLETION_CAUSE_URI_FAILURE = 9,
00086 RECOGNIZER_COMPLETION_CAUSE_LANGUAGE_UNSUPPORTED = 10,
00087
00088
00089 RECOGNIZER_COMPLETION_CAUSE_CANCELLED = 11,
00090 RECOGNIZER_COMPLETION_CAUSE_SEMANTICS_FAILURE = 12,
00091 RECOGNIZER_COMPLETION_CAUSE_PARTIAL_MATCH = 13,
00092 RECOGNIZER_COMPLETION_CAUSE_PARTIAL_MATCH_MAXTIME = 14,
00093 RECOGNIZER_COMPLETION_CAUSE_NO_MATCH_MAXTIME = 15,
00094 RECOGNIZER_COMPLETION_CAUSE_GRAM_DEFINITION_FAILURE = 16,
00095
00096 RECOGNIZER_COMPLETION_CAUSE_COUNT = 17,
00097 RECOGNIZER_COMPLETION_CAUSE_UNKNOWN = RECOGNIZER_COMPLETION_CAUSE_COUNT
00098 } mrcp_recog_completion_cause_e;
00099
00100
00101
00102
00103 typedef struct mrcp_recog_header_t mrcp_recog_header_t;
00104
00105
00106 struct mrcp_recog_header_t {
00107
00108
00109 float confidence_threshold;
00110
00111 float sensitivity_level;
00112
00113 float speed_vs_accuracy;
00114
00115
00116 apr_size_t n_best_list_length;
00117
00118 apr_size_t no_input_timeout;
00119
00120 apr_size_t recognition_timeout;
00121
00122
00123 apt_str_t waveform_uri;
00124
00125
00126 mrcp_recog_completion_cause_e completion_cause;
00127
00128 apt_str_t recognizer_context_block;
00129
00130
00131 apt_bool_t start_input_timers;
00132
00133
00134 apr_size_t speech_complete_timeout;
00135
00136
00137 apr_size_t speech_incomplete_timeout;
00138
00139
00140 apr_size_t dtmf_interdigit_timeout;
00141
00142
00143 apr_size_t dtmf_term_timeout;
00144
00145
00146 char dtmf_term_char;
00147
00148
00149 apt_str_t failed_uri;
00150
00151
00152
00153 apt_str_t failed_uri_cause;
00154
00155
00156 apt_bool_t save_waveform;
00157
00158
00159
00160 apt_bool_t new_audio_channel;
00161
00162
00163 apt_str_t speech_language;
00164
00165
00166
00167 apt_str_t input_type;
00168
00169
00170 apt_str_t input_waveform_uri;
00171
00172
00173 apt_str_t completion_reason;
00174
00175
00176 apt_str_t media_type;
00177
00178
00179
00180 apt_bool_t ver_buffer_utterance;
00181
00182 apt_str_t recognition_mode;
00183
00184
00185
00186 apt_bool_t cancel_if_queue;
00187
00188
00189 apr_size_t hotword_max_duration;
00190
00191
00192 apr_size_t hotword_min_duration;
00193
00194 apt_str_t interpret_text;
00195
00196
00197
00198 apr_size_t dtmf_buffer_time;
00199
00200
00201
00202 apt_bool_t clear_dtmf_buffer;
00203
00204
00205
00206 apt_bool_t early_no_match;
00207 };
00208
00209
00210
00211 const mrcp_header_vtable_t* mrcp_recog_header_vtable_get(mrcp_version_e version);
00212
00213
00214 MRCP_DECLARE(const apt_str_t*) mrcp_recog_completion_cause_get(mrcp_recog_completion_cause_e completion_cause, mrcp_version_e version);
00215
00216 APT_END_EXTERN_C
00217
00218 #endif