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