14a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/*---------------------------------------------------------------------------*
24a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  utteranc.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_utteranc_
234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define _h_utteranc_
244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#ifdef SET_RCSID
264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectstatic const char utteranc_h[] = "$Id: utteranc.h,v 1.3.6.7 2007/08/31 17:44:53 dahan Exp $";
274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#endif
284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "all_defs.h"
324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "hmm_type.h"
334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "fpi_tgt.h"
344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "voicing.h"
354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "specnorm.h"
364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "channorm.h"
374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "swicms.h"
384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#ifndef _RTT
394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "duk_io.h"
404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#endif
414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define DEFAULT_BUFFER_SIZE 100 /* in frames */
434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define KEEP_FRAMES   40 /* in frames, past frames kept */
444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/*  Functions supported are
464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project**  new, delete (by source)
474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project**  open file/device, close file/device
484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project**  attach and detach sink
494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project**  read/store samples - including the header
504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project*/
514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @todo document
544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projecttypedef struct
564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project{                /* label structure */
574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  char *label;
584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  long begin;
594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  long end;
604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  char *extra;
614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  unsigned char flag;
624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project}
634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectannotate;
644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @todo document
684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projecttypedef struct
704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project{
714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int   utt_type;
724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int   dim;
734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  fepFramePkt  *frame;
744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int   num_chan;
754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int   do_channorm;
764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  spect_dist_info **spchchan; /*  Mirrored from the Wave object */
774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  norm_info   *channorm; /*  Mirrored from the Wave object */
784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  swicms_norm_info     *swicms;    /* copy of wave obj pointer */
794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  spect_dist_info *backchan[MAX_CHAN_DIM];
804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  featdata  *last_push;
814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int   voice_duration;
824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int   quiet_duration;
834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int   unsure_duration;
844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int   start_windback;
854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project}
864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectutt_generic_info;
874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#ifndef _RTT
894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @todo document
914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projecttypedef struct
934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project{
944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  char  typ;  /* s (16 bit), c (8 bit), u (newton .utb) */
954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int   endian;  /* 0 is little 1 is big */
964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int   do_skip; /* skip every other frame */
974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  unsigned long len;  /* length of file/utterance */
984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  PFile* file;  /* pointer to file */
994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  char  name[MAX_LABEL]; /* file name */
1004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*    int   op;  read or write */
1014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int   num_utts; /* no. of utterances in utb file */
1024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  annotate  *utb_table; /* utb file header information */
1034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project}
1044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectutt_file_info;
1054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
1064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1074a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @todo document
1084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projecttypedef struct
1104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project{
1114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int   utt_type;
1124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int   dim;
1134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  fepFramePkt  *frame;
1144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int   num_chan;
1154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int   do_channorm;
1164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  spect_dist_info **spchchan; /*  Mirrored from the Wave object */
1174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  norm_info   *channorm; /*  Mirrored from the Wave object */
1184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  swicms_norm_info    *swicms;          /* copy of wave obj pointer */
1194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  spect_dist_info *backchan[MAX_CHAN_DIM];
1204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  featdata  *last_push;
1214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int   voice_duration;
1224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int   quiet_duration;
1234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int   unsure_duration;
1244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int   start_windback;
1254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /*    voicing_info voice; */
1264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  utt_file_info file;
1274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project}
1284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectfile_utterance_info;
1294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#endif
1304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
1314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @todo document
1334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projecttypedef struct
1354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project{
1364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int   utt_type;
1374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int   dim;
1384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  fepFramePkt  *frame;
1394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int   num_chan;
1404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int   do_channorm;
1414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  spect_dist_info **spchchan; /*  Mirrored from the Wave object */
1424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  norm_info   *channorm; /*  Mirrored from the Wave object */
1434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  swicms_norm_info    *swicms;        /* copy of wave obj pointer */
1444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  spect_dist_info *backchan[MAX_CHAN_DIM];
1454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  featdata  *last_push;
1464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int   voice_duration;
1474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int   quiet_duration;
1484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int   unsure_duration;
1494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int   start_windback;
1504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project}
1514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectlive_utterance_info;
1524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
1534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @todo document
1554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projecttypedef union
1574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project{
1584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int   utt_type; /* live or from file */
1594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  utt_generic_info    gen_utt; /* generic one */
1604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#ifndef _RTT
1614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  file_utterance_info file_utt;
1624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#endif
1634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  live_utterance_info live_utt;
1644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project} utterance_info;
1654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
1664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
1674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/*
1684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project**  Size of the utb file headers and details
1694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project*/
1704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
1714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#ifndef _RTT
1724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define UTT_VERSION 2
1734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define UTT_HEADER_SIZE 16        /*Size on disk*/
1744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define UTB_HEADER_SIZE 32        /*Size on disk*/
1754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define UTB_HEADER_USED 16        /*Size on disk*/   /* SAL */
1764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
1774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * UTB file header.
1794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projecttypedef struct _UttHeader
1814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project{
1824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	/**
1834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 * The size of the header in bytes.
1844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 */
1854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  unsigned short headerSize;
1864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	/**
1874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 * The version of the file format.
1884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 */
1894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  unsigned short version;
1904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	/**
1914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 * The size of the payload in bytes.
1924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 */
1934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  unsigned long  nBytes;
1944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	/**
1954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 * The number of parameters per frame.
1964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 */
1974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  unsigned short nParametersPerFrame;
1984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	/**
1994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 * 0=unknown, 1=none, 2=amp-based, 3=harmonicity-based, 4=mrec style
2004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 */
2014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  unsigned short channelNormalization;
2024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
2034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 * 0=unknown, 1=no, 2=yes
2044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 */
2054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  unsigned short speakerNormalization;
2064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
2074a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 * 0=unknown, 1=no, 2=yes
2084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 */
2094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  unsigned short imeldaization;
2104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	/**
2114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 * Before imelda truncation.
2124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 */
2134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  unsigned short nOriginalParameters;
2144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	/**
2154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 * The number of samples per frame.
2164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 */
2174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  unsigned short samplesPerFrame;
2184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	/**
2194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 * The audio sample rate.
2204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 */
2214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  unsigned long  sampleRate;
2224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	/**
2234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 * not used in version 5.
2244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project	 */
2254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  unsigned long  checksum;
2264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project}
2274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectUttHeader;
2284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
2294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint    update_utb_header(file_utterance_info *utt, int frames, int samplerate,
2304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                         int framerate);
2314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectvoid    init_utt_v5_header(UttHeader *uhead, int dim, int samplerate, int framerate);
2324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint init_data_file(char *filename, file_utterance_info *utt, int dimen,
2334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                   char typ, int endian, int do_skip);
2344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint new_data_file(char *filename, file_utterance_info *utt, int dimen,
2354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                  char typ, int endian);
2364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint set_data_frame(file_utterance_info *utt, long begin);
2374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint buffer_data_frames(file_utterance_info *utt, long f_begin, long f_end);
2384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectvoid more_data_frames(file_utterance_info *utt);
2394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint save_data_frames(file_utterance_info *utt);
2404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectvoid close_data_stream(file_utterance_info *utt);
2414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint init_utb_file(file_utterance_info *utt, annotate **table);
2424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint position_utb_file(file_utterance_info *utt, long position, annotate *table);
2434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint load_utb_data(file_utterance_info *utt, int num_frames, int do_skip);
2444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint load_short_data(file_utterance_info *utt, int num_frames, int do_skip);
2454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint save_utb_data(file_utterance_info *utt, int num_frames);
2464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint save_short_data(file_utterance_info *utt, int num_frames);
2474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint read_utt_head(UttHeader *head, PFile* datafile);
2484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint write_utt_head(UttHeader *head, PFile* datafile);
2494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint check_for_utb(char* filename);
2504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
2514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/*  TCP reading routines
2524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project*/
2534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint     read_tcp(char *filename, annotate **tag_base);
2544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint     read_lst(char *filename, annotate *tag_base, int ntags);
2554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint     read_utb_table(char *filename, annotate **tag_base);
2564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectvoid    save_tcp(char *tcpnam, annotate *tag, int ntags);
2574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectvoid compose_tcp_name_of_utt(char* uttname , char* tcpname);
2584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
2594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#endif
2604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
2614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectvoid init_utterance(utterance_info *utt, int utt_type, int dimen,
2624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                    int buffer_size, int keep_frames, int num_chan, int do_voicing);
2634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectvoid set_voicing_durations(utterance_info *utt, int voice_duration,
2644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                           int quiet_duration, int unsure_duration,
2654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                           int start_windback);
2664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectvoid free_utterance(utterance_info *utt);
2674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint utterance_started(utterance_info *utt);
2684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint utterance_ended(utterance_info *utt);
2694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint load_utterance_frame(utterance_info *utt, unsigned char* pUttFrame, int voicing);
2704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint copy_utterance_frame(utterance_info *oututt, utterance_info *inutt);
2714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
2724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#endif /* _h_utteranc_ */
273