14a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/*---------------------------------------------------------------------------*
24a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  simapi.h  *
34a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *                                                                           *
44a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  Copyright 2007, 2008 Nuance Communciations, Inc.                               *
54a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *                                                                           *
64a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  Licensed under the Apache License, Version 2.0 (the 'License');          *
74a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  you may not use this file except in compliance with the License.         *
84a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *                                                                           *
94a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  You may obtain a copy of the License at                                  *
104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0                           *
114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *                                                                           *
124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  Unless required by applicable law or agreed to in writing, software      *
134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  distributed under the License is distributed on an 'AS IS' BASIS,        *
144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  See the License for the specific language governing permissions and      *
164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  limitations under the License.                                           *
174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *                                                                           *
184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *---------------------------------------------------------------------------*/
194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#ifndef _h_simapi_
234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define _h_simapi_
244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#ifdef SET_RCSID
264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectstatic const char simapi_h[] = "$Id: simapi.h,v 1.22.4.25 2008/03/07 17:37:14 dahan Exp $";
274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#endif
284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "creccons.h"   /* CREC Public Constants    */
304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "c42mul.h"
324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "caexcept.h"
334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "setting.h"
344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "mutualob.h"
354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "srec_sizes.h"
364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "search_network.h"
374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "srec.h"
384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "srec_eosd.h"
394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "srec_results.h"
404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "swimodel.h"
414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "ESR_Locale.h"
424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project ************************************************************************
454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * SwigImageBegin       <- DO NOT MOVE THIS LINE !
464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *
474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * This is a CADOC Keyword section.
484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *
494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * If CADOC is instructed to create a SWIG I-File and this is one of the
504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * files in the input list, everything between the 'SwigImage Begin' and
514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * 'SwigImage End' keywords comment blocks will be copied 'as-is' to the
524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * SWIG I-File specified on the CADOC command line.
534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *
544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * The purpose of the following marked section is to identify CA
554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * structures that SWIG may need to complete the CREC API interface.
564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *
574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Refer to the document "DOC\CADOC.TXT" for details for the CADOC Tool.
584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *
594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project ************************************************************************
604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#ifdef __cplusplus
644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectextern "C"
654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project{
664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#endif
674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#ifndef SWIGBUILD
704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  typedef featdata CA_Feature;
724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	/**
744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 * @todo document
754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 */
764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define NCONFPARS 6
774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projecttypedef struct
794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project{
804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    double scale[NCONFPARS];
814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    double offset[NCONFPARS];
824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    double weight[NCONFPARS];
834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project} Confidence_model_parameters;
844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  typedef struct
864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  {
874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	Confidence_model_parameters one_nbest;
884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	Confidence_model_parameters many_nbest;
894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  }
904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  CA_ConfidenceScorer;
914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	/**
934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 * @todo document
944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 */
954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  typedef struct
964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  {
974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         ca_rtti;
984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    booldata    is_resultBlocked;
994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    booldata    is_configured;
1004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         setup_count;
1014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    booldata    is_running;
1024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    multi_srec  *recm;                  /* contains recognition structure */
1034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    srec_eos_detector_parms* eosd_parms;/* contains ep parameters */
1044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  }
1054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  CA_Recog;
1064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
1074a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	/**
1084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 * @todo document
1094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 */
1104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  typedef struct
1114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  {
1124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         ca_rtti;
1134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    booldata    is_loaded;
1144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         pattern_setup_count;
1154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         use_dim;
1164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         partial_distance_calc_dim;
1174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    prdata      imelda_scale;
1184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    const SWIModel    *swimodel; /* owning pointer to compact acoustic models */
1194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  }
1204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  CA_Acoustic;
1214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
1224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	/**
1234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 * @todo document
1244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 */
1254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  typedef struct
1264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  {
1274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         ca_rtti;
1284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    /* IMPORTANT NOTE
1294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project     *
1304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project     * This structure is used by CA_WriteSyntaxImage
1314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project     * in the file "ca/cod_imag.c". Certain assumptions
1324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project     * about the member types and order are made.
1334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project     * DON'T change this structure without making
1344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project     * appropriate changes to the above function.
1354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project     */
1364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
1374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    booldata    has_groups;
1384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    booldata    has_rules;
1394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         setup_count;
1404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    /* syntax_info* synx; */
1414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    srec_context* synx;
1424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  }
1434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  CA_Syntax;
1444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
1454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	/**
1464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 * @todo document
1474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 */
1484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  typedef struct
1494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  {
1504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int dummy;
1514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  }
1524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  CA_Arbdata;
1534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
1544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	/**
1554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 * @todo document
1564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 */
1574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  typedef struct
1584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  {
1594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         ca_rtti;
1604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    /* IMPORTANT NOTE
1614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project     *
1624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project     * This structure is used by CA_WritePatternImage
1634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project     * in the file "ca/cod_imag.c". Certain assumptions
1644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project     * about the member types and order are made.
1654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project     * DON'T change this structure without making
1664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project     * appropriate changes to the above function.
1674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project     */
1684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
1694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    booldata      is_loaded;
1704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    //model_info    *setup_whole;
1714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    //model_info    *setup_sub;
1724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    booldata      has_cache;
1734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    booldata      true_accumulates;
1744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    booldata      recog_terminated;
1754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    pattern_info  data;
1764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  }
1774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  CA_Pattern;
1784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
1794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
1804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	/**
1814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 * @todo document
1824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 */
1834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  typedef struct
1844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  {
1854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int           dim;
1864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    transform_info  imelda_acc;
1874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    transform_info  mllr_acc;
1884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    booldata      do_mllr;
1894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    booldata      do_imelda;
1904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    booldata      is_loaded;
1914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    booldata      is_setup;
1924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  }
1934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  CA_Transform;
1944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
1954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
1964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	/**
1974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 * @todo document
1984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 */
1994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  typedef struct
2004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  {
2014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int             ca_rtti;
2024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    booldata        is_loaded;    /* generates VOCAB_NOT_CONFIGURED */
2034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    vocab_info      voc;
2044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  }
2054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  CA_Vocab;
2064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
2074a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	/**
2084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 * @todo document
2094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 */
2104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  typedef struct
2114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  {
2124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int           ca_rtti;
2134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    short         type;
2144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    unsigned long startTime;
2154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    unsigned long endTime;
2164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    short         wordID;
2174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    long          score;
2184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    char          *label;
2194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  }
2204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  CA_Result;
2214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
2224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /* typedef nbest_list CA_NBestList; */
2234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
2244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	/**
2254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 * @todo document
2264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 */
2274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  typedef struct
2284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  {
2294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    asr_int32_t dummy[2];
2304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  }
2314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  CA_NBestList;
2324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
2334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	/**
2344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 * @todo document
2354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 */
2364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  typedef struct
2374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  {
2384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         ca_rtti;
2394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    booldata    is_loaded;
2404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         dimen;
2414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         stay_penalty;
2424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         skip_penalty;
2434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         whole_stay_penalty;
2444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         whole_skip_penalty;
2454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         dur_scale;
2464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         frame_period;
2474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         min_var;
2484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         max_var;
2494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    booldata    load_all;
2504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    char        load_models[MAX_LABEL];
2514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  }
2524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  CA_AcoustInputParams;
2534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
2544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
2554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	/**
2564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 * @todo document
2574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 */
2584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	typedef struct
2594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  {
2604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         ca_rtti;
2614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    booldata    is_loaded;
2624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    ESR_BOOL        do_early;
2634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    ESR_BOOL        do_partial;
2644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         word_penalty;
2654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         top_choices;
2664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         reject_score;
2674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         traceback_freq;
2684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         viterbi_prune_thresh;  /*score-based pruning threshold - only keep paths within this delta of best cost*/
2694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         max_hmm_tokens;       /*controls the maximum number of HMM's alive in any frame.  If number
2704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project         exceeded, pruning gets tightened.  So, this threshold can be used
2714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project         to tradeoff accuracy for computation an memory*/
2724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         max_fsmnode_tokens;   /*controls the maximum number of FSMs alive in any frame.  If number,
2734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project         exceeded, pruning gets tightened.  So, this threshold can be used
2744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project         to tradeoff accuracy for computation an memory*/
2754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         max_word_tokens;      /*controls the maximum number of word tokens kept in the word lattice.
2764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project         if number exceeded, the word lattice is pruned more tightly (less word
2774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project         ends per frame*/
2784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         max_altword_tokens;      /*controls the maximum number of alternative paths to propagate, for nbest */
2794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         num_wordends_per_frame; /*controls the size of the word lattice - the number of word ends to
2804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project           keep at each time frame*/
2814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         max_fsm_nodes;        /*allocation size of a few arrays in the search - needs to be big enough
2824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project         to handle any grammar that the search needs to run.  Initialization fails
2834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project         if num exceeded*/
2844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         max_fsm_arcs;         /*allocation size of a few arrays in the search - needs to be big enough
2854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project         to handle any grammar that the search needs to run.  Initialization fails
2864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project         if num exceeded*/
2874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int           max_searches;         /* now: 2 searches for 2 genders */
2884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         terminal_timeout;           /* end of utterance timeout at terminal node */
2894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         optional_terminal_timeout;  /* end of utterance timeout at optional terminal node */
2904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         non_terminal_timeout;       /* end of utterance timeout at non terminal node */
2914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         eou_threshold;              /* select hypotheses for end-of-utterance tests */
2924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         stats_enabled;              /* enable frame-by-frame recognizer stats */
2934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         max_frames;             /* max number of frames in for searching */
2944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         max_model_states;       /* indicates largest acoustic model this search can use */
2954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  }
2964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  CA_RecInputParams;
2974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
2984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	/**
2994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 * @todo document
3004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 */
3014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  typedef struct
3024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  {
3034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         ca_rtti;
3044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    booldata    is_loaded;
3054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         dimen;
3064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         whole_dimen;
3074a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         feat_start;
3084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    float       mix_score_scale;
3094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    float       imelda_scale;
3104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    float       uni_score_scale;
3114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    float       uni_score_offset;
3124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         forget_speech;
3134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         forget_background;
3144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         rel_low;
3154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         rel_high;
3164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         gap_period;
3174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         click_period;
3184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         breath_period;
3194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         extend_annotation;
3204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         param;
3214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#if PARTIAL_DISTANCE_APPROX
3224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         partial_distance_dim;
3234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         partial_distance_threshold;
3244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         partial_distance_offset;
3254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         global_model_means[MAX_DIMEN];
3264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#endif
3274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         min_initial_quiet_frames;      /* num silence frames needed before input */
3284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         min_annotation_frames;          /* minimum overall length */
3294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         max_annotation_frames;          /* maximum overall length */
3304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         delete_leading_segments;        /* num segments to delete. 0=no action */
3314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         leading_segment_accept_if_not_found; /* Do not reject segmentation if not found */
3324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         leading_segment_min_frames;     /* remove unless shorter */
3334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         leading_segment_max_frames;     /* remove unless exceeded */
3344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         leading_segment_min_silence_gap_frames;/* remove if good silence gap to next segment */
3354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         beep_size;  /*X201 beep filter */
3364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         beep_threshold;  /*X201 beep filter */
3374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         min_segment_rel_c0; /* Any segment gets deleted whose peak c0 is < max - min_segment_rel_c0 */
3384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
3394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#if DO_SUBTRACTED_SEGMENTATION
3404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         snr_holdoff; /* Ignore first n frames when estimating speech level for SNR measure */
3414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         min_acceptable_snr; /* for successful segmentation */
3424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#endif
3434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int         stats_enabled;                  /* enable frame-by-frame pattern stats */
3444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  }
3454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  CA_PatInputParams;
3464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
3474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
3484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
3494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#endif
3504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
3514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define IMELDA_ACC_BETWEEN      1
3524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define IMELDA_ACC_WITHIN       2
3534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define IMELDA_ACC_BMEAN        3
3544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define IMELDA_ACC_WMEAN        4
3554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define MLLR_ACC_BETWEEN        5
3564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define MLLR_ACC_WITHIN         6
3574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define MLLR_ACC_BMEAN          7
3584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define MLLR_ACC_WMEAN          8
3594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define IMELDA_MATRIX           9
3604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define INVERSE_IMELDA_MATRIX   10
3614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define MLLR_MATRIX             11
3624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define TRANSFORM_MATRIX        12
3634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define TRANSFORM_OFFSET        13
3644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define CHAN_OFFSET             14
3654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
3664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /* for fast match debugging
3674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  ** 5/1/99 SL
3684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  */
3694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define FRAME_VOICED            1
3704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define FRAME_QUIET             2
3714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define FRAME_UNCERTAIN         3
3724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
3734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int CA_GetVoicingStatus(CA_Pattern *hPattern);
3744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
3754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
3764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hPattern    Handle to valid object
3774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      int         See below
3784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
3794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
3804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns the voicing status of the current frame contained in the
3814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Pattern object.
3824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * The function will return one of the following values :-
3834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
3844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * FRAME_VOICED         1
3854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * FRAME_QUIET          2
3864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * FRAME_UNCERTAIN              3
3874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
3884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * TODO: Integrate these defines into CR_type.h
3894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
3904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
3914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
3924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
3934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
3944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*
3954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  ** File: simapi.c
3964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  */
3974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_GetVersion(char *vertab,
3984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                     int len);
3994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
4004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params   *vertab     Version info
4014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *          len         length of vertab
4024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
4034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns  nothing
4044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
4054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
4064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * There doesn't seem to be anything using this function.  Has it been
4074a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * replaced by CrecGetVersion??  If so, there should be a CA interface
4084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * to it.
4094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
4104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
4114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
4124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
4134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_Log(const char *string);
4144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
4154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
4164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       string  Single string for output log
4174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
4184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      nothing
4194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
4204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
4214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
4224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * NOTE swig dosen't allow <varargs> for function arguments hence, you
4234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * will have to format the string yourself prior to calling this function
4244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
4254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
4264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
4274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
4284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_Init(void);
4294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
4304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
4314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       void
4324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
4334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      Nothing, the error callback routine is registered
4344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
4354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_Term
4364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
4374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
4384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Initializes the CREC (CR) interface.  A callback routine is supplied
4394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * by the user.  This is used as the registered callback function.
4404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Any errors will vector through this method.  The prototype for the
4414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * callback funtion is defined in CR_TYPE.H
4424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
4434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * This method must be the first CR call.  It can only be called again
4444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * during the lifetime of a process after a call to CA_Term().
4454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
4464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * The user can specify NULL as the handler funtion, this will cause
4474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * the default error handler, crDefaultHandler(), to run when errors
4484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * are encountered.  This allows the easy use of PERL scripts and the CR
4494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * interface.  Generally a handler should be supplied.
4504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
4514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
4524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
4534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_Term(void);
4544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
4554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
4564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       void
4574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
4584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      Nothing, CR is terminated.  No CR method can be called
4594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              until another call to CA_Init()
4604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
4614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_Init
4624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
4634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
4644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Signals that the CREC (CR) interface is no longer needed.  This should
4654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * be the last method called in a CR application.
4664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
4674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * The callback routine registered with CA_Init() is released.
4684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
4694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * A test is made to ensure that all the handles associated with
4704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * CR objects have been de-allocated.  If an object handle still
4714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * exists when CA_Term() is called this will generate an error.
4724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
4734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
4744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
4754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
4764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
4774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
4784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#ifdef USE_EXCEPTION_HANDLING
4794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*
4804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  **  CA_Exception methods
4814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  */
4824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int  CA_ExceptionGetCode(CA_Exception* e);
4834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int  CA_ExceptionGetMessage(CA_Exception* e , char* buff, int len,
4844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                              char *filebuff, int filebufflen, int* line);
4854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
4864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int  CA_ExceptionGetHandleType(CA_Exception* e);
4874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int  CA_ExceptionGetHandle(CA_Exception* e, void **handle);
4884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int  CA_ExceptionDelete(CA_Exception* e);
4894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#endif
4904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
4914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
4924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*
4934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  **  CA_Acoustic methods
4944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  */
4954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*
4964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  **  File: acc_basi.c
4974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  */
4984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  CA_Acoustic *CA_AllocateAcoustic(void);
4994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
5004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
5014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       void
5024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
5034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      Handle to new acoustic structure, or NULL on error.
5044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
5054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_FreeAcoustic
5064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
5074a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
5084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Allocates a new Acoustic structure (object)
5094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
5104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
5114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
5124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
5134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_FreeAcoustic(CA_Acoustic *hAcoust);
5144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
5154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
5164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hAcoust   Handle to previously allocated acoustic structure
5174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
5184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      void
5194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
5204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_AllocateAcoustic
5214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
5224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
5234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Frees a previously allocated acoustic object.
5244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
5254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
5264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
5274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
5284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_UnloadAcoustic(CA_Acoustic *hAcoust);
5294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
5304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
5314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*
5324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  **  File: acc_sub.c
5334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  */
5344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int  CA_LoadAcousticSub(CA_Acoustic *hAcoust,
5354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                          char *subname,
5364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                          CA_AcoustInputParams *hAcoustInp);
5374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
5384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
5394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hAcoust   point to a valid acoustic object
5404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              subname     subword acoustic model file
5414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              do_arb      0 for pcx, 1 for arb
5424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              do_uni      1 for unimodal models
5434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              hAcoustInp  Handle to valid acoustic input object
5444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
5454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      True/False
5464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
5474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_UnloadAcoustic
5484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_LoadAcousticWhole
5494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_LoadDictionary
5504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
5514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
5524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * The acoustic sub-word models, whether speaker dependent or independent
5534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * must be loaded with this method.
5544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
5554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * The model files must be in the 'Tracy' format (.PDF, .MIX etc.).
5564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * It is possible to load the ARB files, PCX files and CLV files.
5574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
5584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Note:    The phoneme table located with the ARB file is checked with
5594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *          other phoneme tables in the system (such as the one specified
5604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *          in the OK file).  This is why the Vocabulary class is also
5614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *          required.
5624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
5634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
5644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
5654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
5664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
5674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
5684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*
5694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  **  CA_Vocab methods
5704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  */
5714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*
5724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  **  File: voc_basi.c
5734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  */
5744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  CA_Vocab *CA_AllocateVocabulary(void);
5754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
5764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
5774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       void
5784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
5794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      Handle to allocated vocabulary structure, or NULL on error.
5804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
5814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_FreeVocabulary
5824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
5834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
5844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * This method creates a new vocabulary structure (object).  The new
5854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * structure is supplied to the caller by the method's return value.
5864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
5874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
5884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
5894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
5904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_FreeVocabulary(CA_Vocab *hVocab);
5914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
5924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
5934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hVocab  Handle to a previously allocated vocabulary
5944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
5954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      void
5964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
5974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_AllocateVocabulary
5984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
5994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
6004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Frees a previously allocated vocabular structure (object).
6014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
6024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
6034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_LoadDictionary(CA_Vocab *hVocab,
6044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                         const LCHAR* vocname,
6054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                         char *phtname,
6064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                         ESR_Locale* locale);
6074a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
6084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
6094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hVocab  Handle to vocabulary object
6104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              vocFile Source vocabulary file
6114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              phtname Source of phoneme table file
6124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              locale Locale associated with dictionary
6134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
6144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      void
6154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
6164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_UnloadDictionary
6174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
6184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
6194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Loads vocabulary 'words' from an OK file.
6204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
6214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
6224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
6234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
6244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_UnloadDictionary(CA_Vocab *hVocab);
6254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
6264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
6274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hVocab  Handle to vocabulary object
6284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
6294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      void
6304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
6314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_LoadDictionary
6324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
6334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
6344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Unloads a previously loaded dictionary
6354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
6364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
6374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
6384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
6394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int  CA_CheckEntryInDictionary(CA_Vocab *hVocab,
6404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                 const char *label);
6414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
6424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
6434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hVocab  Handle to vocabulary object
6444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              label   textual trasncription of requested word
6454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
6464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      ?
6474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
6484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
6494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Checks the existance of a pronunciation
6504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
6514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
6524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
6534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
6544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int CA_GetEntryInDictionary(CA_Vocab *hVocab,
6554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                              const char *label,
6564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                              char *pron,
6574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                              int *pronSize,
6584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                              int pronMaxSize);
6594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
6604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
6614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hVocab      Handle to vocabulary object
6624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              label       textual trasncription of requested word
6634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              pron        buffer to put pronunciation in.  The format
6644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *                          of this buffer is a series of prons terminated
6654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *                          by a null all terminated by a double null
6664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              pronSize    the number of bytes returned in the pron buffer
6674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              pronMaxSiz  this size of "pron"
6684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
6694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      true if the word exists in the dictionary
6704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
6714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
6724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Get the pronunciation of a word
6734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
6744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
6754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
6764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
6774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*
6784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  **  CA_NGram methods
6794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  */
6804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*
6814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  **  File: lmf_basi.c
6824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  */
6834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*
6844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  ** Gethin 25Aug00
6854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  ** Functions excluded from compilation in ca.mak,
6864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  ** therefore commented here
6874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  **
6884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  ** CA_NGram *CA_AllocateNGram (void);
6894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  ** void CA_FreeNGram (CA_NGram *hNGram);
6904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  ** void CA_LoadNGram (CA_NGram *hNGram, char *lmfname, char *trnname);
6914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  ** void CA_SaveNGram (CA_NGram *hNGram, char *lmfname);
6924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  ** void CA_UnloadNGram (CA_NGram *hNGram);
6934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  ** int CA_ScoreSentence (CA_NGram *hNGram, char *sentence);
6944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  ** int CA_SetupNGram (CA_NGram *hNGram, CA_Vocab *hVocab, int type);
6954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  */
6964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
6974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*
6984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  **  CA_Pattern methods
6994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  */
7004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*
7014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  **  File: pat_basi.c
7024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  */
7034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
7044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  CA_Pattern *CA_AllocatePattern(void);
7054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
7064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
7074a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       void
7084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
7094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      Handle to new pattern object
7104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
7114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_FreePattern
7124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
7134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
7144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Creates a new pattern structure (object)
7154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
7164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
7174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
7184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
7194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_FreePattern(CA_Pattern *hPattern);
7204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
7214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
7224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hPattern    valid pattern handle
7234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
7244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      Nothing, the pattern handle is not longer valid.
7254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
7264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_AllocatePattern
7274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
7284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
7294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Deletes a previously allocated pattern structure
7304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
7314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
7324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
7334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
7344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int  CA_LoadPattern(CA_Pattern *hPattern,
7354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                      CA_PatInputParams *hPatInput,
7364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                      int dimen,
7374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                      char *multable,
7384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                      char *imelda);
7394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
7404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
7414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hPattern    valid pattern handle
7424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              hPatInput   valid pattern input paramater handle
7434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              dimen
7444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              multable
7454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              imelda
7464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
7474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      true/false
7484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
7494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_UnloadPattern
7504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_SetupPatternForAcoustic
7514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_LoadPatternParameters
7524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
7534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
7544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Loads a pattern object.  Once loaded it need to be setup
7554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * with an acoustic model before any further setups involving
7564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * the recognizer.  The imelda parameters and optionally
7574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * the multables are loaded into the object.  Setup operations
7584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * based on parameters are also done.
7594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
7604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * It is an error to call this function without first loading
7614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * pattern input parameters.
7624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
7634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
7644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
7654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
7664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_UnloadPattern(CA_Pattern *hPattern);
7674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
7684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
7694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hPattern    valid pattern handle
7704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
7714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      Nothing, loaded object is unloaded
7724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
7734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_LoadPattern
7744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
7754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
7764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Unloads a previously loaded pattern object
7774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
7784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
7794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
7804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
7814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_SetupPatternForAcoustic(CA_Pattern *hPattern,
7824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                  CA_Acoustic *hAcoustic);
7834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
7844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
7854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hPattern    valid pattern handle
7864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              hAcoustic   valid acoustic handle
7874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
7884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      Nothing, the pattern object is setup and ready for use
7894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
7904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_ClearPatternForAcoustic
7914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_LoadPattern
7924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
7934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
7944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * This sets up a previously allocated pattern object with acoustic
7954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * model information from the appropriate acoustic object.
7964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * It is necessary to call this function before the acoustic
7974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * object can be used any recognition or adaptation.
7984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
7994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * If you have not called CA_LoadPattern() an error will be generated.
8004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
8014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
8024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
8034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
8044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_ClearPatternForAcoustic(CA_Pattern *hPattern,
8054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                  CA_Acoustic *hAcoustic);
8064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
8074a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
8084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hPattern    valid pattern handle
8094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              hAcoustic   valid acoustic handle
8104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
8114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      Nothing
8124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
8134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_SetupPatternForAcoustic
8144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
8154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
8164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * un-sets a previously prepared pattern object
8174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
8184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
8194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
8204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
8214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int  CA_NextPatternFrame(CA_Pattern *hPattern,
8224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                           CA_Utterance *hUtt);
8234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
8244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
8254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hPattern valid pattern handle
8264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              hUtt     valid utterance handle
8274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
8284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      status code
8294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
8304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_NextUtteranceFrame
8314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_MakePatternFrame
8324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_AdvanceRecognitionByFrame
8334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
8344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
8354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Frames can be accessed, on-by-one, from an utterance object into
8364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * a pattern object with this method.  If this routine returns a non-zero
8374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * value then an utterance frame is available for processing and a call
8384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * to the recognition method CA_AdvanceRecognitionByFrame as shown below:
8394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
8404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * while ( CA_NextPatternFrame( hPattern, hUtt ) )
8414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * {
8424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *     CA_AdvanceRecognitionByFrame( hRecog, hPattern, hUtt );
8434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * }
8444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
8454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Frames copied in with this method are transformed (post-IMELDA)
8464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
8474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * It is now advised that instead of this function,
8484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * one uses CA_GetUtteranceFrame and CA_AdvanceUtteranceFrame
8494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * to access frames in sequence.
8504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
8514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
8524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
8534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int  CA_MakePatternFrame(CA_Pattern *hPattern,
8544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                           CA_Utterance *hUtt);
8554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
8564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
8574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hPattern valid pattern handle
8584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              hUtt     valid utterance object handle
8594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
8604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      ?
8614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
8624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_NextUtteranceFrame
8634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_NextPatternFrame
8644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
8654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
8664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * The current frames is pulled in from an utterance object into
8674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * a pattern object with this method.  The frame position is not
8684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * moved on.
8694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
8704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Frames copied in with this method are IMELDA transformed
8714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
8724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
8734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
8744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
8754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*
8764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  **  File: pat_tran.c
8774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  */
8784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_SetCepstrumOffsetInPattern(CA_Pattern *hPattern,
8794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                     int index,
8804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                     int value);
8814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   /**
8824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
8834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hPattern    valid pattern handle
8844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              hAcoust   valid acoustic handle
8854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              relevance   relevance coefficient
8864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
8874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      Nothing
8884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
8894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
8904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *  Accumulates the relevance of hAcoustic into hPattern
8914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
8924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
8934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
8944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
8954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_SetupNoiseConditioning(CA_Pattern *hPattern,
8964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                 CA_FrontendInputParams *hFrontpar,
8974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                 int do_wholeword,
8984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                 int do_subword);
8994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
9004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
9014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hPattern valid pattern handle
9024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              hFrontpar valid frontend parameter object handle
9034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              do_wholeword    true or false
9044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              do_subword      true or false
9054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
9064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      ?
9074a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
9084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_ClearNoiseConditioning
9094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_ConditionAcousticToNoise
9104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
9114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
9124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * The initial setup for Extended Noise Conditioning (ENC).
9134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
9144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
9154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
9164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
9174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
9184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_ClearNoiseConditioning(CA_Pattern *hPattern);
9194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
9204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
9214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hPattern valid pattern handle
9224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
9234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      ?
9244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
9254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_SetupNoiseConditioning
9264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_ConditinAcousticToNoise
9274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
9284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
9294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * To free data structures constructed for Extended Noise Conditioning.
9304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
9314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
9324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
9334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
9344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
9354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_WriteMLLRCovariates(CA_Pattern *hPattern,
9364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                              CA_Acoustic *hAcoust,
9374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                              char *basename);
9384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
9394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project      No CR equivalent function
9404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
9414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
9424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
9434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_ReadMLLRTransforms(CA_Pattern *hPattern,
9444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                             CA_Acoustic *hAcoust,
9454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                             char *basename,
9464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                             int ntrans);
9474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
9484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project      No CR equivalent function
9494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
9504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
9514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
9524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*
9534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  **  File: pat_dump.c
9544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  */
9554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_SetupTransformDump(CA_Pattern *hPattern,
9564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                             char* basename);
9574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
9584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
9594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hPattern    valid pattern handle
9604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              basename    file base name
9614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
9624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      Nothing
9634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
9644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_ClearTransformDump
9654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_CalculateTransforms
9664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_ClearTransformAccumulates
9674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
9684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
9694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *  Sets up the facility to save the transform accumulates to a file.
9704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
9714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
9724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
9734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
9744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_ClearTransformDump(CA_Pattern *hPattern);
9754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
9764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
9774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hPattern    valid pattern handle
9784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
9794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      Nothing
9804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
9814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_SetupTransformDump
9824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_CalculateTransforms
9834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_ClearTransformAccumulates
9844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
9854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
9864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *  Clears the facility to save the transform accumulates to a file.
9874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
9884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
9894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
9904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
9914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*
9924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Pattern Array access methods
9934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
9944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*
9954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  **  File: pat_swig.c
9964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  */
9974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
9984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	/*
9994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Transform methods
10004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
10014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*
10024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  **  File: catrans.c
10034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  */
10044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*
10054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * dave 08-Oct-99: These functions are now out of sync with CA.
10064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
10074a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * CA_Transform *CA_AllocateTransform (void);
10084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
10094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * void CA_FreeTransform (CA_Transform *hTransform);
10104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * int CA_LoadTransform (CA_Transform *hTransform, int dimen);
10114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * void CA_UnloadTransform (CA_Transform *hTransform);
10124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * void CA_ConfigureTransform (CA_Transform *hTransform,int do_mllr,int do_imelda);
10134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * void CA_ClearTransform (CA_Transform *hTransform);
10144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * void CA_InheritAccumulates (CA_Transform *hTransform, CA_Pattern *hPattern);
10154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * void CA_LoadTransformAccumulates( CA_Pattern *hPattern,
10164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *      CA_Transform *hTransform);
10174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
10184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
10194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*
10204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  **  CA_Utterance methods
10214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  */
10224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*
10234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  **  File: utt_basi.c
10244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  */
10254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  CA_Utterance *CA_AllocateUtterance(void);
10264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
10274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
10284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       void
10294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
10304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      Handle to a new utterance object
10314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
10324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_FreeUtterance
10334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
10344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
10354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Creates a new utterance object
10364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
10374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
10384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
10394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
10404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_FreeUtterance(CA_Utterance *hUtt);
10414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
10424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
10434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hUtt    valid utterance handle
10444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
10454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      void    the object is no longer valid
10464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
10474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_AllocateUtterance
10484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
10494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
10504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Destroys a previously allocated utterance object
10514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
10524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
10534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
10544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
10554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int  CA_InitUtteranceForFrontend(CA_Utterance *hUtt,
10564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                   CA_FrontendInputParams *hFrontInp);
10574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
10584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
10594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hUtt    valid utterance handle
10604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              hFrontPar valid frontend input parameter handle
10614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
10624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      non-zero on error
10634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
10644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_ClearUtterance
10654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_GetFrontendUtteranceDimension
10664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_LoadUtteranceFrame
10674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
10684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
10694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Creates an utterance object ready for the frontend to insert frames.
10704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * This method should also be used to create utterances which will be
10714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * used for raw utterance (frame-by-frame) recognition - See
10724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * CA_LoadUtteranceFrame().
10734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
10744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Use the result from CA_GetFrontendUtteranceDimension to specify
10754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * the dimension.
10764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
10774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
10784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
10794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
10804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_ClearUtterance(CA_Utterance *hUtt);
10814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
10824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
10834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hUtt    valid utterance handle
10844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
10854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      void
10864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
10874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_InitUtteranceForFrontend
10884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
10894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
10904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Closes a previously opened utterance and frame buffer.
10914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
10924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
10934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
10944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
10954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int  CA_NextUtteranceFrame(CA_Pattern *hPattern,
10964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                             CA_Utterance *hUtt);
10974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
10984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
10994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hPattern    valid pattern handle
11004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              hUtt        valid utterance handle
11014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
11024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      status code
11034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
11044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_NextPatternFrame
11054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_MakePatternFrame
11064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_AdvanceUtteranceFrame
11074a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
11084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
11094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Frames can be accessed, on-by-one, from an utterance object into
11104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * a pattern object with this method.  It is advised that instead of
11114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * this function, one use CA_MakePatternFrame and CA_AdvanceUtteranceFrame
11124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * to access frames in sequence.
11134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
11144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Frames copied in with this method are un-transformed (pre-IMELDA)
11154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
11164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
11174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
11184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
11194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int  CA_AdvanceUtteranceFrame(CA_Utterance *hUtt);
11204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
11214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
11224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hUtt    valid utterance handle
11234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
11244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      True if it successfully advances the frame positon by one.
11254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
11264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_AdvanceRecognitionByFrame
11274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
11284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
11294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
11304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
11314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
11324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int  CA_UtteranceHasVoicing(CA_Utterance *hUtt);
11334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
11344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
11354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hUtt    valid utterance handle
11364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
11374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      non-zero if utterance has voicing data
11384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
11394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
11404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * This method can be polled to interrogate the state of the utterance.
11414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
11424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
11434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
11444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  ESR_BOOL CA_IsUtteranceLockedForInput(CA_Utterance *hUtt);
11454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
11464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
11474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hUtt    valid utterance handle
11484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
11494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      TRUE if utterance is locked
11504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
11514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_LockUtteranceFromInput
11524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
11534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
11544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Indicates if utterance is locked.
11554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
11564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
11574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
11584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_UnlockUtteranceForInput(CA_Utterance *hUtt);
11594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
11604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
11614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hUtt    valid utterance handle
11624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
11634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      void
11644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
11654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_LockUtteranceFromInput
11664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_ResetVoicing
11674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
11684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
11694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * This primes the utterance object by setting it's status to ACTIVE
11704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
11714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
11724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
11734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
11744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_LockUtteranceFromInput(CA_Utterance *hUtt);
11754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
11764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
11774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hUtt    valid utterance handle
11784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
11794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      void
11804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
11814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_UnlockUtteranceForInput
11824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
11834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
11844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * This signals that the utterance is complete by setting it's status to IDLE
11854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
11864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
11874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
11884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
11894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_ResetVoicing(CA_Utterance *hUtt);
11904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
11914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
11924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hUtt    valid utterance handle
11934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
11944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      void
11954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
11964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_UnlockUtteranceForInput
11974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_LockUtteranceFromInput
11984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
11994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
12004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * This prepares the utterance object for re-use.  The 'utterance has
12014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * started' and 'utterance has ended' flags are cleared.
12024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Unlike CA_UnlockUtteranceForInput, this does not fully clear the utterance.
12034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
12044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
12054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
12064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
12074a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_FlushUtteranceFrames(CA_Utterance *hUtt);
12084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
12094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
12104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hUtt    valid utterance handle
12114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
12124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      void
12134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
12144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_InitUtterance
12154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
12164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
12174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Clears the utterance object's frame buffer
12184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
12194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
12204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
12214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
12224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_SetEndOfUtteranceByLevelTimeout(CA_Utterance *hUtt,
12234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                          long timeout,
12244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                          long holdOff);
12254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
12264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
12274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hUtt    valid utterance handle
12284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              timeout timeout before EOU decision
12294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              holdOff Period which must pass before EOU can be signalled
12304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
12314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      void
12324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
12334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_UtteranceHasEnded
12344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_SeekStartOfUtterance
12354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
12364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
12374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Sets the duration (of silence) which should pass before making
12384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * and end-of-utterance (EOU) decision.
12394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
12404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * 'holdOff' is the period which must elapse before an EOU decision can
12414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * be made.  An EOU will not occure before 'holdOff'.
12424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
12434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * 'timeout' anf 'holdOff' are measured in frames.
12444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
12454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Caution: if an utterance can be spoken within 'holdOff' frames
12464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *          it may be missed by the recognizer.
12474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
12484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
12494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
12504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
12514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int  CA_UtteranceHasEnded(CA_Utterance *hUtt);
12524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
12534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
12544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hUtt    valid utterance handle
12554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
12564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      non-zero if utterance has finished
12574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              (we've processed the last frame and we're locked from input)
12584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
12594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_SeekStartOfUtterance
12604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_SetEndOfUtteranceByLevelTimeout
12614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
12624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
12634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * This method can be polled to interrogate the state of the utterance.
12644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
12654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
12664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
12674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*
12684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  **  File: utt_file.c
12694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  */
12704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int  CA_SeekUtteranceFrame(CA_Utterance *hUtt,
12714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                             int frame_no);
12724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
12734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
12744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hUtt        valid utterance handle
12754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              frame_no    new frame number (should this be unsigned long?)
12764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
12774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      -1 on error
12784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
12794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_NextPatternFrame
12804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
12814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
12824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * The 'file pointer' is set to an explicit location
12834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
12844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
12854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
12864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
12874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int CA_SaveUtterance(CA_Utterance *hUtt);
12884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
12894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
12904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hUtt    valid utterance handle
12914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
12924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      int
12934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
12944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
12954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Saves an utterance
12964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
12974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
12984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
12994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
13004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_SaveUtteranceHeader(CA_Utterance *hUtt, int frames,
13014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                              int samplerate, int framerate);
13024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
13034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
13044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hUtt        valid utterance handle
13054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              frames      frames which have been saved in this utt
13064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              samplerate  sampling rate (typically 22050Hz)
13074a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              framerate   frame rate    (typically 100 frames per second)
13084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      void
13094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
13104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
13114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Saves an utterance
13124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
13134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
13144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
13154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
13164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*
13174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  **  File: utt_data.c
13184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  */
13194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int  CA_SeekStartOfUtterance(CA_Utterance *hUtt);
13204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
13214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
13224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hUtt    valid utterance handle
13234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
13244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      non-zero if utterance has begun
13254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
13264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_UtterancehasEnded
13274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
13284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
13294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * This method can be polled to interrogate the state of the utterance.
13304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
13314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
13324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
13334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
13344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int  CA_GetUnprocessedFramesInUtterance(CA_Utterance *hUtt);
13354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
13364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
13374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hUtt    valid utterance handle
13384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
13394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      number of un-read frames in the utterance's frame buffer
13404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
13414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_AdvanceRecognitionByFrame
13424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
13434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
13444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns the number of un-read frames in the utterance's frame buffer,
13454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * i.e. those that have been inserted but have not yet been processed
13464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * by the recognizer object.
13474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
13484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
13494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
13504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
13514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*
13524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  **  File: utt_proc.c
13534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  */
13544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int  CA_LoadUtteranceFrame(CA_Utterance *hUtt,
13554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                             unsigned char* pUttFrame,
13564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                             int uttFrameLen);
13574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
13584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
13594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hUtt        valid utterance handle
13604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              pUttFrame   Pointer utterance data
13614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              uttFrameLen Number of items (features) in the frame
13624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
13634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      zero on error
13644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
13654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_InitUtteranceForFrontend
13664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_GetFrontendUtteranceDimension
13674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
13684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
13694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Inserts the frame data pointed to by 'pUttFrame' into the utterance
13704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * object 'hUtt'.
13714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
13724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * The size of the frame must agree with the value used to initialise
13734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * the utterance object.  Utterances suitable for injection are
13744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * ones created for the Frontend.
13754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
13764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
13774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
13784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
13794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int  CA_CopyUtteranceFrame(CA_Utterance *hUtt1,
13804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                             CA_Utterance *hUtt2);
13814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
13824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
13834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hUtt1   Destination valid utterance handle
13844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              hUtt2   Source valid utterance handle
13854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
13864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      zero on error
13874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
13884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
13894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Copies utterance frames from one utterance object to another
13904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
13914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
13924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
13934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
13944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_CopyPatternFrame(CA_Utterance *hUtt,
13954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                           CA_Pattern *hPattern);
13964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
13974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project      No CR equivalent function
13984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
13994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
14004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
14014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int  CA_CalculateUtteranceStatistics(CA_Utterance *hUtt,
14024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                       int start,
14034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                       int end);
14044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
14054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
14064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hUtt    valid utterance handle
14074a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              start   starting frame ID (timecode)
14084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              end     final frame ID (timecode)
14094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
14104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      Number of frames used in analysis
14114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
14124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
14134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
14144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Signals the collection of statistics over a pre-defined range of
14154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * utterance frames in the utterance's frame buffer.  do_filter flag
14164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * selects the frames that are likely to have just the ambient noise
14174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * only.
14184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * returns the number of frames used in the analysis.
14194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
14204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
14214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
14224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
14234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*
14244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  **  CA_Syntax methods
14254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  */
14264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
14274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  CA_Syntax *CA_AllocateSyntax(void);
14284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
14294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
14304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       void
14314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
14324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      Handle to new syntax structure (object)
14334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
14344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_FreeSyntax
14354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
14364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
14374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * creates a new syntax object
14384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
14394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
14404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
14414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
14424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_FreeSyntax(CA_Syntax *hSyntax);
14434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
14444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
14454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hSyntax valid syntax handle
14464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
14474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      void
14484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
14494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_AllocateSyntax
14504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
14514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
14524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Frees an allocated syntax object
14534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
14544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
14554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
14564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int CA_IsEnrollmentSyntax(CA_Syntax *hSyntax);
14574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
14584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
14594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hSyntax valid syntax handle
14604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
14614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      int
14624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
14634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
14644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * tells whether a syntax is to be used for voice-enrollment
14654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
14664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
14674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
14684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int  CA_SetupSyntaxForRecognizer(CA_Syntax *hSyntax,
14694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                   CA_Recog *hRecog);
14704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
14714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
14724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hSyntax valid syntax handle
14734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              hRecog  valid recog handle
14744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
14754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      The number of Syntax groups located
14764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
14774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_CeilingSyntaxForRecognizer
14784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
14794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
14804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * This is an essential, pre-recognition, setup method on the syntax object.
14814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * A syntax can be set up using more than one recognizer, provided the
14824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * active models have matching word indices.
14834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * now deprecated
14844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
14854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
14864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int  CA_CeilingSyntaxForRecognizer(CA_Syntax *hSyntax,
14874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                   CA_Recog *hRecog);
14884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
14894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
14904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hSyntax valid syntax handle
14914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              hRecog  valid recog handle
14924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
14934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      The number of Syntax groups located
14944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
14954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_ClearSyntaxForRecognizer
14964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
14974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
14984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * This is an essential, pre-recognition, setup method on the syntax object.
14994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * A syntax can be set up using more than one recognizer, provided the
15004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * active models have matching word indices.
15014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * now deprecated
15024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
15034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
15044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
15054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
15064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
15074a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_ClearSyntaxForRecognizer(CA_Syntax *hSyntax,
15084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                   CA_Recog *hRecog);
15094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
15104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
15114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hSyntax valid syntax handle
15124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              hRecog  valid recog handle
15134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
15144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      void
15154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
15164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_SetupSyntaxForRecognizer
15174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_UnloadRecognitionModels
15184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
15194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
15204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Clears a previous syntax setup.
15214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
15224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
15234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
15244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
15254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int  CA_CompileSyntax(CA_Syntax *hSyntax);
15264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
15274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
15284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hSyntax     valid syntax handle
15294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
15304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      0 if successful, otherwise 1 to indicate faliure
15314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
15324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_AddWordToSyntax
15334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
15344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
15354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Compiles a syntax after words have been added dynamically
15364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
15374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
15384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
15394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
15404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*
15414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  **  File: syn_grou.c
15424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  */
15434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
15444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
15454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_GetGroupName(CA_Syntax *hSyntax,
15464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                       int group_id,
15474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                       char *buff,
15484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                       int buff_len);
15494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
15504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project      No CR equivalent function.  Not called by any function
15514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
15524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
15534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_DeleteSyntaxGroups(CA_Syntax *hSyntax);
15544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
15554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project      CR function has no prototype
15564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
15574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
15584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*
15594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  **  File: syn_rule.c
15604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  */
15614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
15624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint CA_CheckTranscription(CA_Syntax *hSyntax,
15634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                            const char *trans,
15644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                            int allow_group_labels);
15654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
15664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
15674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hSyntax     valid syntax handle
15684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              trans        character string phrase
15694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    allow_group_labels  If 1, permits either words or group labels
15704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
15714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      -1 if successful, 1 if failed, 0 if all words parsed,
15724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    but not on a valid terminal node.
15734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
15744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
15754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Use CA_CheckTranscription to check whether a phrase is valid for the
15764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * given syntax. Set allow_group_labels to 0 if you use single-word per group.
15774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
15784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * NB When allow_group_labels is set to 1, there is a danger that a group
15794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * label might match an invalid word.
15804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
15814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
15824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
15834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /* It's nice to keep the Arbdata separate from the models and from the graphs
15844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project     because we may have two or more acoustic models that use the same arbdata,
15854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project     which is also justification for having the model durations in the
15864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project     acoustic model file.  Different grammars should also be able to
15874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project     share an Arbdata */
15884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /* new CA_Syntax functions */
15894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint CA_AttachArbdataToSyntax(CA_Syntax* hSyntax, CA_Arbdata* arbdata);
15904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectCA_Arbdata* CA_LoadArbdata(const char* filename);
15914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectunsigned int CA_ArbdataGetModelVersionID(CA_Arbdata* ca_arbdata);
15924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint CA_ArbdataGetModelIdsForPron(CA_Arbdata* ca_arbdata,
15934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project								 const char* pronunciation,  /* WB assumed at the edges */
15944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project								 int pronunciation_len,
15954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project								 modelID* pmodelIds);
15964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint CA_ArbdataGetModelIdsForPIC(CA_Arbdata* ca_arbdata, const char lphon, const char cphon, const char rphon);
15974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
15984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
15994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Destroys arbdata.
16004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
16014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * @param arbdata CA_Arbdata handle
16024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
16034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectvoid CA_FreeArbdata(CA_Arbdata* arbdata);
16044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint CA_AddWordToSyntax(CA_Syntax* syntax, const char* slot,
16054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                         const char *phrase, const char* pronunciation, const int weight);
16064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint CA_ResetSyntax(CA_Syntax* syntax);
16074a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint CA_LoadSyntaxAsExtensible(CA_Syntax *hSyntax, char *synbase,
16084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                int num_words_to_add);
16094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint CA_DumpSyntaxAsImage(CA_Syntax *hSyntax, const char *imagename, int version_number);
16104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint CA_DumpSyntax(CA_Syntax *hSyntax, const char *basename);
16114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint CA_LoadSyntaxFromImage(CA_Syntax *hSyntax, const LCHAR* filename);
16124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
16134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
16144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*
16154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  **  CA_Recog methods
16164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  */
16174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*
16184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  **  File: rec_basi.c
16194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  */
16204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  CA_Recog *CA_AllocateRecognition(void);
16214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
16224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
16234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       void
16244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
16254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      Handle to valid recognizer object, NULL on error.
16264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
16274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_FreeRecognition
16284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
16294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
16304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Creates a reconition object.
16314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * This only creates the object and internal storage structures.
16324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * The pointer can be re-used but must be deleted when finished with.
16334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
16344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
16354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
16364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
16374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int CA_ConfigureRecognition(CA_Recog *hRecoc,
16384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                              CA_RecInputParams *hRecInput);
16394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
16404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
16414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
16424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_UnconfigureRecognition(CA_Recog *hRecog);
16434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
16444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
16454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hRecog              valid recog handle
16464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
16474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      void
16484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
16494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_ConfigureRecognition
16504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
16514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
16524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Unconfigures recognizer.
16534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
16544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
16554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
16564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
16574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_FreeRecognition(CA_Recog *hRecog);
16584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
16594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
16604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hRecog  valid recog handle
16614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
16624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      void
16634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
16644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_AllocateRecognition
16654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
16664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
16674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Deletes a previously allocated recognizer
16684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
16694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
16704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
16714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
16724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_BeginRecognition(CA_Recog *hRecog,
16734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                           CA_Syntax *hSyntax,
16744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                           int first_syntax_node,
16754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                           CA_RecInputParams *hRecInput);
16764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
16774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
16784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hRecog              valid recog handle
16794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              hSyntax             valid syntax handle
16804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              first_syntax_node   starting syntax node
16814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              hRecInput           valid recog input parameter handle
16824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
16834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      void
16844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
16854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_EndRecognition
16864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_LoadRecognitionParameters
16874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
16884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
16894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Before a recognizer object can be used it must be initialized.
16904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * This method performs this task and is given an appropriate
16914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * syntax (and starting node) along with the required recognition
16924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * input parameters.
16934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
16944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * 'first_syntax_node' should be set to '1' (the root of the syntax object).
16954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Only experienced users should set this to any other value.  It is
16964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * a start node ID returned by CA_AddNewNode().
16974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
16984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * It is an error to call this function without first loading
16994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * recognizer input parameters.
17004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
17014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
17024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
17034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
17044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_AdvanceRecognitionByFrame(CA_Recog *hRecog,
17054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                    CA_Pattern *hPattern,
17064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                    CA_Utterance *hUtterance);
17074a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
17084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
17094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hRecog      valid recog handle
17104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              hPattern    valid pattern handle
17114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              hUtterance  valid utterance handle
17124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
17134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      void
17144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
17154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_BeginRecognition
17164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_EndRecognition
17174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_AllocatePattern
17184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_AllocateUtterance
17194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_NextPatternFrame
17204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
17214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
17224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * The vocabulary and acoustic object are required by the recognition
17234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * object to process input frames should already have been loaded with
17244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * a call to one of the CA_LoadModels methods.
17254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
17264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * This method advances the recognizer by a single frame from the
17274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * input stream.  This should be called when time permits and frames
17284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * are available in the input stream (utterance).  Typically one would
17294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * use the CA_Pattern object to detect the presence of unused frames,
17304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * This is shown below:
17314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
17324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * while ( CA_NextPatternFrame( hPattern, hUtt ) )
17334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * {
17344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *     CA_AdvanceRecognitionByFrame( hRecog, hPattern, hUtt );
17354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * }
17364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
17374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * This frame-by-frame approach provides the developer with fine control
17384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * of the recognition task.  In a multi-process real-time enviornment
17394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * where a sophisticated OS may not be present, one might want to
17404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * schedule other tasks between individual frames.  This was certainly
17414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * the case on early DSP boards chosen to host the CA recognizer.
17424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * The developer may, of course, decide that such fine control is not
17434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * required.  In such cases a higher level convenience function can easily
17444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * be constructed and 'wrapped' around this method and
17454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * which prepares the recognizer, processes all frames and then returns to
17464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * the caller.
17474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
17484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Recognition results may be issued at any time within this method,
17494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * It is partial traceback controls the time when results can be issued.
17504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Currently results are placed in a file or to the screen - the
17514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * CA_Result methods provide additional flexibility.
17524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
17534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
17544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
17554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
17564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int  CA_EndRecognition(CA_Recog *hRecog,
17574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                         CA_Pattern *hPattern,
17584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                         CA_Utterance *hUtterance);
17594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
17604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
17614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hRecog      valid recog handle
17624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              hPattern    valid pattern handle
17634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              hUtterance  valid utterance handle
17644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
17654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      non-ZERO if correct termination
17664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
17674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_BeginRecognition
17684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_AdvanceRecognitionByFrame
17694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *  CA_DiscardRecognition
17704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
17714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
17724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * When input processing is deemed to be complete, this mthod must
17734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * be called.  It should be called after all the required input frames
17744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * have been advanced through.  Not more than one recognizer may be
17754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * terminated in this fashion when multiple recognizers are employed on
17764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * given utterance.  All others should be discarded.
17774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
17784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
17794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
17804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
17814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int CA_DiscardRecognition(CA_Recog *hRecog,
17824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                            CA_Pattern *hPattern,
17834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                            CA_Utterance *hUtterance);
17844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
17854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
17864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hRecog      valid recog handle
17874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              hPattern    valid pattern handle
17884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              hUtterance  valid utterance handle
17894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
17904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
17914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      non-ZERO if successful
17924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
17934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_BeginRecognition
17944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_AdvanceRecognitionByFrame
17954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *  CA_EnddRecognition
17964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
17974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
17984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * To discard the current recognition process.  Not more than one
17994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * recognizer may be terminated in this fashion when multiple recognizers
18004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * are employed on given utterance.  All others should be discarded.
18014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
18024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
18034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
18044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
18054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_UpdateCMSAccumulates(CA_Utterance *hUtt,
18064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                               CA_Recog *hRecog);
18074a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
18084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
18094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hUtt       valid utterance handle
18104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              hRecog     valid recog handle
18114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
18124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      Nothing
18134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
18144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_AttachCMStoUtterane
18154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_CalculateCMSParameters
18164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
18174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
18184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Copies channel normalization accumulates from recog to utterance.
18194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * These are then used when a call is made to CA_CalculateCMSParameters.
18204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
18214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
18224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
18234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*
18244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  **  File: rec_load.c
18254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  */
18264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_LoadModelsInAcoustic(CA_Recog *hRecog,
18274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                               CA_Acoustic *hAcoust,
18284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                               CA_AcoustInputParams *hAcoustInp);
18294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
18304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
18314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hRecog      valid recog handle
18324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              hAcoust     valid acoutic (model) handle
18334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              hAcoustInp  valid acoustic inpit parameter handle
18344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
18354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      void
18364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
18374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_LoadModelsInDictionary
18384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_UnloadRecognitionModels
18394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_LoadAcousticParameters
18404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
18414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
18424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * This method constructs whole or sub-word models from
18434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * the entire model set in preparation for recognition.
18444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
18454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * It is an error to call this function without first loading
18464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * acoustic input parameters.
18474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
18484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
18494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
18504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
18514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_LoadModelsInDictionary(CA_Recog *hRecog,
18524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                 CA_Vocab *hVocab,
18534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                 CA_Acoustic *hAcoust,
18544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                 CA_AcoustInputParams *hAcoustInp);
18554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
18564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
18574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
18584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_LoadCrosswordTriphonesInSyntax(CA_Recog *hRecog,
18594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                         CA_Syntax *hSyntax,
18604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                         CA_Acoustic *hAcoust,
18614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                         CA_AcoustInputParams *hAcoustInp,
18624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                         int do_generics);
18634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
18644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
18654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hRecog      valid recog handle
18664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              hSyntax     valid syntax handle
18674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              hVocab      valid vocabulary handle
18684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              hAcoust     valid acoustic (model) handle
18694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              hAcoustInp  valid acoustic input parameter handle
18704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              do-generics
18714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
18724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      void
18734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
18744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_LoadModelsInAcoustic
18754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_LoadModelsInDictionary
18764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_UnloadRecognitionModels
18774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_LoadAcousticParameters
18784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
18794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
18804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * It is an error to call this function without first loading
18814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * acoustic input parameters.
18824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
18834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
18844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
18854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
18864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectvoid CA_UnloadRecognitionModels (CA_Recog *hRecog);
18874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
18884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *
18894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Params       hRecog  valid recog handle
18904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *
18914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Returns      void
18924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *
18934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * See          CA_LoadModelsInAcoustic
18944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *              CA_LoadModelsInDictionary
18954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *
18964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project ************************************************************************
18974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Destorys a previously loaded set of models.
18984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * The models could have been constructed from acoustic information,
18994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * dictionary (vocabulary) information or syntax (grammar) information
19004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project ************************************************************************
19014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
19024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
19034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
19044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_LoadMonophonesInAcoustic(CA_Recog *hRecog,
19054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                   CA_Acoustic *hAcoust,
19064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                   CA_AcoustInputParams *hAcoustInp);
19074a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
19084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
19094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hRecog      valid recog handle
19104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              hAcoust     valid acoustic (model) handle
19114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              hAcoustInp  valid acoustic input parameter handle
19124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
19134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      void
19144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
19154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_LoadModelsInAcoustic
19164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_LoadCrosswordTriphonesInSyntax
19174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_UnloadRecognitionModels
19184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_LoadAcousticParameters
19194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
19204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
19214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * This method constructs models for phoneme recognition. When using it,
19224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * replace the calls to CA_LoadModelsInAcoustic and
19234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * CA_LoadCrosswordTriphonesInSyntax with a call to
19244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * CA_LoadMonophonesInAcoustic.
19254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
19264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
19274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
19284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
19294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int CA_CompareModelIndices(CA_Recog *hRecog1,
19304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                             CA_Recog *hRecog2);
19314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
19324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
19334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hRecog1 valid recog handle
19344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              hRecog2 valid recog handle
19354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
19364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      0 if indices match.
19374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
19384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_SetupSyntaxForRecognizer
19394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
19404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
19414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Checks that the model indices for two recognizers that have been set
19424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * up are compatible. This check should be made if the recognizers are
19434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * to use a shared syntax object. The check should be made prior to the
19444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 * calls to CA_BeginRecognition.
19454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
19464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
19474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
19484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
19494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int CA_FixModelIndices(CA_Recog *hRecogTgt,
19504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                         CA_Acoustic *hAcousticSub,
19514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                         CA_Acoustic *hAcousticWhole,
19524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                         CA_Recog *hRecogSrc);
19534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
19544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
19554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hRecogTgt       valid recog handle
19564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              hAcousticSub    valid sub-word acoustic handle
19574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              hAcousticWhole  valid whole-word acoustic handle
19584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              hRecogSrc       valid recog handle
19594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
19604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      0 if successful.
19614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
19624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_CompareModelIndices
19634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_LoadCrossWordTriphonesInSyntax
19644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
19654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
19664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Us this function if the model indices for two recognizers that have
19674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * been set up are not compatible. This function modifies the target
19684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * recognizer's model indices to make them compatible with one another.
19694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * This means that they can safely share a syntax object without the
19704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * need for calling CA_LoadCrosswordTriphonesInSyntax.
19714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
19724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
19734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
19744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
19754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
19764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
19774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*
19784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  **  File: rec_addi.c
19794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  */
19804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int  CA_GetRecognitionTopScore(CA_Recog *hRecog);
19814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
19824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
19834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hRecog  valid recog handle
19844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
19854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      top score
19864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
19874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_SetRecognitionTopScore
19884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
19894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
19904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Reads top scoring result (used in multi-model configurations)
19914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
19924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
19934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
19944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
19954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_SetRecognitionTopScore(CA_Recog *hRecog,
19964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                 int score);
19974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
19984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
19994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hRecog  valid recog handle
20004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              score   score
20014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
20024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      void
20034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
20044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_GetRecognitionTopScore
20054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
20064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
20074a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Sets top scoring result (used in multi-model configurations)
20084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
20094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
20104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
20114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
20124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int  CA_GetRecognitionTerminationScore(CA_Recog *hRecog);
20134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
20144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
20154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hRecog  valid recog handle
20164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
20174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      top score
20184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
20194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
20204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Reads top scoring final result (used in multi-model configurations)
20214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
20224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
20234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
20244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
20254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int  CA_TracebackPerformed(CA_Recog* hRecog);
20264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
20274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
20284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hRecog  valid recog handle
20294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
20304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      non-ZERO if the previous recognition frame processing
20314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              resulted in the execution of a partial-traceback
20324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
20334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_SetupRecognizerForSyntax
20344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
20354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
20364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Used to test for the need to get some results
20374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
20384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
20394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
20404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
20414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_BlockRecognitionResults(CA_Recog *hRecog);
20424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
20434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
20444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hRecog  valid recog handle
20454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
20464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      void
20474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
20484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_UnBlockRecognitionResults
20494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
20504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
20514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Disables result generation (used in multi-model configurations)
20524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
20534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
20544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
20554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
20564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_UnBlockRecognitionResults(CA_Recog *hRecog);
20574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
20584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
20594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hRecog  valid recog handle
20604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
20614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      void
20624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
20634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_BlockRecognitionResults
20644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
20654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
20664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Re-enables result generation (used in multi-model configurations)
20674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
20684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
20694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
20704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
20714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*
20724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  **  File: rec_resu.c
20734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  */
20744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int  CA_FullResultScore(CA_Recog *hRecog,
20754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                          int *score,
20764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                          int do_incsil);
20774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
20784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
20794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
20804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int  CA_FullResultDuration(CA_Recog *hRecog,
20814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                             int *dur,
20824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                             int do_incsil);
20834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
20844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
20854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
20864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#ifdef SWIGBUILD
20874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int  CA_FullResultLabel(CA_Recog *hRecog,
20884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                          void *label,
20894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                          int len);
20904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
20914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
20924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hRecog  valid recog handle
20934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              label   ASCII storage for returned result label
20944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              len     Number of charcaters available for label.
20954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *                      Up to 'len'-1 characters will be returned.
20964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
20974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      PARTIAL_RESULTS_EMPTY if no result is available for release.
20984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              Otherwize the result FULL_RESULT if a valid result is available,
20994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              or REJECT_RESULT if the reject score is > reject threshold.
21004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
21014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_FullResultScore
21024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_PurgeResults
21034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
21044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
21054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * This method returns all the Main ROOT results that have occured
21064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * (and have been unread) up to now.  Results reported by this method
21074a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * will only be removed from subsequent calls after a 'purge'.
21084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
21094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * If no results are available a return code of PARTIAL_RESULTS_EMPTY
21104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * is returned.  In this situation the label will be set to "<>".
21114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
21124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * All results between 'head' and 'tail' are reported.
21134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
21144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
21154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
21164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
21174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#else
21184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int  CA_FullResultLabel(CA_Recog *hRecog,
21194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                          char *label,
21204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                          int len);
21214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
21224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  *
21234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  * Params       hRecog  valid recog handle
21244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  *              label   ASCII storage for returned result label
21254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  *              len     Number of charcaters available for label.
21264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  *                      Up to 'len'-1 characters will be returned.
21274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  *
21284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  * Returns      PARTIAL_RESULTS_EMPTY if no result is available for release.
21294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  *              Otherwize the result FULL_RESULT if a valid result is available,
21304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  *              or REJECT_RESULT if the reject score is > reject threshold.
21314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  *
21324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  * See          CA_FullResultScore
21334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  *              CA_PurgeResults
21344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  *
21354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  ************************************************************************
21364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  * This method returns all the Main ROOT results that have occured
21374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  * (and have been unread) up to now.  Results reported by this method
21384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  * will only be removed from subsequent calls after a 'purge'.
21394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  *
21404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  * If no results are available a return code of PARTIAL_RESULTS_EMPTY
21414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  * is returned.  In this situation the label will be set to "<>".
21424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  *
21434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  * All results between 'head' and 'tail' are reported.
21444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  ************************************************************************
21454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  */
21464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#endif
21474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
21484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
21494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Strips the slot market characters from the utterance string.
21504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
21514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * @param text String to filter
21524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
21534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  ESR_ReturnCode CA_ResultStripSlotMarkers(char *text);
21544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  ESR_ReturnCode CA_FullResultWordIDs(CA_Recog *hRecog, wordID *wordIDs, size_t* len);
21554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
21564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
21574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Gets the recognizer model id that was succesful (id is index in swimdllist file)
21584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
21594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * @param text String to filter
21604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
21614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  ESR_ReturnCode CA_GetRecogID(CA_Recog *hRecog, int *id);
21624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
21634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
21644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int  CA_GetRejectMargin(CA_Recog *hRecog);
21654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
21664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
21674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params               hRecog  valid recog handle
21684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
21694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns              reject margin, the differnce between the utterance score
21704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *                      and the reject model score.
21714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
21724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_FullResultLabel
21734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_FullResultScore
21744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
21754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
21764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * This method returns the reject margin, the difference between the
21774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * utterance score and the reject model score.
21784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
21794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
21804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
21814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_PurgeResults(CA_Recog *hRecog);
21824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
21834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
21844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hRecog  valid recog handle
21854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
21864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      Nothing, internal result list will be deleted
21874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
21884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_FullResultLabel
21894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_FullResultScore
21904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
21914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
21924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
21934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
21944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
21954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
21964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_ClearResults(CA_Recog *hRecog);
21974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
21984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
21994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hRecog  valid recog handle
22004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
22014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      void
22024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
22034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_RecognitionHasResults
22044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
22054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Clears results in a recognizer.  Should do CA_RecognitionHasResults
22064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * first, to see if there are results to clear.
22074a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
22084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
22094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
22104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int CA_RecognitionHasResults(CA_Recog *hRecog);
22114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
22124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
22134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hRecog      valid recog handle
22144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              num_frames  number of silence frames before end of
22154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *                          utterance is considered
22164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
22174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      void
22184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
22194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
22204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
22214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
22224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
22234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
22244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int  CA_IsEndOfUtteranceByResults(CA_Recog *hRecog);
22254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
22264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
22274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hRecog  valid recog handle
22284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
22294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns
22304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
22314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See
22324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
22334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
22344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
22354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
22364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
22374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
22384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int  CA_FullResultWordCount(CA_Recog *hRecog,
22394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                              int *count);
22404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
22414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
22424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hRecog      valid recog handle
22434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              count       pointer to storage for results word count
22444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
22454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      PARTIAL_RESULTS_EMPTY if no result is available for release.
22464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              Otherwize the result FULL_RESULT if a valid result is available,
22474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              or REJECT_RESULT if the reject score is > reject threshold.
22484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
22494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_FullResultLabel
22504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_PurgeResults
22514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
22524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
22534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * This method returns the word count of the Main ROOT results that have
22544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * occured (and have been unread) up to now (silence isn't a word).
22554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Results reported by this method will only be removed from subsequent
22564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * calls after a 'purge'.
22574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
22584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * If no results are available a return code of PARTIAL_RESULTS_EMPTY
22594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * is returned.  In this situation the the count will be set to 0.
22604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
22614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * All results between 'head' and 'tail' are reported.
22624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
22634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
22644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
22654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
22664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int  CA_CheckWordHyphenation(CA_Recog *hRecog,
22674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                               int *hyphen,
22684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                               int position);
22694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
22704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
22714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hRecog      valid recog handle
22724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              hyphen      pointer to storage for hyphenation check result
22734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              position    first word position to check (zero based)
22744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
22754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      PARTIAL_RESULTS_EMPTY if no result is available.
22764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              INVALID_REQUEST if position is illegal (negative or too big).
22774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              Otherwize the result FULL_RESULT.
22784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
22794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_FullResultLabel
22804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_FullResultWordCount
22814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_PurgeResults
22824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
22834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
22844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * This method checks whether two words should be hyphenated or not. This
22854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * check is done on the Main ROOT results that have occured (and have been
22864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * unread) up to now, excluding silence labels. The words are pointed out
22874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * by giving the position of the first word to check inside the sequence
22884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * (zero based, not counting silence labels).
22894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
22904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * If no results are available, a return code of PARTIAL_RESULTS_EMPTY is
22914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * returned. If the given word position is illegal (either negative or too
22924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * big), a return code of INVALID_REQUEST is returned.
22934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * In these situations the hyphenation will be set to 0.
22944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
22954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
22964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
22974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
22984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*
22994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  **  File: rec_nbes.c
23004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  */
23014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  CA_NBestList *CA_PrepareNBestList(CA_Recog *hRecog,
23024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                    int n,
23034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                    asr_int32_t *bestScore);
23044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
23054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
23064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hRecog      valid recog object handle
23074a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              n           number of items in list
23084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              bestScore   The score associated with the root result
23094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *                          is returned in this argument.
23104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
23114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      Handle to new N-Best object
23124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
23134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_DeleteNBestList
23144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
23154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
23164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Creates an N-Best structure for iterating through as results arrive.
23174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
23184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
23194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
23204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
23214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_DeleteNBestList(CA_NBestList *hNbest);
23224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
23234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
23244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hNbest   valid nbest object handle
23254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
23264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      Nothing, the object is no longer valid
23274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
23284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_PrepareNBestList
23294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
23304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
23314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Deletes a previously allocated NBest list object
23324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
23334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
23344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
23354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  LCHAR* CA_NBestListGetResultWord(CA_NBestList *hNbest, size_t iChoice);
23364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int  CA_NBestListGetResultConfidenceValue(CA_NBestList *hNbest, size_t iChoice, int* value);
23374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int  CA_NBestListRemoveResult(CA_NBestList *hNbest, int index);
23384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
23394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   int  CA_NBestListCount(CA_NBestList *hNbest);
23404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
23414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
23424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hNbest       valid N-Best object handle
23434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
23444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      Number of entries found in the list.  The maximum number
23454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              of entries in the list is determined when the list is created.
23464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
23474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_PrepareNBestList
23484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
23494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
23504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Once an N-Best list has been created this method allows the caller
23514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * to check the number of entries in the list.
23524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
23534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
23544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
23554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
23564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns the n'th nbest-list entry.
23574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
23584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * @param nbest N-best list structure
23594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * @param index N-best list index
23604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * @param wordIDs Array of wordIDs making up the literal
23614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * @param len [in/out] Length of wordIDs argument. If the return code is ESR_BUFFER_OVERFLOW,
23624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *            the required length is returned in this variable.
23634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * @param cost Cost associated with literal
23644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
23654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  ESR_ReturnCode CA_NBestListGetResultWordIDs(CA_NBestList* nbest, size_t iChoice, wordID* wordIDs, size_t* len, asr_int32_t* cost);
23664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
23674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
23684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*
23694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  **  CA_Params methods
23704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  */
23714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*
23724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  **  File: par_basi.c
23734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  */
23744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  CA_AcoustInputParams *CA_AllocateAcousticParameters(void);
23754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
23764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
23774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       void
23784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
23794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      Handle to valid acoustic input object, NULL on error
23804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
23814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_FreeAcousticParameters
23824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_LoadAcousticWhole
23834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_LoadAcousticSub
23844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_LoadModelsInAcoustic
23854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_SaveAcousticSub
23864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_LoadModelsInDictionary
23874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
23884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
23894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Creates a new acoustic input paramater onject
23904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
23914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
23924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
23934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
23944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_FreeAcousticParameters(CA_AcoustInputParams *hAcoustInp);
23954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
23964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
23974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hAcoustInp  valid acoustic input handle
23984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
23994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      Nothing, the acoustic input handle is no longer valid
24004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
24014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_AllocateAcousticParameters
24024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
24034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
24044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Removes a previously allocated parameter object
24054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
24064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
24074a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
24084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
24094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  CA_PatInputParams *CA_AllocatePatternParameters(void);
24104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
24114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
24124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       void
24134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
24144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      Handle to a new pattern object, NULL on error
24154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
24164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_FreePatternParameters
24174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_LoadPattern
24184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
24194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
24204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Creates a new pattern input paramater onject
24214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
24224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
24234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
24244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
24254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_FreePatternParameters(CA_PatInputParams *hPatInp);
24264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
24274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
24284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hPatInp valid pattern input handle
24294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
24304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      void    The input handle is no longer valid.
24314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
24324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_AllocatePatternParameters
24334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
24344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
24354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Removes a previously allocated parameter object
24364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
24374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
24384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
24394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
24404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  CA_RecInputParams *CA_AllocateRecognitionParameters(void);
24414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
24424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
24434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       void
24444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
24454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      Handle to new recog input object
24464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
24474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_FreeRecognitionParameters
24484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_BeginRecognition
24494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
24504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
24514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Creates a new recog input paramater onject
24524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
24534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
24544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
24554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
24564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_FreeRecognitionParameters(CA_RecInputParams *hRecInp);
24574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
24584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
24594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hRecInp valid recog input handle
24604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
24614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      void    the recognition input object is no longer valid
24624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
24634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_AllocateRecognitionParameters
24644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
24654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
24664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Removes a previously allocated parameter object
24674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
24684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
24694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
24704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
24714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
24724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*
24734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  **  File: par_load.c
24744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  */
24754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_LoadAcousticParameters(CA_AcoustInputParams *hAcoustInp,
24764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                 const char *parfile);
24774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
24784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
24794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hAcoustInp  valid acoustic input handle
24804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              parfile     parameter (.INI) file to read
24814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
24824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      void
24834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
24844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_SaveAcousticParameters
24854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_LoadAcousticWhole
24864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_LoadAcousticSub
24874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_LoadModelsInAcoustic
24884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_SaveAcousticSub
24894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_LoadModelsInDictionary
24904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
24914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
24924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Loads known acoustic parameters from the given parameter file.
24934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * The file is an ASCII text file usually of the type .PAR or .INI
24944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
24954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
24964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
24974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
24984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_SaveAcousticParameters(CA_AcoustInputParams *hAcoustInp,
24994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                 const char *parfile);
25004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
25014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
25024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hAcoustInp  valid acoustic input handle
25034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              parfile     parameter (.INI) file to write
25044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
25054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      void
25064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
25074a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_LoadAcousticParameters
25084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
25094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
25104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Saves a previously loaded (modified) parameter file
25114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
25124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * It is an error to call this function without first loading
25134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * acoustic input parameters.
25144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
25154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
25164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
25174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
25184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_LoadPatternParameters(CA_PatInputParams *hPatInp,
25194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                const char *parfile);
25204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
25214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
25224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hPatInp valid pattern handle
25234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              parfile parameter (.INI) file to read
25244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
25254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      void
25264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
25274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_SavePatternParameters
25284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_LoadPattern
25294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
25304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
25314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Loads known pattern parameters from the given parameter file.
25324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * The file is an ASCII text file usually of the type .PAR or .INI
25334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
25344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
25354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
25364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
25374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_SavePatternParameters(CA_PatInputParams *hPatInp,
25384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                const char *parfile);
25394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
25404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
25414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hPatInp valid pattern input handle
25424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              parfile parameter (.INI) file to write
25434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
25444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      void
25454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
25464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_LoadPatternParameters
25474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_LoadPattern
25484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
25494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
25504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Saves a previously loaded (modified) parameter file
25514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
25524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * It is an error to call this function without first loading
25534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * pattern input parameters.
25544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
25554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
25564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
25574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
25584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_LoadRecognitionParameters(CA_RecInputParams *hRecInp,
25594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                    const char *parfile);
25604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
25614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
25624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hRecInp valid recog input handle
25634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              parfile parameter (.INI) file to read
25644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
25654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      void
25664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
25674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_AllocateRecognitionParameters
25684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_SaveRecognitionParameters
25694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_BeginRecognition
25704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
25714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
25724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Loads known recognition parameters from the given parameter file.
25734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * The file is an ASCII text file usually of the type .PAR or .INI
25744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
25754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
25764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
25774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
25784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_SaveRecognitionParameters(CA_RecInputParams *hRecInp,
25794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                    const char *parfile);
25804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
25814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
25824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hRecInp valid recog input handle
25834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              parfile parameter (.INI) file to write
25844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
25854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      void
25864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
25874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_LoadRecognitionParameters
25884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_BeginRecognition
25894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
25904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
25914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Saves a previously loaded (modified) parameter file
25924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
25934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
25944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
25954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
25964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*
25974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  **  File: par_set.c
25984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  */
25994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
26004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int CA_GetAcousticParameter(CA_AcoustInputParams *hAcoustInp,
26014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                              char *key,
26024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                              void *value);
26034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
26044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
26054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hAcoustInp  valid acoustic input handle
26064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              key         parameter key (text label)
26074a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              value       pointer to store parameter value (text)
26084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              valueLen    size of value buffer
26094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
26104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      False on error
26114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
26124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_GetAcousticIntParameter
26134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_GetAcousticFloatParameter
26144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_LoadAcousticParameters
26154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
26164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
26174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Gets a known acoustic parameter.
26184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
26194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * It is an error to call this function without first loading
26204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * acoustic input parameters.
26214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
26224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
26234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
26244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
26254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int CA_GetAcousticStringParameter(CA_AcoustInputParams *hAcoustInp,
26264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                    char *key,
26274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                    char *value,
26284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                    int valueLen,
26294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                    int *bytes_required);
26304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
26314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
26324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hAcoustInp  valid acoustic input handle
26334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              key         parameter key (text label)
26344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              value       pointer to store parameter value (text)
26354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              valueLen    size of value buffer
26364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
26374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      False on error
26384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
26394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_GetAcousticIntParameter
26404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_GetAcousticFloatParameter
26414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_LoadAcousticParameters
26424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
26434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
26444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Gets a known acoustic parameter.
26454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
26464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * It is an error to call this function without first loading
26474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * acoustic input parameters.
26484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
26494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
26504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
26514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int CA_SetPatternParameter(CA_PatInputParams *hPatInp,
26524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                             char *key,
26534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                             char *value);
26544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
26554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
26564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hPatInp valid Pattern Input handle
26574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              key     parameter key (text label)
26584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              value   new parameter value (text)
26594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
26604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      Zero on error
26614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
26624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_GetPatternStringParameter
26634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_GetPatternIntParameter
26644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_GetPatternFloatParameter
26654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_LoadPatternParameters
26664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
26674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
26684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Sets/Modifies a known Pattern Input parameter.
26694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
26704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * It is an error to call this function without first loading
26714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * pattern input parameters.
26724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
26734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
26744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
26754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
26764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int CA_GetPatternParameter(CA_PatInputParams *hPatInp,
26774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                             char *key,
26784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                             void *value);
26794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
26804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
26814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hPatInp valid Pattern Input handle
26824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              key     parameter key (text label)
26834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              value   pointer to store parameter value (int)
26844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
26854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      False on error
26864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
26874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_SetPatternParameter
26884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_LoadPatternParameters
26894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
26904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
26914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Reads a known Pattern Input Parameter.
26924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
26934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * It is an error to call this function without first loading
26944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * pattern input parameters.
26954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
26964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
26974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
26984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
26994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int CA_GetPatternStringParameter(CA_PatInputParams *hPatInp,
27004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                   char *key,
27014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                   char *value,
27024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                   int valueLen,
27034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                   int *bytes_required);
27044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
27054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
27064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hPatInp     valid Pattern Input handle
27074a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              key         parameter key (text label)
27084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              value       pointer to store parameter value (text)
27094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              valueLen    size of value buffer
27104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
27114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      False on error
27124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
27134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_SetPatternParameter
27144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_LoadPatternParameters
27154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
27164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
27174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Reads a known Pattern Input Parameter.
27184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
27194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * It is an error to call this function without first loading
27204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * pattern input parameters.
27214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
27224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
27234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
27244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
27254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int CA_SetRecognitionParameter(CA_RecInputParams *hRecInp,
27264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                 char *key,
27274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                 char *value);
27284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
27294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
27304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hRecInp valid recog input handle
27314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              key     parameter key (text label)
27324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              value   new parameter value (text)
27334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
27344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      Zero on error
27354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
27364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_GetRecognitionStringParameter
27374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_GetRecognitionIntParameter
27384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_GetRecognitionFloatParameter
27394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_LoadRecognitionParameters
27404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
27414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
27424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Sets/Modifies a known recognition parameter.
27434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
27444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * It is an error to call this function without first loading
27454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * recognizer input parameters.
27464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
27474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
27484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
27494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int CA_GetRecognitionParameter(CA_RecInputParams *hRecInp,
27504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                 char *key,
27514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                 void *value);
27524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
27534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
27544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hRecInp valid recog input handle
27554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              key     parameter key (text label)
27564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              value   pointer to store parameter value (int)
27574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
27584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      False on error
27594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
27604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CA_SetRecognitionParameter
27614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_BeginRecognition
27624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              CA_LoadRecognitionParameters
27634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
27644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
27654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Reads a known recognition parameter.
27664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
27674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * It is an error to call this function without first loading
27684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * recognizer input parameters.
27694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
27704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
27714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
27724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
27734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int CA_GetRecognitionStringParameter(CA_RecInputParams *hRecInp,
27744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                       char *key,
27754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                       char *value,
27764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                       int valueLen,
27774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                       int *bytes_required);
27784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#if USE_CONFIDENCE_SCORER
27794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
27804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  CA_ConfidenceScorer* CA_AllocateConfidenceScorer(void);
27814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
27824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
27834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
27844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       void
27854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
27864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      Handle to new ConfidenceScorer structure, or NULL on error.
27874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
27884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See          CR_FreeConfidenceScorer
27894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
27904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
27914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Allocates a new SymbolMatch structure (object)
27924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
27934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
27944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
27954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_FreeConfidenceScorer(CA_ConfidenceScorer *hConfidenceScorer);
27964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
27974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
27984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int CA_LoadConfidenceScorer(CA_ConfidenceScorer* hConfidenceScorer);
27994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
28004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
28014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hConfidenceScorer   Handle to previously allocated ConfidenceScorer object
28024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *  nnet_file     Name of the confidence scoring file
28034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
28044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      True if successful, False in the case of an error
28054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
28064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See
28074a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
28084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
28094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
28104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
28114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
28124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void CA_UnloadConfidenceScorer(CA_ConfidenceScorer *hConfidenceScorer);
28134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
28144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
28154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hConfidenceScorer   Handle to previously allocated ConfidenceScorer object
28164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
28174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns
28184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
28194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * See
28204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
28214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
28224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
28234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
28244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
28254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int CA_ComputeConfidenceValues(CA_ConfidenceScorer* hConfidenceScorer,
28264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                CA_Recog* recog, CA_NBestList *nbestlist);
28274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   /**
28284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
28294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Params       hConfidenceScorer   Handle to previously allocated ConfidenceScorer object
28304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              recog               Handle to recognizer that won
28314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *              nbestlist           Handle to nbest list where confidence values will be inserted
28324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
28334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Returns      0 if successful, 1 if not.
28344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
28354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
28364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
28374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   ************************************************************************
28384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
28394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
28404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#endif /* #if USE_CONFIDENCE_SCORER */
28414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
28424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#ifdef __cplusplus
28434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project}
28444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#endif
28454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
28464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#endif
2847